# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperator

This interface is used to define a C operator.

## Static Field: OP_CARRY
Type: `java.lang.String`

Constant value: `__carry__`

## Static Field: OP_PARITY
Type: `java.lang.String`

Constant value: `__parity__`

## Static Field: OP_POW
Type: `java.lang.String`

Constant value: `__pow__`

## Static Field: OP_ROL
Type: `java.lang.String`

Constant value: `__rol__`

## Static Field: OP_ROR
Type: `java.lang.String`

Constant value: `__ror__`

## Method: checkType
- parameter: `candidateTypes`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.COperatorType[]`
- return type: `boolean`


## Method: getAssociativity
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.COperatorType.Associativity`

Description: Get the associativity \(left, right\) of the operator.
return: 
throws: if the associativity is not found

## Method: getCastType
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICType`


## Method: getMirror
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperator`


## Method: getOperandCount
- return type: `int`


## Method: getPrecedence
- return type: `int`

Description: Get the precedence of the operator. Currently not implemented for all operators, and the method will throw if it cannot find a precedence value.
return: 
throws: if the precedence is not found

## Method: getPrecedenceDelta
- parameter: `other`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperator`
- return type: `int`

Description: Check the precedence of this operator against another operator.
return: delta: `<0` if this operator has higher precedence than other, 0 if their         precedence is the same, or `>0` if this operator has lower precedence than         other.

## Method: getReverse
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.ICOperator`


## Method: getType
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.COperatorType`


## Method: isBinary
- return type: `boolean`


## Method: isCast
- return type: `boolean`


## Method: isCustom
- return type: `boolean`


## Method: isRegular
- return type: `boolean`


## Method: isTertiary
- return type: `boolean`


## Method: isUnary
- return type: `boolean`


## Method: isValidForCombinedAssignment
- return type: `boolean`

Description: Determine if this operator is one of the 11 \(\+1\) arithmetic operators that can be used to build a combined\-operator assignment.
return: true if one of: mul, div, add, sub, rem, shl, shr, ushr, and, xor, or

