These may arise if e.g. an uint constant is initialized with an integer
literal.
}
}
+void TypeComparer::visit(FunctionCall &call)
+{
+ if(FunctionCall *call1 = multi_visit(call))
+ {
+ if(!call1->constructor || !call.constructor)
+ r_result = false;
+ else if(call1->name!=call.name)
+ r_result = false;
+ else if(call1->arguments.size()!=call.arguments.size())
+ r_result = false;
+ else
+ {
+ r_result = true;
+ for(unsigned i=0; (r_result && i<call.arguments.size()); ++i)
+ compare(*call1->arguments[i], *call.arguments[i]);
+ }
+ }
+}
+
void TypeComparer::visit(BasicTypeDeclaration &basic)
{
if(BasicTypeDeclaration *basic1 = multi_visit(basic))
virtual void visit(UnaryExpression &);
virtual void visit(BinaryExpression &);
virtual void visit(TernaryExpression &);
+ virtual void visit(FunctionCall &);
virtual void visit(BasicTypeDeclaration &);
virtual void visit(ImageTypeDeclaration &);
virtual void visit(StructDeclaration &);