chc.app.CExp module
Base class and subclasses:
|
Base class for all expressions. |
|
Constant expression |
|
Lvalue expression. |
|
Sizeof type expression. |
|
Sizeof expression expression |
|
Sizeof string expression |
|
Alignof type expression |
|
Align of expression expression |
|
Unary expression |
|
Binary expression |
|
Question expression. |
|
Cast expression. |
|
Address-of expression |
|
Address-of label expression |
|
Start-of expression |
|
Function application. |
|
Constant function application. |
Object representation of CIL expression sum type.
- class chc.app.CExp.CExp(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CDictionaryRecord.CDictionaryRecordBase class for all expressions.
- property is_addrof: bool
- property is_alignof: bool
- property is_alignofe: bool
- property is_binop: bool
- property is_caste: bool
- property is_cn_app: bool
- property is_constant: bool
- property is_fn_app: bool
- property is_lval: bool
- property is_question: bool
- property is_sizeof: bool
- property is_sizeofe: bool
- property is_sizeofstr: bool
- property is_startof: bool
- property is_unop: bool
- class chc.app.CExp.CExpAddrOf(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpAddress-of expression
args[0]: index of lval in cdictionary
- property is_addrof: bool
- property lval: CLval
- class chc.app.CExp.CExpAddrOfLabel(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpAddress-of label expression
args[0]: statement sid
- property label_sid: int
- class chc.app.CExp.CExpAlignOf(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpAlignof type expression
args[0]: index of type in cdictionary
- property is_alignof: bool
- property typ: CTyp
- class chc.app.CExp.CExpAlignOfE(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpAlign of expression expression
args[0]: index of expression in cdictionary
- property exp: chc.app.CExp.CExp
- property is_alignofe: bool
- class chc.app.CExp.CExpBinOp(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpBinary expression
tags[1]: binary operator
args[0]: index of exp1 in cdictionary
args[1]: index of exp2 in cdictionary
args[2]: index of typ in cdictionary
- property exp1: chc.app.CExp.CExp
- property exp2: chc.app.CExp.CExp
- property is_binop: bool
- property op: str
- property typ: CTyp
- class chc.app.CExp.CExpCastE(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpCast expression.
args[0]: index of target type in cdictionary
args[1]: index of expression to be cast in cdictionary
- property exp: chc.app.CExp.CExp
- property is_caste: bool
- property typ: CTyp
- class chc.app.CExp.CExpCnApp(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpConstant function application.
tags[0]: name
args[0]: index of result type in cdictionary
args[1..]: indices of arguments (optional) in cdictionary
- property arguments: List[Optional[chc.app.CExp.CExp]]
- property is_cn_app: bool
- property name: str
- property typ: CTyp
- class chc.app.CExp.CExpConst(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpConstant expression
args[0]: constant
- property constant: CConst
- property is_constant: bool
- class chc.app.CExp.CExpFnApp(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpFunction application.
tags[1]: filename
args[0]: line number
args[1]: byte number
args[2]: index of target function expression in cdictionary
args[3..]: indices of arguments (optional) in cdictionary
- property arguments: List[Optional[chc.app.CExp.CExp]]
- property exp: chc.app.CExp.CExp
- property is_fn_app: bool
- class chc.app.CExp.CExpLval(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpLvalue expression.
args[0]: index of lval in cdictionary
- property is_lval: bool
- property lval: CLval
- class chc.app.CExp.CExpQuestion(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpQuestion expression.
args[0]: index of conditional expression in cdictionary
args[1]: index of if-true expression in cdictionary
args[2]: index of if-false expression in cdictionary
args[3]: index of result type in cdictionary
- property condition: chc.app.CExp.CExp
- property false_exp: chc.app.CExp.CExp
- property is_question: bool
- property true_exp: chc.app.CExp.CExp
- property typ: CTyp
- class chc.app.CExp.CExpSizeOf(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpSizeof type expression.
args[0]: index of target type in cdictionary
- property is_sizeof: bool
- property typ: CTyp
- class chc.app.CExp.CExpSizeOfE(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpSizeof expression expression
args[0]: exp
- property exp: chc.app.CExp.CExp
- property is_sizeofe: bool
- class chc.app.CExp.CExpSizeOfStr(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpSizeof string expression
args[0]:index of string in the string table
- property is_sizeofstr: bool
- property stringvalue: str
- class chc.app.CExp.CExpStartOf(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpStart-of expression
args[0]: index of lval in cdictionary
- property is_startof: bool
- property lval: CLval
- class chc.app.CExp.CExpUnOp(cd: CDictionary, ixval: chc.util.IndexedTable.IndexedTableValue)[source]
Bases:
chc.app.CExp.CExpUnary expression
tags[1]: unary operator
args[0]: index of subexpression in cdictionary
args[1]: index of result type in cdictionary
- property exp: chc.app.CExp.CExp
- property is_unop: bool
- property op: str
- property typ: CTyp