/** * Returns a deep clone of this {@link ASetEnumSetExp} node. * @return a deep clone of this {@link ASetEnumSetExp} node */ public ASetEnumSetExp clone() { return new ASetEnumSetExp( _type, _location, _setType, cloneList(_members), _types ); }
/** * Creates a deep clone of this {@link ASetEnumSetExp} node while putting all * old node-new node relations in the map {@code oldToNewMap}. * @param oldToNewMap the map filled with the old node-new node relation * @return a deep clone of this {@link ASetEnumSetExp} node */ public ASetEnumSetExp clone(Map<INode,INode> oldToNewMap) { ASetEnumSetExp node = new ASetEnumSetExp( _type, _location, _setType, cloneList(_members, oldToNewMap), _types ); oldToNewMap.put(this, node); return node; }
public static ASetEnumSetExp newASetEnumSetExp(ILexLocation start) { ASetEnumSetExp result = new ASetEnumSetExp(); initExpression(result, start); result.setMembers(new Vector<PExp>()); return result; }
public static ASetEnumSetExp newASetEnumSetExp(ILexLocation start, List<PExp> members) { ASetEnumSetExp result = new ASetEnumSetExp(); initExpression(result, start); result.setMembers(members); return result; }
public PExp caseASetPattern(ASetPattern node) throws AnalysisException { ASetEnumSetExp set = new ASetEnumSetExp(); List<PExp> values = new Vector<PExp>(); for (PPattern p : node.getPlist()) { values.add(p.apply(this).clone()); } set.setMembers(values); return addPossibleType(set, node); }
public NonEmptySetObligation(PExp exp, IPOContextStack ctxt, IPogAssistantFactory af) throws AnalysisException { super(exp, POType.NON_EMPTY_SET, ctxt, exp.getLocation(), af); // exp <> {} ASetEnumSetExp setExp = new ASetEnumSetExp(); setExp.setMembers(new LinkedList<PExp>()); // empty list ANotEqualBinaryExp notEqualsExp = AstExpressionFactory.newANotEqualBinaryExp(exp.clone(), setExp); stitch = notEqualsExp; valuetree.setPredicate(ctxt.getPredWithContext(notEqualsExp)); } }
ASetEnumSetExp setEnumExp = new ASetEnumSetExp(); List<PExp> member = new LinkedList<PExp>(); member.add(mapCompExp.getFirst().clone());
ILexNameToken m2 = getUnique("m"); ASetEnumSetExp setOfMaplets = new ASetEnumSetExp(); SSetType somType = new ASetSetType(); somType.setSetof(mapEnumExp.getType().clone());
ne.setLeft(exp); ne.setOp(new LexKeywordToken(VDMToken.NE, exp.getLocation())); ASetEnumSetExp empty = new ASetEnumSetExp(); empty.setMembers(new Vector<PExp>()); ne.setRight(empty);