public class JifInitChecker
extends polyglot.visit.DefiniteAssignmentChecker
polyglot.visit.DefiniteAssignmentChecker.AssignmentStatus, polyglot.visit.DefiniteAssignmentChecker.ClassBodyInfo, polyglot.visit.DefiniteAssignmentChecker.FlowItem
polyglot.visit.DataFlow.BoolItem<FlowItem extends polyglot.visit.DataFlow.Item>, polyglot.visit.DataFlow.ConditionNavigator<FlowItem extends polyglot.visit.DataFlow.Item>, polyglot.visit.DataFlow.FlowGraphSource<FlowItem extends polyglot.visit.DataFlow.Item>, polyglot.visit.DataFlow.Frame<FlowItem extends polyglot.visit.DataFlow.Item>, polyglot.visit.DataFlow.Item
Constructor and Description |
---|
JifInitChecker(polyglot.frontend.Job job,
polyglot.types.TypeSystem ts,
polyglot.ast.NodeFactory nf) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkOther(polyglot.visit.FlowGraph<polyglot.visit.DefiniteAssignmentChecker.FlowItem> graph,
polyglot.ast.Node n,
polyglot.visit.DefiniteAssignmentChecker.FlowItem dfIn) |
protected boolean |
superClassCouldAccessFinals(polyglot.types.ClassType ct) |
check, checkClassBody, checkField, checkFieldAssign, checkLocal, checkLocalAssign, checkLocalInstanceInit, checkLocalsUsedByInnerClass, checkNonStaticFinalFieldsInit, checkStaticFinalFieldsInit, confluence, confluence, createCFGBuilder, createInitialItem, dataflow, enterCall, finishConstructorDecl, finishFieldDecl, finishInitializer, flow, flow, flowConstructorCall, flowFieldAssign, flowFormal, flowLocalAssign, flowLocalDecl, flowOther, initGraph, isFieldsTargetAppropriate, leaveCall, setupClassBody
check, constructItemsFromCondition, createFrame, createInitialItem, currentFlowGraph, dataflow, dataflow, dataflow, dumpFlowGraph, enterCall, filterItems, filterItemsExceptionSubclass, filterItemsNonError, filterItemsNonException, findSCCs, flow, flow, flow, flowBooleanConditions, flowToBooleanFlow, hasTrueFalseBranches, initGraph, itemsToMap, itemToMap, lang, leave, post, safeConfluence, safeConfluence, safeConfluence
begin, catchErrors, enter, enterError, errorQueue, hasErrors, job, leaveCall, leaveCall, nodeFactory, typeSystem
bypass, bypass, bypassChildren, override, visitChildren
public JifInitChecker(polyglot.frontend.Job job, polyglot.types.TypeSystem ts, polyglot.ast.NodeFactory nf)
protected void checkOther(polyglot.visit.FlowGraph<polyglot.visit.DefiniteAssignmentChecker.FlowItem> graph, polyglot.ast.Node n, polyglot.visit.DefiniteAssignmentChecker.FlowItem dfIn) throws polyglot.types.SemanticException
checkOther
in class polyglot.visit.DefiniteAssignmentChecker
polyglot.types.SemanticException
protected boolean superClassCouldAccessFinals(polyglot.types.ClassType ct)