jif.ast

## Class JifDisamb_c

- java.lang.Object
- - polyglot.ast.Disamb_c
  - - jif.ast.JifDisamb_c

- All Implemented Interfaces:
    polyglot.ast.Disamb

      public class JifDisamb_c
      extends polyglot.ast.Disamb_c

  Utility class which is used to disambiguate ambiguous AST nodes (Expr, Type, Receiver, Qualifier, Prefix). We need to override the default functionality of `Disamb_c` to deal with using the correct instantiations of polymorphic classes.

- - ### Field Summary

    - ### Fields inherited from class polyglot.ast.Disamb_c

      `amb, c, name, nf, pos, prefix, ts, v`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JifDisamb_c()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected polyglot.ast.Node` | `disambiguateVarInstance(polyglot.types.VarInstance vi)`
    `protected polyglot.ast.Receiver` | `makeMissingFieldTarget(polyglot.types.FieldInstance fi)` Override superclass functionality to avoid returning an uninstantiated polymorphic class.

    - ### Methods inherited from class polyglot.ast.Disamb_c

      `disambiguate, disambiguate, disambiguateExprPrefix, disambiguateNoPrefix, disambiguatePackagePrefix, disambiguateTypeNodePrefix, exprOK, packageOK, toString, typeOK`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### JifDisamb_c

          public JifDisamb_c()

  - ### Method Detail

    - #### disambiguateVarInstance

          protected polyglot.ast.Node disambiguateVarInstance(polyglot.types.VarInstance vi)
                                                       throws polyglot.types.SemanticException

      Overrides:
        `disambiguateVarInstance` in class `polyglot.ast.Disamb_c`
      Throws:
        `polyglot.types.SemanticException`

    - #### makeMissingFieldTarget

          protected polyglot.ast.Receiver makeMissingFieldTarget(polyglot.types.FieldInstance fi)
                                                          throws polyglot.types.SemanticException

      Override superclass functionality to avoid returning an uninstantiated polymorphic class.
      Overrides:
        `makeMissingFieldTarget` in class `polyglot.ast.Disamb_c`
      Throws:
        `polyglot.types.SemanticException`