aboutsummaryrefslogtreecommitdiffstats
path: root/Types.h
diff options
context:
space:
mode:
Diffstat (limited to 'Types.h')
-rw-r--r--Types.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/Types.h b/Types.h
index 6cef8d64..5dd742ad 100644
--- a/Types.h
+++ b/Types.h
@@ -77,7 +77,7 @@ public:
enum class Category
{
Integer, IntegerConstant, Bool, Real, Array,
- String, Contract, Struct, Function, Enum,
+ String, Contract, Struct, Function, OverloadedFunctions, Enum,
Mapping, Void, TypeType, Modifier, Magic
};
@@ -524,6 +524,19 @@ private:
Declaration const* m_declaration = nullptr;
};
+class OverloadedFunctionType: public Type
+{
+public:
+ explicit OverloadedFunctionType(std::set<Declaration const*> const& _overloadedDeclarations, Identifier* _identifier):
+ m_overloadedDeclarations(_overloadedDeclarations), m_identifier(_identifier) {}
+ virtual Category getCategory() const override { return Category::OverloadedFunctions; }
+ virtual std::string toString() const override { return "OverloadedFunctions"; }
+
+// private:
+ std::set<Declaration const*> m_overloadedDeclarations;
+ Identifier * m_identifier;
+};
+
/**
* The type of a mapping, there is one distinct type per key/value type pair.
*/