@Override public SClassDefinition findClassDefinition() { return outer == null ? null : outer.findClassDefinition(); }
SClassDefinition classdef = question.env.findClassDefinition();
@Override public PType caseAHistoryExp(AHistoryExp node, TypeCheckInfo question) SClassDefinition classdef = question.env.findClassDefinition();
public boolean isAccessible(Environment env, PDefinition field, boolean needStatic) SClassDefinition self = env.findClassDefinition(); SClassDefinition target = field.getClassDefinition();
SClassDefinition self = question.env.findClassDefinition(); Environment classenv = null;
SClassDefinition cdef = question.env.findClassDefinition();
SClassDefinition cdef = question.env.findClassDefinition(); d.setClassDefinition(cdef); d.setAccess(question.assistantFactory.createPAccessSpecifierAssistant().getStatic(d, true));
@Override public PType caseAAssignmentStm(AAssignmentStm node, TypeCheckInfo question) throws AnalysisException { node.setTargetType(node.getTarget().apply(THIS, new TypeCheckInfo(question.assistantFactory, question.env))); node.setExpType(node.getExp().apply(THIS, new TypeCheckInfo(question.assistantFactory, question.env, question.scope, null, node.getTargetType(), null))); if (!question.assistantFactory.getTypeComparator().compatible(node.getTargetType(), node.getExpType())) { TypeCheckerErrors.report(3239, "Incompatible types in assignment", node.getLocation(), node); TypeCheckerErrors.detail2("Target", node.getTarget().getType(), "Expression", node.getExp().getType()); } node.setClassDefinition(question.env.findClassDefinition()); node.setStateDefinition(question.env.findStateDefinition()); AClassTypeAssistantTC assist = question.assistantFactory.createAClassTypeAssistant(); node.setInConstructor(assist.inConstructor(question.env)); if (node.getInConstructor()) { // Mark assignment target as initialized (so no warnings) PDefinition state; state = targetDefinition(node.getTarget(), question); if (state instanceof AInstanceVariableDefinition) { AInstanceVariableDefinition iv = (AInstanceVariableDefinition) state; iv.setInitialized(true); } } node.setType(AstFactory.newAVoidType(node.getLocation())); return node.getType(); }
SClassDefinition classdef = base.findClassDefinition(); int opfound = 0; int perfound = 0;
node.setStateDefinition(question.env.findClassDefinition()); } else
SClassDefinition self = question.env.findClassDefinition(); PType ctype = opdef.getClassDefinition().getType();