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%2FConstraintStatement.java;h=4cccf2f46e591df3091a421b424563c3bd6fa17d;hb=fad328317fabf79304a44cbf59068025c650a549;hp=54437c9bac77f83fe7ae3c1b334ed0e59a72969a;hpb=a8758de5bc19e5adb3f618d3038743a164f09912;p=simantics%2Fplatform.git 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..4cccf2f46 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, 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; + } +}