X-Git-Url: https://gitweb.ps.run/toc/blobdiff_plain/7f83e1b208e87e3808b268303bb633a8fda203f5..3715a3f575b615f66e8ea7e57f83849e8bae4deb:/src/repr.h?ds=sidebyside diff --git a/src/repr.h b/src/repr.h index fc77d92..ff54f97 100644 --- a/src/repr.h +++ b/src/repr.h @@ -61,6 +61,7 @@ struct Type std::vector namespacePrefixes; std::string name; std::vector modifiers; + std::vector genericInstantiation; }; struct Variable @@ -77,9 +78,14 @@ struct Body struct Function { - Type returnType; std::string name; + Type returnType; std::vector parameters; + bool defined; + + std::vector genericTypeNames; + std::vector> genericInstantiations; + Body body; }; @@ -94,6 +100,8 @@ struct StructMember struct Struct { std::string name; + std::vector genericTypeNames; + std::vector> genericInstantiations; std::vector> members; std::vector> methods; }; @@ -125,6 +133,7 @@ struct FuncExpr std::vector namespacePrefixes; std::string functionName; std::vector arguments; + std::vector genericInstantiation; }; struct MethodExpr @@ -132,6 +141,7 @@ struct MethodExpr std::shared_ptr expr; std::string methodName; std::vector arguments; + std::vector genericInstantiation; }; enum class LitType @@ -156,6 +166,7 @@ struct ParenExpr struct DotExpr { + bool isPointer; std::shared_ptr expr; std::string identifier; };