std::vector<std::string> namespacePrefixes;\r
std::string name;\r
std::vector<TypeModifier> modifiers;\r
+ std::vector<Type> genericInstantiation;\r
};\r
\r
struct Variable\r
\r
struct Function\r
{\r
- Type returnType;\r
std::string name;\r
+ Type returnType;\r
std::vector<Variable> parameters;\r
+ bool defined;\r
+\r
+ std::vector<std::string> genericTypeNames;\r
+ std::vector<std::vector<Type>> genericInstantiations;\r
+\r
Body body;\r
};\r
\r
struct Struct\r
{\r
std::string name;\r
+ std::vector<std::string> genericTypeNames;\r
+ std::vector<std::vector<Type>> genericInstantiations;\r
std::vector<StructMember<Variable>> members;\r
std::vector<StructMember<Function>> methods;\r
};\r
std::vector<std::string> namespacePrefixes;\r
std::string functionName;\r
std::vector<Expr> arguments;\r
+ std::vector<Type> genericInstantiation;\r
};\r
\r
struct MethodExpr\r
std::shared_ptr<Expr> expr;\r
std::string methodName;\r
std::vector<Expr> arguments;\r
+ std::vector<Type> genericInstantiation;\r
};\r
\r
enum class LitType\r
\r
struct DotExpr\r
{\r
+ bool isPointer;\r
std::shared_ptr<Expr> expr;\r
std::string identifier;\r
};\r