aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-11-19 12:05:47 +0000
committerMichael Williamson <mike@zwobble.org>2023-11-19 12:05:47 +0000
commit090e353e9682024803747174241baf46b566b949 (patch)
tree9d48f15c2c6d00b00449087db808add8570e07ac /src/main/java
parent4442967b63bbd8fb6be62e5fc3a3e24c4d33dd40 (diff)
Add accessor for user defined effect infos
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
index 85efa16b..fd45f29d 100644
--- a/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
+++ b/src/main/java/org/shedlang/compiler/patio/PatioCodeGenContext.java
@@ -88,6 +88,12 @@ public record PatioCodeGenContext(
}
}
+ public UserDefinedEffectInfo userDefinedEffectInfo(UserDefinedEffect effect) {
+ return typeInfos.userDefinedEffectInfo(effect)
+ // TODO: throw better error
+ .orElseThrow(() -> new RuntimeException("No effect info for: " + effect));
+ }
+
public int effectTag(UserDefinedEffect effect) {
var tag = this.effectTags.get(effect);
if (tag == null) {
@@ -307,6 +313,10 @@ public record PatioCodeGenContext(
return globalContext.structTag(type);
}
+ public UserDefinedEffectInfo userDefinedEffectInfo(UserDefinedEffect effect) {
+ return this.globalContext.userDefinedEffectInfo(effect);
+ }
+
public int effectTag(UserDefinedEffect effect) {
return globalContext.effectTag(effect);
}