private static void initUnionType(AUnionType result) { result.setSetDone(false); result.setSeqDone(false); result.setMapDone(false); result.setRecDone(false); result.setNumDone(false); result.setFuncDone(false); result.setOpDone(false); result.setClassDone(false); result.setProdCard(-1); result.setExpanded(false); }
/** * Creates a new tree field only constructor {@code AUnionType TAG=union} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param infinite_ the {@link Boolean} node for the {@code infinite} child of this {@link AUnionType} node * @param expanded_ the {@link Boolean} node for the {@code expanded} child of this {@link AUnionType} node */ public AUnionType(ILexLocation location_, Boolean resolved_, Boolean infinite_, Boolean expanded_) { super(location_,resolved_,null); this.setInfinite(infinite_); this.setExpanded(expanded_); this.setSeqDone(false); this.setSetDone(false); this.setMapDone(false); this.setProdCard(0); this.setFuncDone(false); this.setOpDone(false); this.setNumDone(false); this.setRecDone(false); this.setClassDone(false); }
@Override public SNumericBasicType caseAUnionType(AUnionType type) throws AnalysisException { if (!type.getNumDone()) { type.setNumDone(true); type.setNumType(AstFactory.newANatNumericBasicType(type.getLocation())); // lightest default boolean found = false; for (PType t : type.getTypes()) { if (af.createPTypeAssistant().isNumeric(t)) { SNumericBasicType nt = af.createPTypeAssistant().getNumeric(t); if (af.createSNumericBasicTypeAssistant().getWeight(nt) > af.createSNumericBasicTypeAssistant().getWeight(type.getNumType())) { type.setNumType(nt); } found = true; } } if (!found) { type.setNumType(null); } } return type.getNumType(); }
public SNumericBasicType getNumeric(AUnionType type) { if (!type.getNumDone()) { type.setNumDone(true); type.setNumType(AstFactory.newANatNumericBasicType(type.getLocation())); // lightest default boolean found = false; for (PType t : type.getTypes()) { if (af.createPTypeAssistant().isNumeric(t)) { SNumericBasicType nt = af.createPTypeAssistant().getNumeric(t); if (af.createSNumericBasicTypeAssistant().getWeight(nt) > af.createSNumericBasicTypeAssistant().getWeight(type.getNumType())) { type.setNumType(nt); } found = true; } } if (!found) { type.setNumType(null); } } return type.getNumType(); }
this.setOpDone(opDone_); this.setOpType(opType_); this.setNumDone(numDone_); this.setNumType(numType_); this.setRecDone(recDone_);