jif.ast
Class JifDisamb_c

java.lang.Object
  extended by polyglot.ast.Disamb_c
      extended by 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
JifDisamb_c()
           
 
Method Summary
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