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%2FASTExpression.java;h=02db9bdec3356e18d151a92bc342acefa8cc8831;hp=fbc0a79014dcb107c3b17842ef5bbb06fddaac8b;hb=292e64ba21f8044df19884dc3e61fe5e292a82df;hpb=e81aaf01a022b7f9fd54924f843a8f8594682126 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ASTExpression.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ASTExpression.java index fbc0a7901..02db9bdec 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ASTExpression.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/ASTExpression.java @@ -3,6 +3,7 @@ package org.simantics.scl.compiler.elaboration.expressions; import org.simantics.scl.compiler.common.exceptions.InternalCompilerError; import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext; import org.simantics.scl.compiler.elaboration.contexts.TypingContext; +import org.simantics.scl.compiler.errors.Locations; import org.simantics.scl.compiler.internal.elaboration.utils.ExpressionDecorator; import org.simantics.scl.compiler.types.Type; import org.simantics.scl.compiler.types.exceptions.MatchException; @@ -23,7 +24,6 @@ public abstract class ASTExpression extends SimplifiableExpression { @Override final public void collectFreeVariables(THashSet vars) { throw new InternalCompilerError(getClass().getSimpleName() + " does not support collectFreeVariables."); - } @Override @@ -58,6 +58,11 @@ public abstract class ASTExpression extends SimplifiableExpression { throw new InternalCompilerError(getClass().getSimpleName() + " does not support accept."); } + @Override + public Expression accept(ExpressionTransformer transformer) { + throw new InternalCompilerError(getClass().getSimpleName() + " does not support accept."); + } + @Override public Expression checkBasicType(TypingContext context, Type requiredType) { throw new InternalCompilerError("Class " + @@ -75,4 +80,10 @@ public abstract class ASTExpression extends SimplifiableExpression { throw new InternalCompilerError("Class " + getClass().getSimpleName() + " does not implement method forVariables."); } + + @Override + public void setLocationDeep(long loc) { + if(location == Locations.NO_LOCATION) + location = loc; + } }