(predicate *TypePredicate, callExpression *ast.Node)
| 2419 | } |
| 2420 | |
| 2421 | func (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 | |
| 2436 | func (c *Checker) getFlowTypeInConstructor(symbol *ast.Symbol, constructor *ast.Node) *Type { |
| 2437 | var accessName *ast.Node |
no test coverage detected