MemberAccess::MemberAccess():
- declaration(0)
+ declaration(0),
+ index(-1)
{ }
MemberAccess::MemberAccess(const MemberAccess &other):
Expression(other),
left(other.left),
member(other.member),
- declaration(0)
+ declaration(0),
+ index(-1)
{ }
void MemberAccess::visit(NodeVisitor &visitor)
}
}
+int get_layout_value(const Layout &layout, const string &name, int def_value)
+{
+ for(vector<Layout::Qualifier>::const_iterator i=layout.qualifiers.begin(); i!=layout.qualifiers.end(); ++i)
+ if(i->name==name)
+ return i->value;
+ return def_value;
+}
+
+void add_to_chain(Assignment::Target &target, Assignment::Target::ChainType type, unsigned index)
+{
+ if(target.chain_len<7)
+ target.chain[target.chain_len] = type | min<unsigned>(index, 0x3F);
+ ++target.chain_len;
+}
+
} // namespace SL
} // namespace GL
} // namespace Msp