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

Method getTypeFromTypeNodeWorker

internal/checker/checker.go:22717–22804  ·  view source on GitHub ↗
(node *ast.Node)

Source from the content-addressed store, hash-verified

22715}
22716
22717func (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)

Callers 1

getTypeFromTypeNodeMethod · 0.95

Tested by

no test coverage detected