public PDefinition targetDefinition(PStateDesignator pStateDesignator, TypeCheckInfo question) { if (pStateDesignator instanceof AIdentifierStateDesignator) { AIdentifierStateDesignator stateDesignator = (AIdentifierStateDesignator) pStateDesignator; return question.env.findName(stateDesignator.getName(), NameScope.STATE); } else { return null; } }
@Override public PDefinition findType(ILexNameToken name, String fromModule) { PDefinition def = af.createPDefinitionAssistant().findType(definitions, name, fromModule); if (def != null) { return def; } return outer == null ? null : outer.findType(name, fromModule); }
@Override public SClassDefinition findClassDefinition() { return outer == null ? null : outer.findClassDefinition(); }
if (question.env.isVDMPP()) PDefinition opdef = question.env.findName(node.getName(), question.scope); question.env.listAlternatives(node.getName()); node.setType(AstFactory.newAUnknownType(node.getLocation())); return node.getType(); if (question.env.isVDMPP() && node.getName().getExplicit()) SClassDefinition self = question.env.findClassDefinition(); PType ctype = opdef.getClassDefinition().getType(); && question.env.isStatic()) PDefinition encl = question.env.getEnclosingDefinition(); if (question.env.isVDMPP()) if (question.env.isVDMPP())
ILexNameToken name = node.getName(); if (env.isVDMPP()) node.setVardef(env.findName(name, question.scope)); PDefinition vardef = node.getVardef(); } else if ( !question.assistantFactory.createPAccessSpecifierAssistant().isStatic(vardef.getAccess()) && env.isStatic()) vardef = env.findName(name, question.scope); for (PDefinition possible : env.findMatches(name)) "Ambiguous function/operation name: " + name.getName(), node.getLocation(), node); env.listAlternatives(name); break; PDefinition temp = env.findName(name, question.scope); node.setVardef(temp == null ? null : temp); env.listAlternatives(name); node.setType(AstFactory.newAUnknownType(node.getLocation())); return node.getType();
PDefinition encl = env.getEnclosingDefinition(); if (env.isVDMPP()) PDefinition def = env.findName(exname, NameScope.STATE); Set<PDefinition> matches = env.findMatches(exname); return node.getType(); } else if (!question.assistantFactory.createPDefinitionAssistant().isStatic(def) && env.isStatic()) PDefinition def = env.findName(name, NameScope.STATE);
SClassDefinition self = question.env.findClassDefinition(); Environment classenv = null; List<PType> atypes = getArgTypes(node.getArgs(), THIS, question); node.getField().setTypeQualifier(atypes); PDefinition fdef = classenv.findName(node.getField(), question.scope); && !question.env.isStatic()) PDefinition encl = question.env.getEnclosingDefinition();
AStateDefinition state = question.env.findStateDefinition(); if (question.env.isVDMPP() && question.assistantFactory.createPTypeAssistant().isClass(root, question.env)) PDefinition encl = question.env.getEnclosingDefinition(); NameScope findScope = question.scope; for (PDefinition possible : question.env.findMatches(memberName)) question.env.listAlternatives(memberName);
List<PDefinition> argdefs = new Vector<PDefinition>(); if (question.env.isVDMPP()) node.setStateDefinition(question.env.findClassDefinition()); } else node.setStateDefinition(question.env.findStateDefinition()); PDefinition sdef = question.env.findName(exname, NameScope.STATE); typeResolve(clause, THIS, question); local.setFunctional(false); if (question.env.isVDMPP()) if (question.env.isVDMPP())
if (question.env.isVDMPP()) SClassDefinition cdef = question.env.findClassDefinition(); local.unusedCheck(question.env); return r;
PDefinition func = question.env.getEnclosingDefinition(); boolean inFunction = question.env.isFunctional(); boolean inOperation = !inFunction; boolean inReserved = (func == null || func.getName() == null) ? PDefinition opdef = question.env.findName(exp.getName(), question.scope); AClassTypeAssistantTC assist = question.assistantFactory.createAClassTypeAssistant();
@Override public PType caseANewExp(ANewExp node, TypeCheckInfo question) throws AnalysisException PDefinition cdef = question.env.findType(node.getClassName().getClassName(), null); if (Settings.release == Release.VDM_10 && question.env.isFunctional())
PDefinition d = question.env.findName(pt.getName(), question.scope); local.unusedCheck(); node.setType(AstFactory.newASeqSeqType(node.getLocation(), etype)); return node.getType();
@Override public PType caseATimeExp(ATimeExp node, TypeCheckInfo question) { PDefinition encl = question.env.getEnclosingDefinition(); if (encl != null && encl.getAccess().getPure()) { TypeCheckerErrors.report(3346, "Cannot use 'time' in pure operations", node.getLocation(), node); } if (Settings.release == Release.VDM_10 && question.env.isFunctional()) { TypeCheckerErrors.report(3348, "Cannot use 'time' in a functional context", node.getLocation(), node); } node.setType(AstFactory.newANatNumericBasicType(node.getLocation())); return question.assistantFactory.createPTypeAssistant().checkConstraint(question.constraint, node.getType(), node.getLocation()); }
public PDefinition getEnclosingDefinition() { if (enclosingDefinition != null) { return enclosingDefinition; } return outer == null ? null : outer.getEnclosingDefinition(); }
@Override public PType caseAHistoryExp(AHistoryExp node, TypeCheckInfo question) SClassDefinition classdef = question.env.findClassDefinition(); && question.env.isStatic())