C# 클래스 Veil.Parser.SyntaxTreeExpression

Factory methods for create expression nodes
파일 보기 프로젝트 열기: namics/TerrificNet

공개 메소드들

메소드 설명
Field ( Type modelType, string fieldName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : FieldExpressionNode

Evaluate a field on the model object

Function ( Type modelType, string functionName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : FunctionCallExpressionNode

Evaluate a function call on the model

HasItems ( ExpressionNode collectionExpression, SourceLocation location, int recursionLevel ) : CollectionHasItemsExpressionNode

Evaluate whether the collectionExpression has Count > 0 Can only be used on types that implement System.Collections.ICollection

Helper ( string expression, IHelperHandler helperHandler, SourceLocation location ) : HelperExpressionNode
LateBound ( string itemName, SourceLocation location, IMemberLocator memberLocator = null, bool isCaseSensitive = true, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : LateBoundExpressionNode

Evaluate a property at runtime against an unknown model type

Property ( Type modelType, string propertyName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : PropertyExpressionNode

Evaluate a property on the model object

Self ( Type modelType, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : SelfExpressionNode

Evaluate the model itself e.g. Value types

SubModel ( ExpressionNode modelExpression, ExpressionNode subModelExpression, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : SubModelExpressionNode

Evaluate an expression on a sub model, can be nested to traverse any depth of sub models

메소드 상세

Field() 공개 정적인 메소드

Evaluate a field on the model object
public static Field ( Type modelType, string fieldName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : FieldExpressionNode
modelType System.Type The type of the scoped model
fieldName string The name of the field
location SourceLocation
scope ExpressionScope The scope this expression evaluated in
recursionLevel int
리턴 Veil.Parser.Nodes.FieldExpressionNode

Function() 공개 정적인 메소드

Evaluate a function call on the model
public static Function ( Type modelType, string functionName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : FunctionCallExpressionNode
modelType System.Type The type of the scoped model
functionName string The name of the function
location SourceLocation
scope ExpressionScope The scope this expression evaluated in
리턴 Veil.Parser.Nodes.FunctionCallExpressionNode

HasItems() 공개 정적인 메소드

Evaluate whether the collectionExpression has Count > 0 Can only be used on types that implement System.Collections.ICollection
public static HasItems ( ExpressionNode collectionExpression, SourceLocation location, int recursionLevel ) : CollectionHasItemsExpressionNode
collectionExpression ExpressionNode An expression referencing a Collection
location SourceLocation
recursionLevel int
리턴 Veil.Parser.Nodes.CollectionHasItemsExpressionNode

Helper() 공개 정적인 메소드

public static Helper ( string expression, IHelperHandler helperHandler, SourceLocation location ) : HelperExpressionNode
expression string
helperHandler IHelperHandler
location SourceLocation
리턴 HelperExpressionNode

LateBound() 공개 정적인 메소드

Evaluate a property at runtime against an unknown model type
public static LateBound ( string itemName, SourceLocation location, IMemberLocator memberLocator = null, bool isCaseSensitive = true, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : LateBoundExpressionNode
itemName string The name of the proeprty that will be searched for
location SourceLocation
memberLocator IMemberLocator
isCaseSensitive bool Indcates whether the expression should be evaluated with case sensitivity
scope ExpressionScope The scope this expression evaluated in
recursionLevel int
리턴 Veil.Parser.Nodes.LateBoundExpressionNode

Property() 공개 정적인 메소드

Evaluate a property on the model object
public static Property ( Type modelType, string propertyName, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack, int recursionLevel ) : PropertyExpressionNode
modelType System.Type The type of the scoped model
propertyName string The name of the property
location SourceLocation
scope ExpressionScope The scope this expression evaluated in
recursionLevel int
리턴 Veil.Parser.Nodes.PropertyExpressionNode

Self() 공개 정적인 메소드

Evaluate the model itself e.g. Value types
public static Self ( Type modelType, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : SelfExpressionNode
modelType System.Type The type of the scoped model
location SourceLocation
scope ExpressionScope The scope this expression evaluated in
리턴 Veil.Parser.Nodes.SelfExpressionNode

SubModel() 공개 정적인 메소드

Evaluate an expression on a sub model, can be nested to traverse any depth of sub models
public static SubModel ( ExpressionNode modelExpression, ExpressionNode subModelExpression, SourceLocation location, ExpressionScope scope = ExpressionScope.CurrentModelOnStack ) : SubModelExpressionNode
modelExpression ExpressionNode An expression referencing the model to traverse to
subModelExpression ExpressionNode An expression to evaluate in the scope of the model that has been traversed to
location SourceLocation
scope ExpressionScope The scope this expression evaluated in
리턴 SubModelExpressionNode