StarOffice 5.2 API
reverse engineered by classdoc

stardiv.js.comp
Class ExprOperator

java.lang.Object
  |
  +--stardiv.js.comp.BaseNode
        |
        +--stardiv.js.comp.ExprNode
              |
              +--stardiv.js.comp.ExprOperator
All Implemented Interfaces:
stardiv.js.ip.BaseNodeAccess

public synchronized class ExprOperator
extends stardiv.js.comp.ExprNode


Field Summary
static int ADDSUB_OP
           
static int ARRAY_CALL_OP
           
static int ASSIGNMENT_OP
           
static int BITSHIFT_OP
           
static int BIT_AND_OP
           
static int BIT_OR_OP
           
static int BIT_XOR_OP
           
static int COMMA_OP
           
static int CONDITIONAL_OP
           
static int ELEM_OP
           
static int EQUAL_OP
           
static int GREATERLESS_OP
           
private static byte INVALID
           
static int LOGICAL_AND_OP
           
static int LOGICAL_OR_OP
           
static int MULTDIV_OP
           
static int UNARY_OP
           
private static byte[] aTIDtoPCodes
           
private  stardiv.js.comp.ExprNode lExpr
           
private  int nOpId
           
private  int nOpPrec
           
private  stardiv.js.comp.ExprNode optExpr
           
private  stardiv.js.comp.ExprNode rExpr
           
private  java.lang.String sOpStrg
           
 
Fields inherited from class stardiv.js.comp.ExprNode
aParentNode, nShiftValue, sSrc
 
Fields inherited from class stardiv.js.comp.BaseNode
iEndPos, iStartPos
 
Constructor Summary
ExprOperator(int i1, java.lang.String s1, int i2, int i3, java.lang.String s2)
           
 
Method Summary
private  int calculatePrecedence(int i)
           
private  boolean checkForLValue(stardiv.js.comp.ExprNode en)
           
private  boolean checkLValueForPostOpNode()
           
private  boolean checkLValueForPreOpNode()
           
 void genCode(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, boolean b1, boolean b2, boolean b3)
           
private  void genCodeForCondOperator(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp)
           
private  void genCodeForNode(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, boolean b1, boolean b2, boolean b3, stardiv.js.comp.ExprNode en, int i)
           
private  void genCodeForPostOpNode(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, boolean b1, boolean b2)
           
private  void genCodeForPreOpNode(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, boolean b1, boolean b2)
           
private  void genCodeForTwoNodes(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, boolean b1, boolean b2, boolean b3)
           
private  void genLValueCodeForNode(stardiv.js.ip.CodeBlock cb, stardiv.js.comp.CodeGenParam cgp, stardiv.js.comp.ExprNode en, int i)
           
 stardiv.js.comp.ExprNode getLeftExpr()
           
 int getOpId()
           
 stardiv.js.comp.ExprNode getOptExpr()
           
private  int getParamCount(stardiv.js.comp.ExprNode en)
           
 int getPrecedence()
           
 stardiv.js.comp.ExprNode getRightExpr()
           
 boolean hasCorrectOperands()
           
 boolean hasEqualLowerPrecedenceThan(stardiv.js.comp.ExprOperator eo)
           
 boolean hasLowerPrecedenceThan(stardiv.js.comp.ExprOperator eo)
           
private  boolean hasNoParentOtherThanCallOrIndex()
           
 void insertLeftExpr(stardiv.js.comp.ExprNode en)
           
 void insertOptExpr(stardiv.js.comp.ExprNode en)
           
 void insertRightExpr(stardiv.js.comp.ExprNode en)
           
 boolean isAssignmentOperator()
           
 boolean isCallOperator()
           
 boolean isCallOrIndexOperator()
           
 boolean isCommaOperator()
           
 boolean isConditionalOperator()
           
 boolean isConstant()
           
 boolean isElemOperator()
           
 boolean isIndexOperator()
           
 boolean isLValue()
           
private  boolean isNewOperator()
           
private  boolean isSingleCall()
           
 boolean isUnaryPostOperatorWithOperand()
           
 boolean isUnaryPreOperatorWithOperand()
           
 boolean isValidUnaryPostOperator()
           
 boolean isValidUnaryPreOperator()
           
protected  void releaseMem(stardiv.js.comp.Tokenizer t)
           
 void setPrecedence(int i)
           
(package private)  void show(java.io.PrintStream ps, int i)
           
 
Methods inherited from class stardiv.js.comp.ExprNode
getParent, getRoot, handleError, hasParent, insertParent, isSingleIdentifier, levelShift, levelShift, show, showTotalTree, showTree, showTree
 
Methods inherited from class stardiv.js.comp.BaseNode
getSrcEndPos, getSrcStartPos
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ADDSUB_OP

public static final int ADDSUB_OP

ARRAY_CALL_OP

public static final int ARRAY_CALL_OP

ASSIGNMENT_OP

public static final int ASSIGNMENT_OP

BITSHIFT_OP

public static final int BITSHIFT_OP

BIT_AND_OP

public static final int BIT_AND_OP

BIT_OR_OP

public static final int BIT_OR_OP

BIT_XOR_OP

public static final int BIT_XOR_OP

COMMA_OP

public static final int COMMA_OP

CONDITIONAL_OP

public static final int CONDITIONAL_OP

ELEM_OP

public static final int ELEM_OP

EQUAL_OP

public static final int EQUAL_OP

GREATERLESS_OP

public static final int GREATERLESS_OP

INVALID

private static byte INVALID

LOGICAL_AND_OP

public static final int LOGICAL_AND_OP

LOGICAL_OR_OP

public static final int LOGICAL_OR_OP

MULTDIV_OP

public static final int MULTDIV_OP

UNARY_OP

public static final int UNARY_OP

aTIDtoPCodes

private static byte[] aTIDtoPCodes

lExpr

private stardiv.js.comp.ExprNode lExpr

nOpId

private int nOpId

nOpPrec

private int nOpPrec

optExpr

private stardiv.js.comp.ExprNode optExpr

rExpr

private stardiv.js.comp.ExprNode rExpr

sOpStrg

private java.lang.String sOpStrg
Constructor Detail

ExprOperator

public ExprOperator(int i1,
                    java.lang.String s1,
                    int i2,
                    int i3,
                    java.lang.String s2)
Method Detail

calculatePrecedence

private final int calculatePrecedence(int i)

checkForLValue

private final boolean checkForLValue(stardiv.js.comp.ExprNode en)

checkLValueForPostOpNode

private final boolean checkLValueForPostOpNode()

checkLValueForPreOpNode

private final boolean checkLValueForPreOpNode()

genCode

public void genCode(stardiv.js.ip.CodeBlock cb,
                    stardiv.js.comp.CodeGenParam cgp,
                    boolean b1,
                    boolean b2,
                    boolean b3)
             throws stardiv.js.base.ParserException

genCodeForCondOperator

private final void genCodeForCondOperator(stardiv.js.ip.CodeBlock cb,
                                          stardiv.js.comp.CodeGenParam cgp)
                                   throws stardiv.js.base.ParserException

genCodeForNode

private final void genCodeForNode(stardiv.js.ip.CodeBlock cb,
                                  stardiv.js.comp.CodeGenParam cgp,
                                  boolean b1,
                                  boolean b2,
                                  boolean b3,
                                  stardiv.js.comp.ExprNode en,
                                  int i)
                           throws stardiv.js.base.ParserException

genCodeForPostOpNode

private final void genCodeForPostOpNode(stardiv.js.ip.CodeBlock cb,
                                        stardiv.js.comp.CodeGenParam cgp,
                                        boolean b1,
                                        boolean b2)
                                 throws stardiv.js.base.ParserException

genCodeForPreOpNode

private final void genCodeForPreOpNode(stardiv.js.ip.CodeBlock cb,
                                       stardiv.js.comp.CodeGenParam cgp,
                                       boolean b1,
                                       boolean b2)
                                throws stardiv.js.base.ParserException

genCodeForTwoNodes

private final void genCodeForTwoNodes(stardiv.js.ip.CodeBlock cb,
                                      stardiv.js.comp.CodeGenParam cgp,
                                      boolean b1,
                                      boolean b2,
                                      boolean b3)
                               throws stardiv.js.base.ParserException

genLValueCodeForNode

private final void genLValueCodeForNode(stardiv.js.ip.CodeBlock cb,
                                        stardiv.js.comp.CodeGenParam cgp,
                                        stardiv.js.comp.ExprNode en,
                                        int i)
                                 throws stardiv.js.base.ParserException

getLeftExpr

public stardiv.js.comp.ExprNode getLeftExpr()

getOpId

public final int getOpId()

getOptExpr

public stardiv.js.comp.ExprNode getOptExpr()

getParamCount

private final int getParamCount(stardiv.js.comp.ExprNode en)

getPrecedence

public final int getPrecedence()

getRightExpr

public stardiv.js.comp.ExprNode getRightExpr()

hasCorrectOperands

public boolean hasCorrectOperands()

hasEqualLowerPrecedenceThan

public final boolean hasEqualLowerPrecedenceThan(stardiv.js.comp.ExprOperator eo)

hasLowerPrecedenceThan

public final boolean hasLowerPrecedenceThan(stardiv.js.comp.ExprOperator eo)

hasNoParentOtherThanCallOrIndex

private final boolean hasNoParentOtherThanCallOrIndex()

insertLeftExpr

public void insertLeftExpr(stardiv.js.comp.ExprNode en)

insertOptExpr

public void insertOptExpr(stardiv.js.comp.ExprNode en)

insertRightExpr

public void insertRightExpr(stardiv.js.comp.ExprNode en)

isAssignmentOperator

public final boolean isAssignmentOperator()

isCallOperator

public final boolean isCallOperator()

isCallOrIndexOperator

public final boolean isCallOrIndexOperator()

isCommaOperator

public final boolean isCommaOperator()

isConditionalOperator

public final boolean isConditionalOperator()

isConstant

public boolean isConstant()

isElemOperator

public final boolean isElemOperator()

isIndexOperator

public final boolean isIndexOperator()

isLValue

public boolean isLValue()

isNewOperator

private final boolean isNewOperator()

isSingleCall

private final boolean isSingleCall()

isUnaryPostOperatorWithOperand

public final boolean isUnaryPostOperatorWithOperand()

isUnaryPreOperatorWithOperand

public final boolean isUnaryPreOperatorWithOperand()

isValidUnaryPostOperator

public final boolean isValidUnaryPostOperator()

isValidUnaryPreOperator

public final boolean isValidUnaryPreOperator()

releaseMem

protected void releaseMem(stardiv.js.comp.Tokenizer t)

setPrecedence

public final void setPrecedence(int i)

show

void show(java.io.PrintStream ps,
          int i)

StarOffice 5.2 API
reverse engineered by classdoc