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

Function GetFunctionFlags

internal/ast/functionflags.go:13–37  ·  view source on GitHub ↗
(node *Node)

Source from the content-addressed store, hash-verified

11)
12
13func GetFunctionFlags(node *Node) FunctionFlags {
14 if node == nil {
15 return FunctionFlagsInvalid
16 }
17 data := node.BodyData()
18 if data == nil {
19 return FunctionFlagsInvalid
20 }
21 flags := FunctionFlagsNormal
22 switch node.Kind {
23 case KindFunctionDeclaration, KindFunctionExpression, KindMethodDeclaration:
24 if data.AsteriskToken != nil {
25 flags |= FunctionFlagsGenerator
26 }
27 fallthrough
28 case KindArrowFunction:
29 if HasSyntacticModifier(node, ModifierFlagsAsync) {
30 flags |= FunctionFlagsAsync
31 }
32 }
33 if data.Body == nil {
34 flags |= FunctionFlagsInvalid
35 }
36 return flags
37}

Calls 2

HasSyntacticModifierFunction · 0.85
BodyDataMethod · 0.65

Tested by

no test coverage detected