edu.cmu.cs.crystal.tac.eclipse
Class EclipseReferenceFieldAccess

java.lang.Object
  extended by edu.cmu.cs.crystal.tac.eclipse.EclipseAbstractFieldAccess<FieldAccess>
      extended by edu.cmu.cs.crystal.tac.eclipse.EclipseReferenceFieldAccess
All Implemented Interfaces:
IEclipseFieldAccess

public class EclipseReferenceFieldAccess
extends EclipseAbstractFieldAccess<FieldAccess>
implements IEclipseFieldAccess

Author:
Kevin Bierhoff

Constructor Summary
EclipseReferenceFieldAccess(FieldAccess node, IEclipseVariableQuery query)
           
 
Method Summary
 SimpleName getFieldName()
          Returns the name of the accessed field.
 boolean isExplicitSuperAccess()
          Indicates whether this is an explicit super-field access, super.f.
 boolean isImplicitThisAccess()
          Indicates whether this is an implicit access to a receiver field (which could actually be a field of an outer class).
 IVariableBinding resolveFieldBinding()
          Resolves the binding for the accessed field.
 
Methods inherited from class edu.cmu.cs.crystal.tac.eclipse.EclipseAbstractFieldAccess
getAccessedObject, isStaticFieldAccess
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.cmu.cs.crystal.tac.eclipse.IEclipseFieldAccess
getAccessedObject
 

Constructor Detail

EclipseReferenceFieldAccess

public EclipseReferenceFieldAccess(FieldAccess node,
                                   IEclipseVariableQuery query)
Parameters:
node -
query -
Method Detail

getFieldName

public SimpleName getFieldName()
Description copied from interface: IEclipseFieldAccess
Returns the name of the accessed field.

Specified by:
getFieldName in interface IEclipseFieldAccess
Returns:
Name of the accessed field.

resolveFieldBinding

public IVariableBinding resolveFieldBinding()
Description copied from interface: IEclipseFieldAccess
Resolves the binding for the accessed field. Bindings can usually be resolved, but the underlying Eclipse AST admits the possiblity that null is returned.

Specified by:
resolveFieldBinding in interface IEclipseFieldAccess
Returns:
The binding for the accessed field or null if the binding could not be resolved.

isImplicitThisAccess

public boolean isImplicitThisAccess()
Description copied from interface: IEclipseFieldAccess
Indicates whether this is an implicit access to a receiver field (which could actually be a field of an outer class). Accessing a static field does not constitute an implicit access to the receiver in the sense of this method.

Specified by:
isImplicitThisAccess in interface IEclipseFieldAccess
Returns:
true if this is an implicit access to a receiver field and false otherwise.

isExplicitSuperAccess

public boolean isExplicitSuperAccess()
Description copied from interface: IEclipseFieldAccess
Indicates whether this is an explicit super-field access, super.f. The field being accessed may be a static or instance field.

Specified by:
isExplicitSuperAccess in interface IEclipseFieldAccess
Returns:
true if this is an explicit super-field access, false otherwise.