X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fexpressions%2Fblock%2FConstraintStatement.java;h=6ff4c487791176278b66171213756073460e6f27;hp=54437c9bac77f83fe7ae3c1b334ed0e59a72969a;hb=82a87b8535628d47d9c381e1a3a2296fb67c7fd0;hpb=ca40974f87c9db00eb77aaf1acc1e9937b37261b diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/ConstraintStatement.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/ConstraintStatement.java index 54437c9ba..6ff4c4877 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/ConstraintStatement.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/block/ConstraintStatement.java @@ -1,54 +1,59 @@ -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.errors.Locations; -import org.simantics.scl.compiler.internal.parsing.Token; -import org.simantics.scl.compiler.internal.parsing.types.TypeAst; - -public class ConstraintStatement extends Statement { - - public Token name; - public TypeAst[] parameterTypes; - - public ConstraintStatement(Token name, TypeAst[] parameterTypes) { - this.name = name; - this.parameterTypes = parameterTypes; - } - - @Override - public void setLocationDeep(long loc) { - if(location == Locations.NO_LOCATION) { - location = loc; - for(TypeAst parameterType : parameterTypes) - if(parameterType.location == Locations.NO_LOCATION) - parameterType.location = location; - } - } - - @Override - public Expression toExpression(EnvironmentalContext context, boolean monadic, Expression in) { - throw new UnsupportedOperationException(); - } - - @Override - public void resolvePattern(TranslationContext context) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean mayBeRecursive() { - throw new UnsupportedOperationException(); - } - - @Override - public void accept(StatementVisitor visitor) { - throw new UnsupportedOperationException(); - } - - @Override - public StatementGroup getStatementGroup() { - return StatementGroup.CHR; - } -} +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.errors.Locations; +import org.simantics.scl.compiler.internal.parsing.Token; +import org.simantics.scl.compiler.internal.parsing.declarations.DAnnotationAst; +import org.simantics.scl.compiler.internal.parsing.types.TypeAst; + +public class ConstraintStatement extends Statement { + + public Token name; + public TypeAst[] parameterTypes; + public String[] fieldNames; + public DAnnotationAst[] annotations; + + public ConstraintStatement(Token name, TypeAst[] parameterTypes, String[] fieldNames, DAnnotationAst[] annotations) { + this.name = name; + this.parameterTypes = parameterTypes; + this.fieldNames = fieldNames; + this.annotations = annotations; + } + + @Override + public void setLocationDeep(long loc) { + if(location == Locations.NO_LOCATION) { + location = loc; + for(TypeAst parameterType : parameterTypes) + if(parameterType.location == Locations.NO_LOCATION) + parameterType.location = location; + } + } + + @Override + public Expression toExpression(EnvironmentalContext context, BlockType blockType, Expression in) { + throw new UnsupportedOperationException(); + } + + @Override + public void resolvePattern(TranslationContext context) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean mayBeRecursive() { + throw new UnsupportedOperationException(); + } + + @Override + public void accept(StatementVisitor visitor) { + throw new UnsupportedOperationException(); + } + + @Override + public StatementGroup getStatementGroup() { + return StatementGroup.CHR; + } +}