Expression::Expression():
- oper(0)
+ oper(0),
+ type(0),
+ lvalue(false)
{ }
}
+BasicTypeDeclaration::BasicTypeDeclaration():
+ kind(ALIAS),
+ size(0),
+ base_type(0)
+{ }
+
+BasicTypeDeclaration::BasicTypeDeclaration(const BasicTypeDeclaration &other):
+ TypeDeclaration(other),
+ kind(other.kind),
+ size(other.size),
+ base(other.base),
+ base_type(0)
+{ }
+
+void BasicTypeDeclaration::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
+ImageTypeDeclaration::ImageTypeDeclaration():
+ dimensions(TWO),
+ array(false),
+ sampled(true),
+ shadow(false)
+{ }
+
+void ImageTypeDeclaration::visit(NodeVisitor &visitor)
+{
+ visitor.visit(*this);
+}
+
+
StructDeclaration::StructDeclaration()
{
members.use_braces = true;
FunctionDeclaration::FunctionDeclaration():
- definition(0)
+ definition(0),
+ return_type_declaration(0)
{ }
FunctionDeclaration::FunctionDeclaration(const FunctionDeclaration &other):
name(other.name),
parameters(other.parameters),
body(other.body),
- definition(other.definition==&other ? this : 0)
+ definition(other.definition==&other ? this : 0),
+ return_type_declaration(0)
{ }
void FunctionDeclaration::visit(NodeVisitor &visitor)