package org.simantics.scl.compiler.elaboration.expressions;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Set;
import org.simantics.scl.compiler.compilation.CompilationContext;
import org.simantics.scl.compiler.constants.Constant;
import org.simantics.scl.compiler.types.exceptions.MatchException;
import org.simantics.scl.compiler.types.util.TypeUnparsingContext;
-import gnu.trove.map.hash.TObjectIntHashMap;
-import gnu.trove.set.hash.THashSet;
-import gnu.trove.set.hash.TIntHashSet;
-
public class ELiteral extends Expression {
Constant value;
public Constant getValue() {
return value;
}
-
+
@Override
- public void collectVars(TObjectIntHashMap<Variable> allVars,
- TIntHashSet vars) {
+ public Set<Variable> getFreeVariables() {
+ return Collections.emptySet();
}
public void toString(StringBuilder b, TypeUnparsingContext tuc) {
return value;
}
- @Override
- public void collectFreeVariables(THashSet<Variable> vars) {
- }
-
-
@Override
public Expression simplify(SimplificationContext context) {
return this;
return new ELiteral(value);
}
- @Override
- public void removeFreeVariables(THashSet<Variable> vars) {
- }
-
@Override
public IExpression toIExpression(ExpressionInterpretationContext target) {
return new IConstant(value.realizeValue(target.localClassBuilder));