openjava.ptree
Class InstanceofExpression

java.lang.Object
  |
  +--openjava.ptree.ParseTreeObject
        |
        +--openjava.ptree.NonLeaf
              |
              +--openjava.ptree.InstanceofExpression
All Implemented Interfaces:
Cloneable, Expression, ParseTree, VariableInitializer

public class InstanceofExpression
extends NonLeaf
implements Expression

The InstanceofExpression represents a call to the instanceof operator.

For example:

     obj instanceof Object
 

If the operator in the expression of the left operand has weak unity, this automatically produces the code in which the left operand is enclosed by parentheses.
In the case the left is obj = obj2 and the right is String, this produces the code :
     (obj = obj2) instanceof String
 

See Also:
Expression, TypeName

Field Summary
 
Fields inherited from class openjava.ptree.NonLeaf
 
Fields inherited from class openjava.ptree.ParseTreeObject
debugFlag, debugLevel, LN, out, writerStack
 
Constructor Summary
(package private) InstanceofExpression()
           
  InstanceofExpression(Expression lexp, TypeName tspec)
          Allocates a new object.
 
Method Summary
 void accept(ParseTreeVisitor v)
          Accepts a ParseTreeVisitor object as the role of a Visitor in the Visitor pattern, as the role of an Element in the Visitor pattern.
 Expression getExpression()
          Gets the expression of the left operand to be tested in this expression.
 OJClass getType(Environment env)
           
 TypeName getTypeSpecifier()
          Gets the type specifier of the right operand to be tested in this expression.
private  boolean needsLeftPar(Expression lexpr)
           
 void setLeft(Expression lexpr)
          Sets the expression of the left operand to be tested in this expression.
 void setTypeSpecifier(TypeName tspec)
          Sets the type specifier of the right operand to be tested in this expression.
 void writeCode()
          Writes the code this parse-tree presents for.
 
Methods inherited from class openjava.ptree.NonLeaf
childrenAccept, childrenAreEqual, elementAt, equals, getComment, getContents, getLength, getRowType, makeRecursiveCopy, replaceChildWith, set, set, set, set, set, set, set, set, set, setComment, setElementAt
 
Methods inherited from class openjava.ptree.ParseTreeObject
clone, eq, eq, equal, flushPrintWriter, getDebugFlag, getNest, getObjectID, getParent, getPrintWriter, getTab, hashCode, lastObjectID, makeCopy, popNest, popPrintWriter, pushNest, pushPrintWriter, replace, setDebugFlag, setDebugLevel, setNest, setParent, setPrintStream, setTab, toFlattenString, toString, writeDebug, writeDebugL, writeDebugLln, writeDebugln, writeDebugLR, writeDebugR, writeDebugRln, writeTab
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface openjava.ptree.Expression
getRowType
 
Methods inherited from interface openjava.ptree.ParseTree
childrenAccept, eq, equals, getObjectID, makeCopy, makeRecursiveCopy, replace, toFlattenString, toString
 

Constructor Detail

InstanceofExpression

public InstanceofExpression(Expression lexp,
                            TypeName tspec)
Allocates a new object.

Parameters:
lexp - the expression to test.
tspec - the typespecifier.

InstanceofExpression

InstanceofExpression()
Method Detail

writeCode

public void writeCode()
Description copied from class: NonLeaf
Writes the code this parse-tree presents for.

Specified by:
writeCode in interface ParseTree
Overrides:
writeCode in class NonLeaf

needsLeftPar

private final boolean needsLeftPar(Expression lexpr)

getExpression

public Expression getExpression()
Gets the expression of the left operand to be tested in this expression.

Returns:
the left expression.

setLeft

public void setLeft(Expression lexpr)
Sets the expression of the left operand to be tested in this expression.

Parameters:
lexpr - the left expression to set.

getTypeSpecifier

public TypeName getTypeSpecifier()
Gets the type specifier of the right operand to be tested in this expression.

Returns:
the type specifier.

setTypeSpecifier

public void setTypeSpecifier(TypeName tspec)
Sets the type specifier of the right operand to be tested in this expression.

Parameters:
tspec - the type specifier to set.

getType

public OJClass getType(Environment env)
                throws Exception
Specified by:
getType in interface Expression
Exception

accept

public void accept(ParseTreeVisitor v)
            throws ParseTreeException
Description copied from interface: ParseTree
Accepts a ParseTreeVisitor object as the role of a Visitor in the Visitor pattern, as the role of an Element in the Visitor pattern.

This invoke an appropriate visit() method on the accepted visitor.

Specified by:
accept in interface ParseTree
Specified by:
accept in class ParseTreeObject
Parameters:
v - a visitor
ParseTreeException

SourceForge.net_Logo