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.internal.elaboration.utils.ExpressionDecorator;
+import org.simantics.scl.compiler.errors.Locations;
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 updateType.");
}
- @Override
- final public Expression decorate(ExpressionDecorator decorator) {
- throw new InternalCompilerError(getClass().getSimpleName() + " does not support decorate.");
- }
-
@Override
final public void collectEffects(THashSet<Type> effects) {
throw new InternalCompilerError(getClass().getSimpleName() + " does not support collectEffects.");
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 " +
}
@Override
- public void forVariables(VariableProcedure procedure) {
- throw new InternalCompilerError("Class " +
- getClass().getSimpleName() + " does not implement method forVariables.");
+ public void setLocationDeep(long loc) {
+ if(location == Locations.NO_LOCATION)
+ location = loc;
}
}