Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jif.visit
Class JifInitChecker

    java.lang.Object
      polyglot.visit.NodeVisitor
          polyglot.visit.HaltingVisitor
              polyglot.visit.ErrorHandlingVisitor
                  polyglot.visit.DataFlow
                      polyglot.visit.InitChecker
                          jif.visit.JifInitChecker

All Implemented Interfaces:
  java.lang.Cloneable, polyglot.util.Copy

    public class JifInitChecker

extends polyglot.visit.InitChecker

Override the init checker, since type nodes may now mention local variables.

Nested Class Summary

Nested classes/interfaces inherited from class polyglot.visit.InitChecker
`polyglot.visit.InitChecker.BottomItem, polyglot.visit.InitChecker.ClassBodyInfo, polyglot.visit.InitChecker.DataFlowItem, polyglot.visit.InitChecker.InitCount, polyglot.visit.InitChecker.MinMaxInitCount`

Nested classes/interfaces inherited from class polyglot.visit.DataFlow
`polyglot.visit.DataFlow.BoolItem, polyglot.visit.DataFlow.ConditionNavigator, polyglot.visit.DataFlow.FlowGraphSource, polyglot.visit.DataFlow.Item`

Field Summary

Fields inherited from class polyglot.visit.InitChecker
`BOTTOM, currCBI`

Fields inherited from class polyglot.visit.DataFlow
`dataflowOnEntry, flowCounter, flowgraphStack, forward`

Fields inherited from class polyglot.visit.ErrorHandlingVisitor
`error, job, nf, ts`

Fields inherited from class polyglot.visit.HaltingVisitor
`bypass, bypassParent`

Constructor Summary
`JifInitChecker(polyglot.frontend.Job job, polyglot.types.TypeSystem ts, polyglot.ast.NodeFactory nf)`

Method Summary
`protected void` | `checkOther(polyglot.visit.FlowGraph graph, polyglot.ast.Node n, polyglot.visit.InitChecker.DataFlowItem dfIn, polyglot.visit.InitChecker.DataFlowItem dfOut)`

Methods inherited from class polyglot.visit.InitChecker
`check, checkClassBody, checkFieldAssign, checkLocal, checkLocalAssign, checkLocalInstanceInit, checkLocalsUsedByInnerClass, checkNonStaticFinalFieldsInit, checkStaticFinalFieldsInit, confluence, confluence, createInitialItem, dataflow, enterCall, finishConstructorDecl, finishInitializer, flow, flow, flowConstructorCall, flowFieldAssign, flowFormal, flowLocalAssign, flowLocalDecl, flowOther, initGraph, isFieldsTargetAppropriate, leaveCall, setupClassBody`

Methods inherited from class polyglot.visit.DataFlow
`constructItemsFromCondition, createCFGBuilder, currentFlowGraph, dataflow, dataflow, dataflow, dumpFlowGraph, enterCall, filterItems, filterItemsExceptionSubclass, filterItemsNonError, filterItemsNonException, findSCCs, flow, flowBooleanConditions, flowToBooleanFlow, hasTrueFalseBranches, initGraph, itemsToMap, itemToMap, leave, post, safeConfluence, safeConfluence, safeConfluence`

Methods inherited from class polyglot.visit.ErrorHandlingVisitor
`begin, catchErrors, enter, enterError, errorQueue, hasErrors, job, leaveCall, leaveCall, nodeFactory, typeSystem`

Methods inherited from class polyglot.visit.HaltingVisitor
`bypass, bypass, bypassChildren, override, visitChildren`

Methods inherited from class polyglot.visit.NodeVisitor
`copy, enter, finish, finish, leave, override, toString, visitEdge, visitEdgeNoOverride`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JifInitChecker

    public JifInitChecker(polyglot.frontend.Job job,
                          polyglot.types.TypeSystem ts,
                          polyglot.ast.NodeFactory nf)

Method Detail

### checkOther

    protected void checkOther(polyglot.visit.FlowGraph graph,
                              polyglot.ast.Node n,
                              polyglot.visit.InitChecker.DataFlowItem dfIn,
                              polyglot.visit.InitChecker.DataFlowItem dfOut)
                       throws polyglot.types.SemanticException

  Overrides:
    `checkOther` in class `polyglot.visit.InitChecker`
  Throws:
    `polyglot.types.SemanticException`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD