C# 클래스 Reko.Core.Expressions.ExpressionEmitter

Factory class that has the extra benefit of reducing the verbosity of the code.
파일 보기 프로젝트 열기: uxmal/reko 1 사용 예제들

공개 메소드들

메소드 설명
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

메소드 상세

AddrOf() 공개 메소드

public AddrOf ( Expression e ) : UnaryExpression
e Expression
리턴 UnaryExpression

And() 공개 메소드

public And ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
리턴 BinaryExpression

And() 공개 메소드

public And ( Expression left, ulong right ) : BinaryExpression
left Expression
right ulong
리턴 BinaryExpression

Array() 공개 메소드

public Array ( DataType elemType, Expression arrayPtr, Expression index ) : ArrayAccess
elemType DataType
arrayPtr Expression
index Expression
리턴 ArrayAccess

Byte() 공개 메소드

public Byte ( byte b ) : Constant
b byte
리턴 Constant

Cand() 공개 메소드

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

Cast() 공개 메소드

public Cast ( DataType dataType, Expression expr ) : Cast
dataType DataType
expr Expression
리턴 Cast

Comp() 공개 메소드

public Comp ( Expression expr ) : Expression
expr Expression
리턴 Expression

Cond() 공개 메소드

public Cond ( Expression expr ) : ConditionOf
expr Expression
리턴 ConditionOf

Cor() 공개 메소드

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

Deref() 공개 메소드

public Deref ( Expression a ) : Dereference
a Expression
리턴 Dereference

Dpb() 공개 메소드

public Dpb ( Expression dst, Expression src, int offset ) : DepositBits
dst Expression
src Expression
offset int
리턴 DepositBits

Eq() 공개 메소드

public Eq ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Eq() 공개 메소드

public Eq ( Expression a, int b ) : BinaryExpression
a Expression
b int
리턴 BinaryExpression

Eq0() 공개 메소드

public Eq0 ( Expression exp ) : BinaryExpression
exp Expression
리턴 BinaryExpression

FAdd() 공개 메소드

public FAdd ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FDiv() 공개 메소드

public FDiv ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FEq() 공개 메소드

public FEq ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FGe() 공개 메소드

public FGe ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FGt() 공개 메소드

public FGt ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FLe() 공개 메소드

public FLe ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FLt() 공개 메소드

public FLt ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FMul() 공개 메소드

public FMul ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FNe() 공개 메소드

public FNe ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

FNeg() 공개 메소드

public FNeg ( Expression a ) : Expression
a Expression
리턴 Expression

FSub() 공개 메소드

public FSub ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Field() 공개 메소드

public Field ( DataType dt, Expression e, Reko.Core.Types.Field field ) : FieldAccess
dt DataType
e Expression
field Reko.Core.Types.Field
리턴 FieldAccess

Field() 공개 메소드

public Field ( DataType dt, Expression e, string fieldName ) : FieldAccess
dt DataType
e Expression
fieldName string
리턴 FieldAccess

Fn() 공개 메소드

public Fn ( Expression e ) : Application
e Expression
리턴 Application

Fn() 공개 메소드

public Fn ( Expression fn, DataType retType ) : Application
fn Expression
retType DataType
리턴 Application

Fn() 공개 메소드

public Fn ( ExternalProcedure ep ) : Application
ep ExternalProcedure
리턴 Application

Fn() 공개 메소드

public Fn ( PseudoProcedure ppp ) : Application
ppp PseudoProcedure
리턴 Application

Ge() 공개 메소드

public Ge ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

Ge() 공개 메소드

public Ge ( Expression a, int b ) : Expression
a Expression
b int
리턴 Expression

Ge0() 공개 메소드

public Ge0 ( Expression exp ) : BinaryExpression
exp Expression
리턴 BinaryExpression

Gt() 공개 메소드

public Gt ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

Gt() 공개 메소드

public Gt ( Expression a, int b ) : Expression
a Expression
b int
리턴 Expression

IAdd() 공개 메소드

Integer addition.
public IAdd ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
리턴 BinaryExpression

IAdd() 공개 메소드

public IAdd ( Expression left, int right ) : BinaryExpression
left Expression
right int
리턴 BinaryExpression

IMul() 공개 메소드

public IMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
리턴 Expression

IMul() 공개 메소드

public IMul ( Expression left, int c ) : Expression
left Expression
c int
리턴 Expression

ISub() 공개 메소드

public ISub ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
리턴 BinaryExpression

ISub() 공개 메소드

public ISub ( Expression left, int right ) : BinaryExpression
left Expression
right int
리턴 BinaryExpression

Int16() 공개 메소드

public Int16 ( short n ) : Constant
n short
리턴 Constant

Int16() 공개 메소드

public Int16 ( uint n ) : Constant
n uint
리턴 Constant

Int32() 공개 메소드

public Int32 ( int n ) : Constant
n int
리턴 Constant

Int32() 공개 메소드

public Int32 ( uint n ) : Constant
n uint
리턴 Constant

Int8() 공개 메소드

public Int8 ( int n ) : Constant
n int
리턴 Constant

Le() 공개 메소드

public Le ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Le() 공개 메소드

public Le ( Expression a, int b ) : BinaryExpression
a Expression
b int
리턴 BinaryExpression

Load() 공개 메소드

public Load ( DataType dt, Expression ea ) : MemoryAccess
dt DataType
ea Expression
리턴 MemoryAccess

LoadB() 공개 메소드

public LoadB ( Expression ea ) : Expression
ea Expression
리턴 Expression

LoadDw() 공개 메소드

public LoadDw ( Expression ea ) : MemoryAccess
ea Expression
리턴 MemoryAccess

LoadW() 공개 메소드

public LoadW ( Expression ea ) : MemoryAccess
ea Expression
리턴 MemoryAccess

Lt() 공개 메소드

public Lt ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Lt() 공개 메소드

public Lt ( Expression a, int b ) : BinaryExpression
a Expression
b int
리턴 BinaryExpression

Lt0() 공개 메소드

public Lt0 ( Expression exp ) : BinaryExpression
exp Expression
리턴 BinaryExpression

MembPtr8() 공개 메소드

public MembPtr8 ( Expression ptr, Expression membPtr ) : MemberPointerSelector
ptr Expression
membPtr Expression
리턴 MemberPointerSelector

MembPtrW() 공개 메소드

public MembPtrW ( Expression ptr, Expression membPtr ) : MemberPointerSelector
ptr Expression
membPtr Expression
리턴 MemberPointerSelector

Mod() 공개 메소드

public Mod ( Expression opLeft, Expression opRight ) : Expression
opLeft Expression
opRight Expression
리턴 Expression

Ne() 공개 메소드

public Ne ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Ne() 공개 메소드

public Ne ( Expression a, int n ) : BinaryExpression
a Expression
n int
리턴 BinaryExpression

Ne0() 공개 메소드

public Ne0 ( Expression expr ) : BinaryExpression
expr Expression
리턴 BinaryExpression

Neg() 공개 메소드

public Neg ( Expression expr ) : UnaryExpression
expr Expression
리턴 UnaryExpression

Not() 공개 메소드

Logical not operation
public Not ( Expression exp ) : UnaryExpression
exp Expression
리턴 UnaryExpression

Or() 공개 메소드

public Or ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

Or() 공개 메소드

public Or ( Expression a, int b ) : Expression
a Expression
b int
리턴 Expression

Out() 공개 메소드

public Out ( DataType dt, Expression expr ) : OutArgument
dt DataType
expr Expression
리턴 OutArgument

Remainder() 공개 메소드

public Remainder ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

SDiv() 공개 메소드

public SDiv ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

SMul() 공개 메소드

public SMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
리턴 Expression

SMul() 공개 메소드

public SMul ( Expression left, int c ) : Expression
left Expression
c int
리턴 Expression

Sar() 공개 메소드

public Sar ( Expression e, Expression sh ) : BinaryExpression
e Expression
sh Expression
리턴 BinaryExpression

Sar() 공개 메소드

public Sar ( Expression e, byte sh ) : BinaryExpression
e Expression
sh byte
리턴 BinaryExpression

Sar() 공개 메소드

public Sar ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
리턴 BinaryExpression

SegMem() 공개 메소드

public SegMem ( DataType dt, Expression basePtr, Expression ptr ) : SegmentedAccess
dt DataType
basePtr Expression
ptr Expression
리턴 SegmentedAccess

SegMemB() 공개 메소드

public SegMemB ( Expression basePtr, Expression ptr ) : SegmentedAccess
basePtr Expression
ptr Expression
리턴 SegmentedAccess

SegMemW() 공개 메소드

public SegMemW ( Expression basePtr, Expression ptr ) : SegmentedAccess
basePtr Expression
ptr Expression
리턴 SegmentedAccess

Seq() 공개 메소드

public Seq ( Expression head, Expression tail ) : MkSequence
head Expression
tail Expression
리턴 MkSequence

Shl() 공개 메소드

public Shl ( Expression e, Expression sh ) : BinaryExpression
e Expression
sh Expression
리턴 BinaryExpression

Shl() 공개 메소드

public Shl ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
리턴 BinaryExpression

Shl() 공개 메소드

public Shl ( int c, Expression sh ) : BinaryExpression
c int
sh Expression
리턴 BinaryExpression

Shr() 공개 메소드

public Shr ( Expression exp, Expression sh ) : BinaryExpression
exp Expression
sh Expression
리턴 BinaryExpression

Shr() 공개 메소드

public Shr ( Expression exp, byte c ) : BinaryExpression
exp Expression
c byte
리턴 BinaryExpression

Shr() 공개 메소드

public Shr ( Expression e, int sh ) : BinaryExpression
e Expression
sh int
리턴 BinaryExpression

Slice() 공개 메소드

public Slice ( PrimitiveType primitiveType, Identifier value, uint bitOffset ) : Slice
primitiveType PrimitiveType
value Identifier
bitOffset uint
리턴 Slice

Test() 공개 메소드

public Test ( ConditionCode cc, Expression expr ) : TestCondition
cc ConditionCode
expr Expression
리턴 TestCondition

UDiv() 공개 메소드

public UDiv ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

UMul() 공개 메소드

public UMul ( Expression left, Expression right ) : Expression
left Expression
right Expression
리턴 Expression

UMul() 공개 메소드

public UMul ( Expression left, int c ) : Expression
left Expression
c int
리턴 Expression

USub() 공개 메소드

public USub ( Expression left, Expression right ) : BinaryExpression
left Expression
right Expression
리턴 BinaryExpression

Uge() 공개 메소드

public Uge ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Uge() 공개 메소드

public Uge ( Expression a, int n ) : BinaryExpression
a Expression
n int
리턴 BinaryExpression

Ugt() 공개 메소드

public Ugt ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Ule() 공개 메소드

public Ule ( Expression a, Expression b ) : BinaryExpression
a Expression
b Expression
리턴 BinaryExpression

Ult() 공개 메소드

public Ult ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression

Ult() 공개 메소드

public Ult ( Expression a, int b ) : Expression
a Expression
b int
리턴 Expression

Word() 공개 메소드

public Word ( int byteSize, long n ) : Constant
byteSize int
n long
리턴 Constant

Word16() 공개 메소드

public Word16 ( uint n ) : Constant
n uint
리턴 Constant

Word16() 공개 메소드

public Word16 ( ushort n ) : Constant
n ushort
리턴 Constant

Word32() 공개 메소드

public Word32 ( int n ) : Constant
n int
리턴 Constant

Xor() 공개 메소드

public Xor ( Expression a, Expression b ) : Expression
a Expression
b Expression
리턴 Expression