summaryrefslogtreecommitdiff
path: root/source/slang/lower-to-ir.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2017-11-01 13:16:26 -0400
committerYong He <yonghe@outlook.com>2017-11-01 13:16:26 -0400
commit134354c68768c0e3530c02678e12cb02f5646e8a (patch)
tree20a9ae10db6790ddc5032315b85efd94fc672cff /source/slang/lower-to-ir.cpp
parentb623864fe609e6912cdd2e350aa70cf7e441e1d3 (diff)
Adding support for associated types.
Diffstat (limited to 'source/slang/lower-to-ir.cpp')
-rw-r--r--source/slang/lower-to-ir.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/slang/lower-to-ir.cpp b/source/slang/lower-to-ir.cpp
index 93b84ad31..998197279 100644
--- a/source/slang/lower-to-ir.cpp
+++ b/source/slang/lower-to-ir.cpp
@@ -2062,6 +2062,11 @@ struct DeclLoweringVisitor : DeclVisitor<DeclLoweringVisitor, LoweredValInfo>
SLANG_UNIMPLEMENTED_X("decl catch-all");
}
+ LoweredValInfo visitTypeDefDecl(TypeDefDecl * decl)
+ {
+ return LoweredValInfo::simple(context->irBuilder->getTypeVal(decl->type.type));
+ }
+
LoweredValInfo visitGenericTypeParamDecl(GenericTypeParamDecl* decl)
{
return LoweredValInfo();
@@ -2307,7 +2312,8 @@ struct DeclLoweringVisitor : DeclVisitor<DeclLoweringVisitor, LoweredValInfo>
// For now, we don't have an IR-level representation
// for the type itself.
- return LoweredValInfo();
+ return LoweredValInfo::simple(context->irBuilder->getTypeVal(DeclRefType::Create(context->getSession(),
+ DeclRef<Decl>(decl, nullptr))));
}