package org.simantics.scl.compiler.elaboration.expressions;\r
\r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-import gnu.trove.set.hash.THashSet;\r
-import gnu.trove.set.hash.TIntHashSet;\r
-\r
import java.util.ArrayList;\r
\r
import org.simantics.scl.compiler.common.names.Name;\r
import org.simantics.scl.compiler.types.util.MultiFunction;\r
import org.simantics.scl.compiler.types.util.TypeUnparsingContext;\r
\r
+import gnu.trove.map.hash.TObjectIntHashMap;\r
+import gnu.trove.set.hash.THashSet;\r
+import gnu.trove.set.hash.TIntHashSet;\r
+\r
public class EConstant extends Expression {\r
SCLValue value;\r
Type[] typeParameters;\r
return this;\r
}\r
else\r
- return this;\r
+ return applyPUnit(context.getCompilationContext());\r
}\r
\r
@Override\r
return transformer.transform(this);\r
}\r
\r
+ @Override\r
+ public boolean equalsExpression(Expression expression) {\r
+ if(expression.getClass() != getClass())\r
+ return false;\r
+ EConstant other = (EConstant)expression;\r
+ return value == other.value && Types.equals(typeParameters, other.typeParameters);\r
+ }\r
}\r