@Override public List<PDefinition> caseAStateDefinition(AStateDefinition node) throws AnalysisException { return node.getStateDefs(); }
@Override public void caseAStateDefinition(AStateDefinition node) throws AnalysisException { af.createPDefinitionListAssistant().unusedCheck(node.getStateDefs()); }
@Override public LexNameList caseAStateDefinition(AStateDefinition node) throws AnalysisException { return af.createPDefinitionListAssistant().getVariableNames(node.getStateDefs()); }
fieldDefs.addAll(findFieldDefs(stateDef.getStateDefs(), stateDef.getFields()));
private List<AInstanceVariableDefinition> getStateVars( SOperationDefinitionBase calledOp) { List<PDefinition> defs; if (calledOp.getClassDefinition() != null) { defs = calledOp.getClassDefinition().getDefinitions(); } else { if (calledOp.getState() != null) { defs = calledOp.getState().getStateDefs(); } else { return new LinkedList<AInstanceVariableDefinition>(); } } List<AInstanceVariableDefinition> r = new LinkedList<AInstanceVariableDefinition>(); for (PDefinition p : defs) { if (p instanceof AInstanceVariableDefinition) { r.add((AInstanceVariableDefinition) p); } } return r; }
protected List<AInstanceVariableDefinition> collectState( AExplicitOperationDefinition node) throws AnalysisException { List<AInstanceVariableDefinition> r = new LinkedList<AInstanceVariableDefinition>(); List<PDefinition> stateDefs; if (node.getClassDefinition() != null) { stateDefs = node.getClassDefinition().getDefinitions(); } else { if (node.getState() != null) { stateDefs = node.getState().getStateDefs(); } else { return r; } } for (PDefinition d : stateDefs) { if (d instanceof AInstanceVariableDefinition) { r.add((AInstanceVariableDefinition) d); } } return r; }
for (PDefinition d : node.getStateDefs())
List<PDefinition> copy = new ArrayList<PDefinition>(node.getStateDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getStateDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getStateDefs()); for( PDefinition e : copy)
List<PDefinition> copy = new ArrayList<PDefinition>(node.getStateDefs()); for( PDefinition e : copy)
@Override public PType caseAStateDefinition(AStateDefinition node, TypeCheckInfo question) throws AnalysisException { Environment base = question.env; if (base.findStateDefinition() != node) { TypeCheckerErrors.report(3047, "Only one state definition allowed per module", node.getLocation(), node); return null; } for (PDefinition def : node.getStateDefs()) { if (!def.getName().getOld()) // Don't check old names { question.assistantFactory.getTypeComparator().checkComposeTypes(def.getType(), question.env, false); } } question.assistantFactory.createPDefinitionListAssistant().typeCheck(node.getStateDefs(), THIS, question); if (node.getInvdef() != null) { node.getInvdef().apply(THIS, question); question.assistantFactory.createPPatternAssistant().typeResolve(node.getInvPattern(), THIS, question); } if (node.getInitdef() != null) { node.getInitdef().apply(THIS, question); question.assistantFactory.createPPatternAssistant().typeResolve(node.getInitPattern(), THIS, question); } return null; }
List<PDefinition> copy = new ArrayList<PDefinition>(node.getStateDefs()); for( PDefinition e : copy)