From 4b284daeb0cc3f6df0835befad4326c81abeb374 Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 9 Jan 2018 13:26:42 -0800 Subject: Support nested generics fixes #362 --- source/slang/ir.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source/slang/ir.h') diff --git a/source/slang/ir.h b/source/slang/ir.h index c56f8fb62..fe6fab5f6 100644 --- a/source/slang/ir.h +++ b/source/slang/ir.h @@ -438,7 +438,15 @@ struct IRFunc : IRGlobalValueWithCode // If this function is generic, then we store a reference // to the AST-level generic that defines its parameters // and their constraints. - RefPtr genericDecl; + List> genericDecls; + int specializedGenericLevel = -1; + + GenericDecl* getGenericDecl() + { + if (specializedGenericLevel != -1) + return genericDecls[specializedGenericLevel].Ptr(); + return nullptr; + } // Convenience accessors for working with the // function's type. -- cgit v1.2.3