ParsedCode Parser::buildShader(TIntermAggregate* f) { cur.pos = f->getLine().first_line; cur.args.clear(); cur.exprs.clear(); Position pos = f->getLine().first_line; TIntermSequence& sequence = f->getSequence(); TIntermSequence& arguments = sequence[0]->getAsAggregate()->getSequence(); for (auto it = arguments.begin(); it != arguments.end(); ++it) { TIntermSymbol* symbol = (*it)->getAsSymbolNode(); //if (symbol->getType().getStruct()) { // addConstructor(symbol->getType(), scopedStruct(symbol->getType().getTypeName()), NULL); //} cur.args.push_back(allocVar(symbol->getQualifierString(), symbol->getTypePointer(), VUnknown, pos)); } parseExpr(sequence[1]->getAsAggregate()->getSequence()); return cur; }