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 JifLabelSubst

    java.lang.Object
      polyglot.visit.NodeVisitor
          polyglot.visit.HaltingVisitor
              polyglot.visit.ErrorHandlingVisitor
                  polyglot.visit.ContextVisitor
                      jif.visit.JifLabelSubst

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

    public class JifLabelSubst

extends polyglot.visit.ContextVisitor

This visitor substitutes labels for each variable in the path maps of each JifExt object. By subclassing ContextVisitor, type objects are rebuilt automatically.

Field Summary
`protected VarMap` | `bounds`
`protected polyglot.util.ErrorQueue` | `eq`
`protected Solver` | `solver`
`protected JifTypeSystem` | `ts`

Fields inherited from class polyglot.visit.ContextVisitor
`context, outer, prune, rethrowMissingDependencies`

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

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

Constructor Summary
`JifLabelSubst(polyglot.frontend.Job job, JifTypeSystem ts, polyglot.ast.NodeFactory nf, Solver solver)`

Method Summary
`polyglot.ast.Node` | `leaveCall(polyglot.ast.Node old, polyglot.ast.Node n, polyglot.visit.NodeVisitor v)`
`protected void` | `solve()`
`protected polyglot.ast.Node` | `updateNode(polyglot.ast.Node n)`

Methods inherited from class polyglot.visit.ContextVisitor
`addDecls, begin, context, context, enter, enter, enterScope, leave, rethrowMissingDependencies, superEnter`

Methods inherited from class polyglot.visit.ErrorHandlingVisitor
`catchErrors, enterCall, enterCall, 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, finish, finish, leave, override, toString, visitEdge, visitEdgeNoOverride`

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

Field Detail

### ts

    protected JifTypeSystem ts

### solver

    protected final Solver solver

### eq

    protected polyglot.util.ErrorQueue eq

### bounds

    protected VarMap bounds

Constructor Detail

### JifLabelSubst

    public JifLabelSubst(polyglot.frontend.Job job,
                         JifTypeSystem ts,
                         polyglot.ast.NodeFactory nf,
                         Solver solver)

Method Detail

### leaveCall

    public polyglot.ast.Node leaveCall(polyglot.ast.Node old,
                                       polyglot.ast.Node n,
                                       polyglot.visit.NodeVisitor v)
                                throws polyglot.types.SemanticException

  Overrides:
    `leaveCall` in class `polyglot.visit.ErrorHandlingVisitor`
  Throws:
    `polyglot.types.SemanticException`

### solve

    protected void solve()
                  throws polyglot.types.SemanticException

  Throws:
    `polyglot.types.SemanticException`

### updateNode

    protected polyglot.ast.Node updateNode(polyglot.ast.Node n)
                                    throws polyglot.types.SemanticException

  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