public String toString() { return "" + ""+(_readOnly ? "ext rd " : "ext wr ")+_state.getName(); }
public static AImportedDefinition newAImportedDefinition( ILexLocation location, PDefinition d) { AImportedDefinition result = new AImportedDefinition(); initDefinition(result, Pass.DEFS, location, d.getName(), d.getNameScope()); result.setDef(d); return result; }
public void removeLocalDefFromScope(PDefinition localDef) { localDefsInScope.remove(localDef.getName()); }
public List<ILexNameToken> getAllLocalDefNames() { List<PDefinition> allLocalDefs = getAllLocalDefs(); List<ILexNameToken> names = new LinkedList<ILexNameToken>(); for (PDefinition def : allLocalDefs) { names.add(def.getName()); } return names; }
private String getStateName(PDefinition stateDef) { return stateDef.getName().getName(); }
@Override public Boolean defaultInPDefinition(PDefinition node) throws AnalysisException { if (!isValidName(node.getName())) { invalidNodes.add(node); return false; } return true; }
@Override public Boolean defaultPDefinition(PDefinition node) throws AnalysisException { if (!isValidName(node.getName())) { invalidNodes.add(node); return false; } return true; }
@Override public String toString() { StringBuilder sb = new StringBuilder(); for (PDefinition d : module.getDefs()) { sb.append(d.getName().getFullName()); sb.append("\n"); } return sb.toString(); }
private void addLocalDefs(DefinitionInfo defInfo) { List<PDefinition> allLocalDefs = defInfo.getAllLocalDefs(); for (PDefinition localDef : allLocalDefs) { if (!contains(localDef)) { localDefsInScope.add(localDef.getName()); } } }
public void openScope(INode parentNode, List<PDefinition> localDefs, INode defScope) throws AnalysisException { for (PDefinition localDef : localDefs) { if (contains(localDef)) { findRenamings(localDef, parentNode, defScope); } else { localDefsInScope.add(localDef.getName()); } } }
public void typeCheck(List<PDefinition> defs, IQuestionAnswer<TypeCheckInfo, PType> rootVisitor, TypeCheckInfo question) throws AnalysisException { for (PDefinition d : defs) { if (d.getName() != null && d.getName().getName().equals("RESULT")) { TypeCheckerErrors.report(3336, "Illegal use of RESULT reserved identifier", d.getLocation(), d); } d.apply(rootVisitor, question); } }
protected List<PMultipleBind> stateInvBinds(AClassInvariantDefinition node) { List<PMultipleBind> binds = new LinkedList<PMultipleBind>(); for (PDefinition p : node.getClassDefinition().getDefinitions()) { if (p instanceof AInstanceVariableDefinition) { binds.add(getMultipleTypeBind(p.getType().clone(), p.getName().clone())); } } return binds; }
@Override public LexNameList caseARenamedDefinition(ARenamedDefinition node) throws AnalysisException { LexNameList both = new LexNameList(node.getName()); both.add(node.getDef().getName()); return both; }
private void checkKind(ITypeCheckerAssistantFactory af, PDefinition actual, boolean expected, String expkind, PImport node) throws AnalysisException { if (actual != null && !expected) { String actkind = actual.apply(af.getKindFinder()); TypeCheckerErrors.report(3356, "Import of " + expkind + " " + actual.getName() + " is " + actkind, node.getLocation(), node); } } }
/** * Add details to a TC error with alternative fn/op name possibilities. * * @param name */ public void listAlternatives(ILexNameToken name) { for (PDefinition possible : findMatches(name)) { if (af.createPDefinitionAssistant().isFunctionOrOperation(possible)) { TypeChecker.detail("Possible", possible.getName()); } } }
public static AExternalDefinition newAExternalDefinition(PDefinition state, ILexToken mode) { AExternalDefinition result = new AExternalDefinition(); initDefinition(result, Pass.DEFS, state.getLocation(), state.getName(), NameScope.STATE); result.setState(state); result.setReadOnly(mode.is(VDMToken.READ)); result.setOldname(result.getReadOnly() ? null : state.getName().getOldName()); return result; }
public void unusedCheckBaseCase(PDefinition d) { if (!af.createPDefinitionAssistant().isUsed(d)) { TypeCheckerErrors.warning(5000, "Definition '" + d.getName() + "' not used", d.getLocation(), d); markUsed(d); // To avoid multiple warnings } }
@Override public NameValuePairList caseAImportedDefinition(AImportedDefinition def, Context initialContext) throws AnalysisException { NameValuePairList renamed = new NameValuePairList(); for (NameValuePair nv : af.createPDefinitionAssistant().getNamedValues(def.getDef(), initialContext)) { if (nv.name.equals(def.getDef().getName())) // NB. excludes pre/post/inv functions { renamed.add(new NameValuePair(def.getName(), nv.value)); } } return renamed; }