xtc.type
Class IndirectReference

java.lang.Object
  extended by xtc.type.Reference
      extended by xtc.type.RelativeReference
          extended by xtc.type.IndirectReference

public class IndirectReference
extends RelativeReference

Representation of an indirect reference.

Version:
$Revision: 1.5 $
Author:
Robert Grimm

Field Summary
 
Fields inherited from class xtc.type.RelativeReference
base
 
Fields inherited from class xtc.type.Reference
type
 
Constructor Summary
IndirectReference(Reference base)
          Create a new indirect reference.
 
Method Summary
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 boolean isIndirect()
          Determine whether this reference is an indirect reference.
 boolean isPrefix()
          Determine whether this reference represents a prefix operator in C syntax.
 void write(java.lang.Appendable out)
          Write a human readable representation to the specified appendable.
 
Methods inherited from class xtc.type.RelativeReference
getBase, hasBase, isConstant
 
Methods inherited from class xtc.type.Reference
add, add, difference, getField, getIndex, getLocation, getType, hasField, hasIndex, hasLocation, indirect, isCast, isDynamic, isNull, isStatic, isString, isVariable, subtract, subtract, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IndirectReference

public IndirectReference(Reference base)
Create a new indirect reference. The specified base reference must have a pointer type. The type of the newly created indirect reference is the pointed-to type, unless that type is an array, in which case the type is the array's element type.

Parameters:
base - The base reference.
Throws:
java.lang.ClassCastException - Signals that the base reference does not have a pointer type.
Method Detail

isPrefix

public boolean isPrefix()
Description copied from class: Reference
Determine whether this reference represents a prefix operator in C syntax.

Overrides:
isPrefix in class Reference
Returns:
true if this reference represents a prefix operator.

isIndirect

public boolean isIndirect()
Description copied from class: Reference
Determine whether this reference is an indirect reference.

Overrides:
isIndirect in class Reference
Returns:
true if this reference is an indirect reference.

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

write

public void write(java.lang.Appendable out)
           throws java.io.IOException
Description copied from class: Reference
Write a human readable representation to the specified appendable.

Specified by:
write in class Reference
Parameters:
out - The appendable.
Throws:
java.io.IOException - Signals an I/O error.


Copyright © 2012. All Rights Reserved.