| 1139 | } |
| 1140 | |
| 1141 | ASTNode* NewVarDeclaration( ParserState& state, const Type& type, const InlineString& name ) |
| 1142 | { |
| 1143 | auto nameDecl = state.NewNode( NT_NAME_DECLARATION ); |
| 1144 | auto nameSymbol = state.GetSymbolTable().AddSymbol( name ? name : state.AllocateName() ); |
| 1145 | nameDecl->SetSymbol( nameSymbol ); |
| 1146 | |
| 1147 | nameSymbol->type = type; |
| 1148 | nameSymbol->definition = nameDecl; |
| 1149 | nameDecl->SetType( nameSymbol->type ); |
| 1150 | |
| 1151 | auto declList = state.NewNode( NT_VAR_DECLARATION_LIST ); |
| 1152 | declList->AddChild( nameDecl ); |
| 1153 | declList->SetType( nameSymbol->type ); |
| 1154 | return declList; |
| 1155 | } |
| 1156 | |
| 1157 | ASTNode* NewVarDeclaration( ParserState& state, Symbol* symbol, ASTNode* initializer ) |
| 1158 | { |