X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2Fblock%2FCHRStatement.java;fp=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2Fblock%2FCHRStatement.java;h=20078e6569188b1fc2f1793c7b7cfdbbd22c729a;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hp=0000000000000000000000000000000000000000;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/CHRStatement.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/CHRStatement.java new file mode 100644 index 000000000..20078e656 --- /dev/null +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/CHRStatement.java @@ -0,0 +1,55 @@ +package org.simantics.scl.compiler.elaboration.expressions.block; + +import org.simantics.scl.compiler.elaboration.contexts.EnvironmentalContext; +import org.simantics.scl.compiler.elaboration.contexts.TranslationContext; +import org.simantics.scl.compiler.elaboration.expressions.Expression; +import org.simantics.scl.compiler.elaboration.expressions.list.ListQualifier; +import org.simantics.scl.compiler.errors.Locations; + +public class CHRStatement extends Statement { + + public ListQualifier[] head; + public ListQualifier[] body; + + public CHRStatement(ListQualifier[] head, ListQualifier[] body) { + this.head = head; + this.body = body; + } + + @Override + public Expression toExpression(EnvironmentalContext context, boolean monadic, Expression in) { + throw new UnsupportedOperationException(); + } + + @Override + public void setLocationDeep(long loc) { + if(location == Locations.NO_LOCATION) { + location = loc; + for(ListQualifier lq : head) + lq.setLocationDeep(loc); + for(ListQualifier lq : body) + lq.setLocationDeep(loc); + } + } + + @Override + public void resolvePattern(TranslationContext context) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean mayBeRecursive() { + return true; + } + + @Override + public void accept(StatementVisitor visitor) { + throw new UnsupportedOperationException(); + } + + @Override + public StatementGroup getStatementGroup() { + return StatementGroup.CHR; + } + +}