(node *ast.Node)
| 22715 | } |
| 22716 | |
| 22717 | func (c *Checker) getTypeFromTypeNodeWorker(node *ast.Node) *Type { |
| 22718 | switch node.Kind { |
| 22719 | case ast.KindAnyKeyword, ast.KindJSDocAllType: |
| 22720 | return c.anyType |
| 22721 | case ast.KindJSDocNonNullableType: |
| 22722 | return c.getTypeFromTypeNode(node.Type()) |
| 22723 | case ast.KindJSDocNullableType: |
| 22724 | t := c.getTypeFromTypeNode(node.Type()) |
| 22725 | if c.strictNullChecks { |
| 22726 | return c.getNullableType(t, TypeFlagsNull) |
| 22727 | } else { |
| 22728 | return t |
| 22729 | } |
| 22730 | case ast.KindJSDocVariadicType: |
| 22731 | return c.createArrayType(c.getTypeFromTypeNode(node.AsJSDocVariadicType().Type)) |
| 22732 | case ast.KindJSDocOptionalType: |
| 22733 | return c.addOptionality(c.getTypeFromTypeNode(node.Type())) |
| 22734 | case ast.KindUnknownKeyword: |
| 22735 | return c.unknownType |
| 22736 | case ast.KindStringKeyword: |
| 22737 | return c.stringType |
| 22738 | case ast.KindNumberKeyword: |
| 22739 | return c.numberType |
| 22740 | case ast.KindBigIntKeyword: |
| 22741 | return c.bigintType |
| 22742 | case ast.KindBooleanKeyword: |
| 22743 | return c.booleanType |
| 22744 | case ast.KindSymbolKeyword: |
| 22745 | return c.esSymbolType |
| 22746 | case ast.KindVoidKeyword: |
| 22747 | return c.voidType |
| 22748 | case ast.KindUndefinedKeyword: |
| 22749 | return c.undefinedType |
| 22750 | case ast.KindNullKeyword: |
| 22751 | return c.nullType |
| 22752 | case ast.KindNeverKeyword: |
| 22753 | return c.neverType |
| 22754 | case ast.KindObjectKeyword: |
| 22755 | return c.nonPrimitiveType |
| 22756 | case ast.KindIntrinsicKeyword: |
| 22757 | return c.intrinsicMarkerType |
| 22758 | case ast.KindThisType, ast.KindThisKeyword: |
| 22759 | return c.getTypeFromThisTypeNode(node) |
| 22760 | case ast.KindLiteralType: |
| 22761 | return c.getTypeFromLiteralTypeNode(node) |
| 22762 | case ast.KindTypeReference, ast.KindExpressionWithTypeArguments: |
| 22763 | return c.getTypeFromTypeReference(node) |
| 22764 | case ast.KindTypePredicate: |
| 22765 | if node.AsTypePredicateNode().AssertsModifier != nil { |
| 22766 | return c.voidType |
| 22767 | } |
| 22768 | return c.booleanType |
| 22769 | case ast.KindTypeQuery: |
| 22770 | return c.getTypeFromTypeQueryNode(node) |
| 22771 | case ast.KindArrayType, ast.KindTupleType: |
| 22772 | return c.getTypeFromArrayOrTupleTypeNode(node) |
| 22773 | case ast.KindOptionalType: |
| 22774 | return c.getTypeFromOptionalTypeNode(node) |
no test coverage detected