(node *ast.Node)
| 24091 | } |
| 24092 | |
| 24093 | func (c *Checker) getArrayElementTypeNode(node *ast.Node) *ast.Node { |
| 24094 | switch node.Kind { |
| 24095 | case ast.KindParenthesizedType: |
| 24096 | return c.getArrayElementTypeNode(node.Type()) |
| 24097 | case ast.KindTupleType: |
| 24098 | if len(node.Elements()) == 1 { |
| 24099 | node = node.Elements()[0] |
| 24100 | if node.Kind == ast.KindRestType { |
| 24101 | return c.getArrayElementTypeNode(node.Type()) |
| 24102 | } |
| 24103 | if node.Kind == ast.KindNamedTupleMember && node.AsNamedTupleMember().DotDotDotToken != nil { |
| 24104 | return c.getArrayElementTypeNode(node.Type()) |
| 24105 | } |
| 24106 | } |
| 24107 | case ast.KindArrayType: |
| 24108 | return node.AsArrayTypeNode().ElementType |
| 24109 | } |
| 24110 | return nil |
| 24111 | } |
| 24112 | |
| 24113 | func (c *Checker) getTypeFromOptionalTypeNode(node *ast.Node) *Type { |
| 24114 | return c.addOptionalityEx(c.getTypeFromTypeNode(node.Type()), true /*isProperty*/, true /*isOptional*/) |
no test coverage detected