From b9322dfb8efe37f6f88a899269bdf21015f4db9a Mon Sep 17 00:00:00 2001 From: Patrick Schönberger Date: Wed, 4 Aug 2021 21:44:26 +0200 Subject: generic functions and structs --- src/repr.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/repr.h') diff --git a/src/repr.h b/src/repr.h index f12b0da..b30aecd 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,8 +78,10 @@ struct Body struct Function { - Type returnType; std::string name; + std::vector genericTypeNames; + std::vector> genericInstantiations; + Type returnType; std::vector parameters; bool defined; Body body; @@ -95,6 +98,8 @@ struct StructMember struct Struct { std::string name; + std::vector genericTypeNames; + std::vector> genericInstantiations; std::vector> members; std::vector> methods; }; @@ -126,6 +131,7 @@ struct FuncExpr std::vector namespacePrefixes; std::string functionName; std::vector arguments; + std::vector genericInstantiation; }; struct MethodExpr @@ -133,6 +139,7 @@ struct MethodExpr std::shared_ptr expr; std::string methodName; std::vector arguments; + std::vector genericInstantiation; }; enum class LitType @@ -157,6 +164,7 @@ struct ParenExpr struct DotExpr { + bool isPointer; std::shared_ptr expr; std::string identifier; }; -- cgit v1.2.3