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

Method Type

internal/ast/ast.go:628–686  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

626}
627
628func (n *Node) Type() *Node {
629 switch n.Kind {
630 case KindVariableDeclaration:
631 return n.AsVariableDeclaration().Type
632 case KindParameter:
633 return n.AsParameterDeclaration().Type
634 case KindPropertySignature:
635 return n.AsPropertySignatureDeclaration().Type
636 case KindPropertyDeclaration:
637 return n.AsPropertyDeclaration().Type
638 case KindPropertyAssignment:
639 return n.AsPropertyAssignment().Type
640 case KindShorthandPropertyAssignment:
641 return n.AsShorthandPropertyAssignment().Type
642 case KindTypePredicate:
643 return n.AsTypePredicateNode().Type
644 case KindParenthesizedType:
645 return n.AsParenthesizedTypeNode().Type
646 case KindTypeOperator:
647 return n.AsTypeOperatorNode().Type
648 case KindMappedType:
649 return n.AsMappedTypeNode().Type
650 case KindTypeAssertionExpression:
651 return n.AsTypeAssertion().Type
652 case KindAsExpression:
653 return n.AsAsExpression().Type
654 case KindSatisfiesExpression:
655 return n.AsSatisfiesExpression().Type
656 case KindTypeAliasDeclaration, KindJSTypeAliasDeclaration:
657 return n.AsTypeAliasDeclaration().Type
658 case KindNamedTupleMember:
659 return n.AsNamedTupleMember().Type
660 case KindOptionalType:
661 return n.AsOptionalTypeNode().Type
662 case KindRestType:
663 return n.AsRestTypeNode().Type
664 case KindTemplateLiteralTypeSpan:
665 return n.AsTemplateLiteralTypeSpan().Type
666 case KindJSDocTypeExpression:
667 return n.AsJSDocTypeExpression().Type
668 case KindJSDocParameterTag, KindJSDocPropertyTag:
669 return n.AsJSDocParameterOrPropertyTag().TypeExpression
670 case KindJSDocNullableType:
671 return n.AsJSDocNullableType().Type
672 case KindJSDocNonNullableType:
673 return n.AsJSDocNonNullableType().Type
674 case KindJSDocOptionalType:
675 return n.AsJSDocOptionalType().Type
676 case KindExportAssignment:
677 return n.AsExportAssignment().Type
678 case KindBinaryExpression:
679 return n.AsBinaryExpression().Type
680 default:
681 if funcLike := n.FunctionLikeData(); funcLike != nil {
682 return funcLike.Type
683 }
684 }
685 return nil

Calls 15

AsVariableDeclarationMethod · 0.95
AsPropertyDeclarationMethod · 0.95
AsPropertyAssignmentMethod · 0.95
AsTypePredicateNodeMethod · 0.95
AsTypeOperatorNodeMethod · 0.95
AsMappedTypeNodeMethod · 0.95
AsTypeAssertionMethod · 0.95
AsAsExpressionMethod · 0.95

Tested by 4

fillNonZeroValuesFunction · 0.36
TestWrapFunction · 0.36
printFSFunction · 0.36