C# Класс Microsoft.Scripting.Ast.Utils

Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
AddDebugInfo ( Expression expression, SymbolDocumentInfo document, SourceLocation start, SourceLocation end ) : Expression
AddDebugInfo ( Expression expression, SymbolDocumentInfo document, int startLine, int startColumn, int endLine, int endColumn ) : Expression
Box ( Expression expression ) : Expression

Returns an expression that boxes a given value. Uses boxed objects cache for Int32 and Boolean types.

Coalesce ( Expression left, Expression right, ParameterExpression &temp ) : Expression

Null coalescing expression {result} ::= ((tmp = {_left}) == null) ? {right} : tmp '??' operator in C#.

Coalesce ( LambdaBuilder builder, Expression left, Expression right ) : Expression
CoalesceFalse ( Expression left, Expression right, MethodInfo isTrue, ParameterExpression &temp ) : Expression

False coalescing expression. {result} ::= IsTrue(tmp = {left}) ? tmp : {right} Generalized OR semantics.

CoalesceFalse ( LambdaBuilder builder, Expression left, Expression right, MethodInfo isTrue ) : Expression

False coalescing expression. {result} ::= IsTrue(tmp = {left}) ? tmp : {right} Generalized OR semantics.

CoalesceTrue ( Expression left, Expression right, MethodInfo isTrue, ParameterExpression &temp ) : Expression

True coalescing expression. {result} ::= IsTrue(tmp = {left}) ? {right} : tmp Generalized AND semantics.

CoalesceTrue ( LambdaBuilder builder, Expression left, Expression right, MethodInfo isTrue ) : Expression

True coalescing expression. {result} ::= IsTrue(tmp = {left}) ? {right} : tmp Generalized AND semantics.

ComplexCallHelper ( MethodInfo method ) : Expression

The complex call helper to create the AST method call node. Will add conversions (Expression.Convert()), deals with default parameter values and params arrays.

Convert ( Expression expression, Type type ) : Expression
DebugMarker ( string marker ) : Expression
FinallyFlowControl ( Expression body ) : Expression
GetLValueAccess ( this type ) : ExpressionAccess

Determines if the left child of the given expression is read or written to or both.

If ( IfStatementTest tests, Expression @else ) : Expression
If ( ) : IfStatementBuilder
If ( Expression test ) : IfStatementBuilder
If ( Expression test, Expression body ) : IfStatementBuilder
IfThen ( Expression test ) : Expression
IfThen ( Expression test, Expression body ) : Expression
IfThenElse ( Expression test, Expression body, Expression @else ) : Expression
Infinite ( Expression body ) : LoopExpression
Infinite ( Expression body, LabelTarget @break, LabelTarget @continue ) : LoopExpression
IsAssignment ( this type ) : bool

Determines whether specified expression type represents an assignment.

Note that some other nodes can also assign to variables, members or array items: MemberInit, NewArrayInit, Call with ref params, New with ref params, Dynamic with ref params.

IsLValue ( this type ) : bool
IsReadWriteAssignment ( this type ) : bool
IsWriteOnlyAssignment ( this type ) : bool
Loop ( Expression test, Expression increment, Expression body, Expression @else ) : LoopExpression
Loop ( Expression test, Expression increment, Expression body, Expression @else, LabelTarget @break, LabelTarget @continue ) : LoopExpression
NewArrayHelper ( Type type, IEnumerable initializers ) : NewArrayExpression
SimpleCallHelper ( Expression instance, MethodInfo method ) : MethodCallExpression

The helper to create the AST method call node. Will add conversions (Utils.Convert) to parameters and instance if necessary.

SimpleCallHelper ( MethodInfo method ) : MethodCallExpression

The helper to create the AST method call node. Will add conversions (Utils.Convert) to parameters and instance if necessary.

Try ( ) : TryStatementBuilder
Try ( Expression body ) : TryStatementBuilder
Try ( Expression expr0, Expression expr1 ) : TryStatementBuilder
Try ( Expression expr0, Expression expr1, Expression expr2 ) : TryStatementBuilder
Try ( Expression expr0, Expression expr1, Expression expr2, Expression expr3 ) : TryStatementBuilder
Unless ( Expression test, Expression body ) : Expression
Update ( this expression, Expression left, Expression right ) : BinaryExpression
Void ( Expression expression ) : Expression

Converts an expression to a void type.

While ( Expression test, Expression body, Expression @else ) : LoopExpression
While ( Expression test, Expression body, Expression @else, LabelTarget @break, LabelTarget @continue ) : LoopExpression

Приватные методы

Метод Описание
AddScopedVariable ( Expression body, System.Linq.Expressions.ParameterExpression variable, Expression variableInit ) : Expression
ArgumentConvertHelper ( Expression argument, Type type ) : Expression
ArgumentConvertHelper ( Expression arguments, ParameterInfo parameters ) : Expression[]
Block ( Expression expressions ) : System.Linq.Expressions.BlockExpression
BlockVoid ( Expression expressions ) : BlockExpression
CallDebugWriteLine ( string marker ) : MethodCallExpression
CoalesceInternal ( Expression left, Expression right, MethodInfo isTrue, bool isReverse, ParameterExpression &temp ) : Expression
CompatibleParameterTypes ( Type parameter, Type argument ) : bool
ComplexCallHelper ( Expression instance, MethodInfo method ) : Expression
CreateDefaultValueExpression ( ParameterInfo parameter ) : Expression
DebugMark ( Expression expression, string marker ) : Expression

Описание методов

AddDebugInfo() публичный статический Метод

public static AddDebugInfo ( Expression expression, SymbolDocumentInfo document, SourceLocation start, SourceLocation end ) : Expression
expression Expression
document System.Linq.Expressions.SymbolDocumentInfo
start SourceLocation
end SourceLocation
Результат Expression

AddDebugInfo() публичный статический Метод

public static AddDebugInfo ( Expression expression, SymbolDocumentInfo document, int startLine, int startColumn, int endLine, int endColumn ) : Expression
expression Expression
document System.Linq.Expressions.SymbolDocumentInfo
startLine int
startColumn int
endLine int
endColumn int
Результат Expression

Box() публичный статический Метод

Returns an expression that boxes a given value. Uses boxed objects cache for Int32 and Boolean types.
public static Box ( Expression expression ) : Expression
expression Expression
Результат Expression

Coalesce() публичный статический Метод

Null coalescing expression {result} ::= ((tmp = {_left}) == null) ? {right} : tmp '??' operator in C#.
public static Coalesce ( Expression left, Expression right, ParameterExpression &temp ) : Expression
left Expression
right Expression
temp ParameterExpression
Результат Expression

Coalesce() публичный статический Метод

public static Coalesce ( LambdaBuilder builder, Expression left, Expression right ) : Expression
builder LambdaBuilder
left Expression
right Expression
Результат Expression

CoalesceFalse() публичный статический Метод

False coalescing expression. {result} ::= IsTrue(tmp = {left}) ? tmp : {right} Generalized OR semantics.
public static CoalesceFalse ( Expression left, Expression right, MethodInfo isTrue, ParameterExpression &temp ) : Expression
left Expression
right Expression
isTrue MethodInfo
temp ParameterExpression
Результат Expression

CoalesceFalse() публичный статический Метод

False coalescing expression. {result} ::= IsTrue(tmp = {left}) ? tmp : {right} Generalized OR semantics.
public static CoalesceFalse ( LambdaBuilder builder, Expression left, Expression right, MethodInfo isTrue ) : Expression
builder LambdaBuilder
left Expression
right Expression
isTrue MethodInfo
Результат Expression

CoalesceTrue() публичный статический Метод

True coalescing expression. {result} ::= IsTrue(tmp = {left}) ? {right} : tmp Generalized AND semantics.
public static CoalesceTrue ( Expression left, Expression right, MethodInfo isTrue, ParameterExpression &temp ) : Expression
left Expression
right Expression
isTrue MethodInfo
temp ParameterExpression
Результат Expression

CoalesceTrue() публичный статический Метод

True coalescing expression. {result} ::= IsTrue(tmp = {left}) ? {right} : tmp Generalized AND semantics.
public static CoalesceTrue ( LambdaBuilder builder, Expression left, Expression right, MethodInfo isTrue ) : Expression
builder LambdaBuilder
left Expression
right Expression
isTrue MethodInfo
Результат Expression

ComplexCallHelper() публичный статический Метод

The complex call helper to create the AST method call node. Will add conversions (Expression.Convert()), deals with default parameter values and params arrays.
public static ComplexCallHelper ( MethodInfo method ) : Expression
method MethodInfo
Результат Expression

Convert() публичный статический Метод

public static Convert ( Expression expression, Type type ) : Expression
expression Expression
type Type
Результат Expression

DebugMarker() публичный статический Метод

public static DebugMarker ( string marker ) : Expression
marker string
Результат Expression

FinallyFlowControl() публичный статический Метод

public static FinallyFlowControl ( Expression body ) : Expression
body Expression
Результат Expression

GetLValueAccess() публичный статический Метод

Determines if the left child of the given expression is read or written to or both.
public static GetLValueAccess ( this type ) : ExpressionAccess
type this
Результат ExpressionAccess

If() публичный статический Метод

public static If ( IfStatementTest tests, Expression @else ) : Expression
tests IfStatementTest
@else Expression
Результат Expression

If() публичный статический Метод

public static If ( ) : IfStatementBuilder
Результат IfStatementBuilder

If() публичный статический Метод

public static If ( Expression test ) : IfStatementBuilder
test Expression
Результат IfStatementBuilder

If() публичный статический Метод

public static If ( Expression test, Expression body ) : IfStatementBuilder
test Expression
body Expression
Результат IfStatementBuilder

IfThen() публичный статический Метод

public static IfThen ( Expression test ) : Expression
test Expression
Результат Expression

IfThen() публичный статический Метод

public static IfThen ( Expression test, Expression body ) : Expression
test Expression
body Expression
Результат Expression

IfThenElse() публичный статический Метод

public static IfThenElse ( Expression test, Expression body, Expression @else ) : Expression
test Expression
body Expression
@else Expression
Результат Expression

Infinite() публичный статический Метод

public static Infinite ( Expression body ) : LoopExpression
body Expression
Результат LoopExpression

Infinite() публичный статический Метод

public static Infinite ( Expression body, LabelTarget @break, LabelTarget @continue ) : LoopExpression
body Expression
@break LabelTarget
@continue LabelTarget
Результат LoopExpression

IsAssignment() публичный статический Метод

Determines whether specified expression type represents an assignment.
Note that some other nodes can also assign to variables, members or array items: MemberInit, NewArrayInit, Call with ref params, New with ref params, Dynamic with ref params.
public static IsAssignment ( this type ) : bool
type this
Результат bool

IsLValue() публичный статический Метод

public static IsLValue ( this type ) : bool
type this
Результат bool

IsReadWriteAssignment() публичный статический Метод

public static IsReadWriteAssignment ( this type ) : bool
type this
Результат bool

IsWriteOnlyAssignment() публичный статический Метод

public static IsWriteOnlyAssignment ( this type ) : bool
type this
Результат bool

Loop() публичный статический Метод

public static Loop ( Expression test, Expression increment, Expression body, Expression @else ) : LoopExpression
test Expression
increment Expression
body Expression
@else Expression
Результат LoopExpression

Loop() публичный статический Метод

public static Loop ( Expression test, Expression increment, Expression body, Expression @else, LabelTarget @break, LabelTarget @continue ) : LoopExpression
test Expression
increment Expression
body Expression
@else Expression
@break LabelTarget
@continue LabelTarget
Результат LoopExpression

NewArrayHelper() публичный статический Метод

public static NewArrayHelper ( Type type, IEnumerable initializers ) : NewArrayExpression
type Type
initializers IEnumerable
Результат NewArrayExpression

SimpleCallHelper() публичный статический Метод

The helper to create the AST method call node. Will add conversions (Utils.Convert) to parameters and instance if necessary.
public static SimpleCallHelper ( Expression instance, MethodInfo method ) : MethodCallExpression
instance Expression
method MethodInfo
Результат MethodCallExpression

SimpleCallHelper() публичный статический Метод

The helper to create the AST method call node. Will add conversions (Utils.Convert) to parameters and instance if necessary.
public static SimpleCallHelper ( MethodInfo method ) : MethodCallExpression
method MethodInfo
Результат MethodCallExpression

Try() публичный статический Метод

public static Try ( ) : TryStatementBuilder
Результат TryStatementBuilder

Try() публичный статический Метод

public static Try ( Expression body ) : TryStatementBuilder
body Expression
Результат TryStatementBuilder

Try() публичный статический Метод

public static Try ( Expression expr0, Expression expr1 ) : TryStatementBuilder
expr0 Expression
expr1 Expression
Результат TryStatementBuilder

Try() публичный статический Метод

public static Try ( Expression expr0, Expression expr1, Expression expr2 ) : TryStatementBuilder
expr0 Expression
expr1 Expression
expr2 Expression
Результат TryStatementBuilder

Try() публичный статический Метод

public static Try ( Expression expr0, Expression expr1, Expression expr2, Expression expr3 ) : TryStatementBuilder
expr0 Expression
expr1 Expression
expr2 Expression
expr3 Expression
Результат TryStatementBuilder

Unless() публичный статический Метод

public static Unless ( Expression test, Expression body ) : Expression
test Expression
body Expression
Результат Expression

Update() публичный статический Метод

public static Update ( this expression, Expression left, Expression right ) : BinaryExpression
expression this
left Expression
right Expression
Результат BinaryExpression

Void() публичный статический Метод

Converts an expression to a void type.
public static Void ( Expression expression ) : Expression
expression Expression An to convert to void.
Результат Expression

While() публичный статический Метод

public static While ( Expression test, Expression body, Expression @else ) : LoopExpression
test Expression
body Expression
@else Expression
Результат LoopExpression

While() публичный статический Метод

public static While ( Expression test, Expression body, Expression @else, LabelTarget @break, LabelTarget @continue ) : LoopExpression
test Expression
body Expression
@else Expression
@break LabelTarget
@continue LabelTarget
Результат LoopExpression