private:
static Compatibility get_compatibility(BasicTypeDeclaration &, BasicTypeDeclaration &);
- BasicTypeDeclaration *find_type(BasicTypeDeclaration::Kind, unsigned);
+ BasicTypeDeclaration *find_type(BasicTypeDeclaration::Kind, unsigned, bool = true);
BasicTypeDeclaration *find_type(BasicTypeDeclaration &, BasicTypeDeclaration::Kind, unsigned);
void convert_to(RefPtr<Expression> &, BasicTypeDeclaration &);
bool convert_to_element(RefPtr<Expression> &, BasicTypeDeclaration &);
bool apply(Stage &);
private:
+ static bool can_convert_arguments(const FunctionCall &, const FunctionDeclaration &);
+
virtual void visit(FunctionCall &);
virtual void visit(FunctionDeclaration &);
};