import org.simantics.scl.compiler.types.Types;
import org.simantics.scl.compiler.types.kinds.Kinds;
-import gnu.trove.map.hash.TObjectIntHashMap;
-import gnu.trove.set.hash.TIntHashSet;
-
public class ListGenerator extends ListQualifier {
public Expression pattern;
public Expression value;
@Override
public void checkType(TypingContext context) {
TMetaVar componentType = Types.metaVar(Kinds.STAR);
- value.checkType(context, Types.apply(Types.LIST, componentType));
- pattern.checkTypeAsPattern(context, componentType);
- }
-
- @Override
- public void collectVars(TObjectIntHashMap<Variable> allVars,
- TIntHashSet vars) {
- value.collectVars(allVars, vars);
+ value = value.checkType(context, Types.apply(Types.LIST, componentType));
+ pattern = pattern.checkTypeAsPattern(context, componentType);
}
@Override