diff options
| author | Yong He <yonghe@outlook.com> | 2017-11-01 13:16:26 -0400 |
|---|---|---|
| committer | Yong He <yonghe@outlook.com> | 2017-11-01 13:16:26 -0400 |
| commit | 134354c68768c0e3530c02678e12cb02f5646e8a (patch) | |
| tree | 20a9ae10db6790ddc5032315b85efd94fc672cff /source/slang/ir.cpp | |
| parent | b623864fe609e6912cdd2e350aa70cf7e441e1d3 (diff) | |
Adding support for associated types.
Diffstat (limited to 'source/slang/ir.cpp')
| -rw-r--r-- | source/slang/ir.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/slang/ir.cpp b/source/slang/ir.cpp index 5cc73a36b..84ab3d9a5 100644 --- a/source/slang/ir.cpp +++ b/source/slang/ir.cpp @@ -562,6 +562,16 @@ namespace Slang return irValue; } + IRValue * IRBuilder::getTypeVal(IRType * type) + { + auto irValue = createValue<IRDeclRef>( + this, + kIROp_TypeType, + nullptr); + irValue->type = type; + return irValue; + } + IRValue* IRBuilder::emitSpecializeInst( Type* type, IRValue* genericVal, @@ -3061,7 +3071,12 @@ namespace Slang return builder->getDeclRefVal(declRef); } break; - + case kIROp_TypeType: + { + IRValue* od = (IRValue*)originalValue; + return builder->getTypeVal(od->type); + } + break; default: SLANG_UNEXPECTED("no value registered for IR value"); return nullptr; |
