MCPcopy Create free account
hub / github.com/carbonengine/trinity / NewVarDeclaration

Function NewVarDeclaration

shadercompiler/ParserUtils.cpp:1141–1155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1139}
1140
1141ASTNode* 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
1157ASTNode* NewVarDeclaration( ParserState& state, Symbol* symbol, ASTNode* initializer )
1158{

Callers 2

PatchShaderFunction · 0.85
PatchRtShaderFunction · 0.85

Calls 6

NewNodeMethod · 0.80
AddSymbolMethod · 0.80
AllocateNameMethod · 0.80
SetSymbolMethod · 0.80
AddChildMethod · 0.80
SetTypeMethod · 0.45

Tested by

no test coverage detected