MCPcopy Create free account
hub / github.com/microsoft/typescript-go / getTypePredicateArgument

Method getTypePredicateArgument

internal/checker/flow.go:2421–2434  ·  view source on GitHub ↗
(predicate *TypePredicate, callExpression *ast.Node)

Source from the content-addressed store, hash-verified

2419}
2420
2421func (c *Checker) getTypePredicateArgument(predicate *TypePredicate, callExpression *ast.Node) *ast.Node {
2422 if predicate.kind == TypePredicateKindIdentifier || predicate.kind == TypePredicateKindAssertsIdentifier {
2423 arguments := callExpression.Arguments()
2424 if predicate.parameterIndex >= 0 && int(predicate.parameterIndex) < len(arguments) {
2425 return arguments[predicate.parameterIndex]
2426 }
2427 } else {
2428 invokedExpression := ast.SkipParentheses(callExpression.Expression())
2429 if ast.IsAccessExpression(invokedExpression) {
2430 return ast.SkipParentheses(invokedExpression.Expression())
2431 }
2432 }
2433 return nil
2434}
2435
2436func (c *Checker) getFlowTypeInConstructor(symbol *ast.Symbol, constructor *ast.Node) *Type {
2437 var accessName *ast.Node

Callers 1

Calls 6

SkipParenthesesFunction · 0.92
IsAccessExpressionFunction · 0.92
lenFunction · 0.85
ArgumentsMethod · 0.80
ExpressionMethod · 0.80
intInterface · 0.50

Tested by

no test coverage detected