C# Class Reko.Core.Expressions.ExpressionEmitter

Factory class that has the extra benefit of reducing the verbosity of the code.
Afficher le fichier Open project: uxmal/reko Class Usage Examples

Méthodes publiques

Méthode Description
AddrOf ( Expression e ) : UnaryExpression
And ( Expression left, Expression right ) : BinaryExpression
And ( Expression left, ulong right ) : BinaryExpression
Array ( DataType elemType, Expression arrayPtr, Expression index ) : ArrayAccess
Byte ( byte b ) : Constant
Cand ( Expression a, Expression b ) : Expression

Short-circuiting 'and' ('&&' in C family of languages)

Cast ( DataType dataType, Expression expr ) : Cast
Comp ( Expression expr ) : Expression
Cond ( Expression expr ) : ConditionOf
Cor ( Expression a, Expression b ) : Expression

Short-circuiting 'or' ('&&' in C family of languages)

Deref ( Expression a ) : Dereference
Dpb ( Expression dst, Expression src, int offset ) : DepositBits
Eq ( Expression a, Expression b ) : BinaryExpression
Eq ( Expression a, int b ) : BinaryExpression
Eq0 ( Expression exp ) : BinaryExpression
FAdd ( Expression a, Expression b ) : Expression
FDiv ( Expression a, Expression b ) : Expression
FEq ( Expression a, Expression b ) : Expression
FGe ( Expression a, Expression b ) : Expression
FGt ( Expression a, Expression b ) : Expression
FLe ( Expression a, Expression b ) : Expression
FLt ( Expression a, Expression b ) : Expression
FMul ( Expression a, Expression b ) : Expression
FNe ( Expression a, Expression b ) : Expression
FNeg ( Expression a ) : Expression
FSub ( Expression a, Expression b ) : BinaryExpression
Field ( DataType dt, Expression e, Reko.Core.Types.Field field ) : FieldAccess
Field ( DataType dt, Expression e, string fieldName ) : FieldAccess
Fn ( Expression e ) : Application
Fn ( Expression fn, DataType retType ) : Application
Fn ( ExternalProcedure ep ) : Application
Fn ( PseudoProcedure ppp ) : Application
Ge ( Expression a, Expression b ) : Expression
Ge ( Expression a, int b ) : Expression
Ge0 ( Expression exp ) : BinaryExpression
Gt ( Expression a, Expression b ) : Expression
Gt ( Expression a, int b ) : Expression
IAdd ( Expression left, Expression right ) : BinaryExpression

Integer addition.

IAdd ( Expression left, int right ) : BinaryExpression
IMul ( Expression left, Expression right ) : Expression
IMul ( Expression left, int c ) : Expression
ISub ( Expression left, Expression right ) : BinaryExpression
ISub ( Expression left, int right ) : BinaryExpression
Int16 ( short n ) : Constant
Int16 ( uint n ) : Constant
Int32 ( int n ) : Constant
Int32 ( uint n ) : Constant
Int8 ( int n ) : Constant
Le ( Expression a, Expression b ) : BinaryExpression
Le ( Expression a, int b ) : BinaryExpression
Load ( DataType dt, Expression ea ) : MemoryAccess
LoadB ( Expression ea ) : Expression
LoadDw ( Expression ea ) : MemoryAccess
LoadW ( Expression ea ) : MemoryAccess
Lt ( Expression a, Expression b ) : BinaryExpression
Lt ( Expression a, int b ) : BinaryExpression
Lt0 ( Expression exp ) : BinaryExpression
MembPtr8 ( Expression ptr, Expression membPtr ) : MemberPointerSelector
MembPtrW ( Expression ptr, Expression membPtr ) : MemberPointerSelector
Mod ( Expression opLeft, Expression opRight ) : Expression
Ne ( Expression a, Expression b ) : BinaryExpression
Ne ( Expression a, int n ) : BinaryExpression
Ne0 ( Expression expr ) : BinaryExpression
Neg ( Expression expr ) : UnaryExpression
Not ( Expression exp ) : UnaryExpression

Logical not operation

Or ( Expression a, Expression b ) : Expression
Or ( Expression a, int b ) : Expression
Out ( DataType dt, Expression expr ) : OutArgument
Remainder ( Expression a, Expression b ) : Expression
SDiv ( Expression a, Expression b ) : BinaryExpression
SMul ( Expression left, Expression right ) : Expression
SMul ( Expression left, int c ) : Expression
Sar ( Expression e, Expression sh ) : BinaryExpression
Sar ( Expression e, byte sh ) : BinaryExpression
Sar ( Expression e, int sh ) : BinaryExpression
SegMem ( DataType dt, Expression basePtr, Expression ptr ) : SegmentedAccess
SegMemB ( Expression basePtr, Expression ptr ) : SegmentedAccess
SegMemW ( Expression basePtr, Expression ptr ) : SegmentedAccess
Seq ( Expression head, Expression tail ) : MkSequence
Shl ( Expression e, Expression sh ) : BinaryExpression
Shl ( Expression e, int sh ) : BinaryExpression
Shl ( int c, Expression sh ) : BinaryExpression
Shr ( Expression exp, Expression sh ) : BinaryExpression
Shr ( Expression exp, byte c ) : BinaryExpression
Shr ( Expression e, int sh ) : BinaryExpression
Slice ( PrimitiveType primitiveType, Identifier value, uint bitOffset ) : Slice
Test ( ConditionCode cc, Expression expr ) : TestCondition
UDiv ( Expression a, Expression b ) : BinaryExpression
UMul ( Expression left, Expression right ) : Expression
UMul ( Expression left, int c ) : Expression
USub ( Expression left, Expression right ) : BinaryExpression
Uge ( Expression a, Expression b ) : BinaryExpression
Uge ( Expression a, int n ) : BinaryExpression
Ugt ( Expression a, Expression b ) : BinaryExpression
Ule ( Expression a, Expression b ) : BinaryExpression
Ult ( Expression a, Expression b ) : Expression
Ult ( Expression a, int b ) : Expression
Word ( int byteSize, long n ) : Constant
Word16 ( uint n ) : Constant
Word16 ( ushort n ) : Constant
Word32 ( int n ) : Constant
Xor ( Expression a, Expression b ) : Expression

Method Details

AddrOf() public méthode

public AddrOf ( Expression e ) : UnaryExpression
e Expression
Résultat UnaryExpression

And() public méthode

public And ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
Résultat BinaryExpression

And() public méthode

public And ( Expression left, ulong right ) : BinaryExpression
left Expression
right ulong
Résultat BinaryExpression

Array() public méthode

public Array ( DataType elemType, Expression arrayPtr, Expression index ) : ArrayAccess
elemType DataType
arrayPtr Expression
index Expression
Résultat ArrayAccess

Byte() public méthode

public Byte ( byte b ) : Constant
b byte
Résultat Constant

Cand() public méthode

Short-circuiting 'and' ('&&' in C family of languages)
public Cand ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Cast() public méthode

public Cast ( DataType dataType, Expression expr ) : Cast
dataType DataType
expr Expression
Résultat Cast

Comp() public méthode

public Comp ( Expression expr ) : Expression
expr Expression
Résultat Expression

Cond() public méthode

public Cond ( Expression expr ) : ConditionOf
expr Expression
Résultat ConditionOf

Cor() public méthode

Short-circuiting 'or' ('&&' in C family of languages)
public Cor ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Deref() public méthode

public Deref ( Expression a ) : Dereference
a Expression
Résultat Dereference

Dpb() public méthode

public Dpb ( Expression dst, Expression src, int offset ) : DepositBits
dst Expression
src Expression
offset int
Résultat DepositBits

Eq() public méthode

public Eq ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Eq() public méthode

public Eq ( Expression a, int b ) : BinaryExpression
a Expression
b int
Résultat BinaryExpression

Eq0() public méthode

public Eq0 ( Expression exp ) : BinaryExpression
exp Expression
Résultat BinaryExpression

FAdd() public méthode

public FAdd ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FDiv() public méthode

public FDiv ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FEq() public méthode

public FEq ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FGe() public méthode

public FGe ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FGt() public méthode

public FGt ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FLe() public méthode

public FLe ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FLt() public méthode

public FLt ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FMul() public méthode

public FMul ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FNe() public méthode

public FNe ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

FNeg() public méthode

public FNeg ( Expression a ) : Expression
a Expression
Résultat Expression

FSub() public méthode

public FSub ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Field() public méthode

public Field ( DataType dt, Expression e, Reko.Core.Types.Field field ) : FieldAccess
dt DataType
e Expression
field Reko.Core.Types.Field
Résultat FieldAccess

Field() public méthode

public Field ( DataType dt, Expression e, string fieldName ) : FieldAccess
dt DataType
e Expression
fieldName string
Résultat FieldAccess

Fn() public méthode

public Fn ( Expression e ) : Application
e Expression
Résultat Application

Fn() public méthode

public Fn ( Expression fn, DataType retType ) : Application
fn Expression
retType DataType
Résultat Application

Fn() public méthode

public Fn ( ExternalProcedure ep ) : Application
ep ExternalProcedure
Résultat Application

Fn() public méthode

public Fn ( PseudoProcedure ppp ) : Application
ppp PseudoProcedure
Résultat Application

Ge() public méthode

public Ge ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Ge() public méthode

public Ge ( Expression a, int b ) : Expression
a Expression
b int
Résultat Expression

Ge0() public méthode

public Ge0 ( Expression exp ) : BinaryExpression
exp Expression
Résultat BinaryExpression

Gt() public méthode

public Gt ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Gt() public méthode

public Gt ( Expression a, int b ) : Expression
a Expression
b int
Résultat Expression

IAdd() public méthode

Integer addition.
public IAdd ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
Résultat BinaryExpression

IAdd() public méthode

public IAdd ( Expression left, int right ) : BinaryExpression
left Expression
right int
Résultat BinaryExpression

IMul() public méthode

public IMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
Résultat Expression

IMul() public méthode

public IMul ( Expression left, int c ) : Expression
left Expression
c int
Résultat Expression

ISub() public méthode

public ISub ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
Résultat BinaryExpression

ISub() public méthode

public ISub ( Expression left, int right ) : BinaryExpression
left Expression
right int
Résultat BinaryExpression

Int16() public méthode

public Int16 ( short n ) : Constant
n short
Résultat Constant

Int16() public méthode

public Int16 ( uint n ) : Constant
n uint
Résultat Constant

Int32() public méthode

public Int32 ( int n ) : Constant
n int
Résultat Constant

Int32() public méthode

public Int32 ( uint n ) : Constant
n uint
Résultat Constant

Int8() public méthode

public Int8 ( int n ) : Constant
n int
Résultat Constant

Le() public méthode

public Le ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Le() public méthode

public Le ( Expression a, int b ) : BinaryExpression
a Expression
b int
Résultat BinaryExpression

Load() public méthode

public Load ( DataType dt, Expression ea ) : MemoryAccess
dt DataType
ea Expression
Résultat MemoryAccess

LoadB() public méthode

public LoadB ( Expression ea ) : Expression
ea Expression
Résultat Expression

LoadDw() public méthode

public LoadDw ( Expression ea ) : MemoryAccess
ea Expression
Résultat MemoryAccess

LoadW() public méthode

public LoadW ( Expression ea ) : MemoryAccess
ea Expression
Résultat MemoryAccess

Lt() public méthode

public Lt ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Lt() public méthode

public Lt ( Expression a, int b ) : BinaryExpression
a Expression
b int
Résultat BinaryExpression

Lt0() public méthode

public Lt0 ( Expression exp ) : BinaryExpression
exp Expression
Résultat BinaryExpression

MembPtr8() public méthode

public MembPtr8 ( Expression ptr, Expression membPtr ) : MemberPointerSelector
ptr Expression
membPtr Expression
Résultat MemberPointerSelector

MembPtrW() public méthode

public MembPtrW ( Expression ptr, Expression membPtr ) : MemberPointerSelector
ptr Expression
membPtr Expression
Résultat MemberPointerSelector

Mod() public méthode

public Mod ( Expression opLeft, Expression opRight ) : Expression
opLeft Expression
opRight Expression
Résultat Expression

Ne() public méthode

public Ne ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Ne() public méthode

public Ne ( Expression a, int n ) : BinaryExpression
a Expression
n int
Résultat BinaryExpression

Ne0() public méthode

public Ne0 ( Expression expr ) : BinaryExpression
expr Expression
Résultat BinaryExpression

Neg() public méthode

public Neg ( Expression expr ) : UnaryExpression
expr Expression
Résultat UnaryExpression

Not() public méthode

Logical not operation
public Not ( Expression exp ) : UnaryExpression
exp Expression
Résultat UnaryExpression

Or() public méthode

public Or ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Or() public méthode

public Or ( Expression a, int b ) : Expression
a Expression
b int
Résultat Expression

Out() public méthode

public Out ( DataType dt, Expression expr ) : OutArgument
dt DataType
expr Expression
Résultat OutArgument

Remainder() public méthode

public Remainder ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

SDiv() public méthode

public SDiv ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

SMul() public méthode

public SMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
Résultat Expression

SMul() public méthode

public SMul ( Expression left, int c ) : Expression
left Expression
c int
Résultat Expression

Sar() public méthode

public Sar ( Expression e, Expression sh ) : BinaryExpression
e Expression
sh Expression
Résultat BinaryExpression

Sar() public méthode

public Sar ( Expression e, byte sh ) : BinaryExpression
e Expression
sh byte
Résultat BinaryExpression

Sar() public méthode

public Sar ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
Résultat BinaryExpression

SegMem() public méthode

public SegMem ( DataType dt, Expression basePtr, Expression ptr ) : SegmentedAccess
dt DataType
basePtr Expression
ptr Expression
Résultat SegmentedAccess

SegMemB() public méthode

public SegMemB ( Expression basePtr, Expression ptr ) : SegmentedAccess
basePtr Expression
ptr Expression
Résultat SegmentedAccess

SegMemW() public méthode

public SegMemW ( Expression basePtr, Expression ptr ) : SegmentedAccess
basePtr Expression
ptr Expression
Résultat SegmentedAccess

Seq() public méthode

public Seq ( Expression head, Expression tail ) : MkSequence
head Expression
tail Expression
Résultat MkSequence

Shl() public méthode

public Shl ( Expression e, Expression sh ) : BinaryExpression
e Expression
sh Expression
Résultat BinaryExpression

Shl() public méthode

public Shl ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
Résultat BinaryExpression

Shl() public méthode

public Shl ( int c, Expression sh ) : BinaryExpression
c int
sh Expression
Résultat BinaryExpression

Shr() public méthode

public Shr ( Expression exp, Expression sh ) : BinaryExpression
exp Expression
sh Expression
Résultat BinaryExpression

Shr() public méthode

public Shr ( Expression exp, byte c ) : BinaryExpression
exp Expression
c byte
Résultat BinaryExpression

Shr() public méthode

public Shr ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
Résultat BinaryExpression

Slice() public méthode

public Slice ( PrimitiveType primitiveType, Identifier value, uint bitOffset ) : Slice
primitiveType PrimitiveType
value Identifier
bitOffset uint
Résultat Slice

Test() public méthode

public Test ( ConditionCode cc, Expression expr ) : TestCondition
cc ConditionCode
expr Expression
Résultat TestCondition

UDiv() public méthode

public UDiv ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

UMul() public méthode

public UMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
Résultat Expression

UMul() public méthode

public UMul ( Expression left, int c ) : Expression
left Expression
c int
Résultat Expression

USub() public méthode

public USub ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
Résultat BinaryExpression

Uge() public méthode

public Uge ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Uge() public méthode

public Uge ( Expression a, int n ) : BinaryExpression
a Expression
n int
Résultat BinaryExpression

Ugt() public méthode

public Ugt ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Ule() public méthode

public Ule ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
Résultat BinaryExpression

Ult() public méthode

public Ult ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression

Ult() public méthode

public Ult ( Expression a, int b ) : Expression
a Expression
b int
Résultat Expression

Word() public méthode

public Word ( int byteSize, long n ) : Constant
byteSize int
n long
Résultat Constant

Word16() public méthode

public Word16 ( uint n ) : Constant
n uint
Résultat Constant

Word16() public méthode

public Word16 ( ushort n ) : Constant
n ushort
Résultat Constant

Word32() public méthode

public Word32 ( int n ) : Constant
n int
Résultat Constant

Xor() public méthode

public Xor ( Expression a, Expression b ) : Expression
a Expression
b Expression
Résultat Expression