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;
@Override
final public void collectFreeVariables(THashSet<Variable> vars) {
throw new InternalCompilerError(getClass().getSimpleName() + " does not support collectFreeVariables.");
-
}
@Override
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 " +
throw new InternalCompilerError("Class " +
getClass().getSimpleName() + " does not implement method forVariables.");
}
+
+ @Override
+ public void setLocationDeep(long loc) {
+ if(location == Locations.NO_LOCATION)
+ location = loc;
+ }
}