public CsdlSemanticsLabeledExpression(string name, CsdlExpressionBase element, IEdmEntityType bindingContext, CsdlSemanticsSchema schema) : base(element) { this.expressionCache = new Cache<CsdlSemanticsLabeledExpression, IEdmExpression>(); this.name = name; this.sourceElement = element; this.bindingContext = bindingContext; this.schema = schema; }
public CsdlPropertyReferenceExpression(string property, CsdlExpressionBase baseExpression, CsdlLocation location) : base(location) { this.property = property; this.baseExpression = baseExpression; }
public CsdlPropertyValue(string property, CsdlExpressionBase expression, CsdlLocation location) : base(location) { this.property = property; this.expression = expression; }
public CsdlAssertTypeExpression(CsdlTypeReference type, CsdlExpressionBase operand, CsdlLocation location) : base(location) { this.type = type; this.operand = operand; }
public CsdlLabeledExpression(string label, CsdlExpressionBase element, CsdlLocation location) : base(location) { this.label = label; this.element = element; }
protected CsdlSemanticsExpression(CsdlSemanticsSchema schema, CsdlExpressionBase element) : base(element) { this.schema = schema; }
public CsdlIfExpression(CsdlExpressionBase test, CsdlExpressionBase ifTrue, CsdlExpressionBase ifFalse, CsdlLocation location) : base(location) { this.test = test; this.ifTrue = ifTrue; this.ifFalse = ifFalse; }
public CsdlValueAnnotation(string term, string qualifier, CsdlExpressionBase expression, CsdlLocation location) : base(term, qualifier, location) { this.expression = expression; }
internal static IEdmExpression WrapExpression(CsdlExpressionBase expression, IEdmEntityType bindingContext, CsdlSemanticsSchema schema) { if (expression != null) { switch (expression.ExpressionKind) { case EdmExpressionKind.BinaryConstant: return new CsdlSemanticsBinaryConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.BooleanConstant: return new CsdlSemanticsBooleanConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.DateTimeConstant: return new CsdlSemanticsDateTimeConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.DateTimeOffsetConstant: return new CsdlSemanticsDateTimeOffsetConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.DecimalConstant: return new CsdlSemanticsDecimalConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.FloatingConstant: return new CsdlSemanticsFloatingConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.GuidConstant: return new CsdlSemanticsGuidConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.IntegerConstant: return new CsdlSemanticsIntConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.StringConstant: return new CsdlSemanticsStringConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.TimeConstant: return new CsdlSemanticsTimeConstantExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.Null: return new CsdlSemanticsNullExpression((CsdlConstantExpression) expression, schema); case EdmExpressionKind.Record: return new CsdlSemanticsRecordExpression((CsdlRecordExpression) expression, bindingContext, schema); case EdmExpressionKind.Collection: return new CsdlSemanticsCollectionExpression((CsdlCollectionExpression) expression, bindingContext, schema); case EdmExpressionKind.Path: return new CsdlSemanticsPathExpression((CsdlPathExpression) expression, bindingContext, schema); case EdmExpressionKind.ParameterReference: return new CsdlSemanticsParameterReferenceExpression((CsdlParameterReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.FunctionReference: return new CsdlSemanticsFunctionReferenceExpression((CsdlFunctionReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.PropertyReference: return new CsdlSemanticsPropertyReferenceExpression((CsdlPropertyReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.EntitySetReference: return new CsdlSemanticsEntitySetReferenceExpression((CsdlEntitySetReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.EnumMemberReference: return new CsdlSemanticsEnumMemberReferenceExpression((CsdlEnumMemberReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.If: return new CsdlSemanticsIfExpression((CsdlIfExpression) expression, bindingContext, schema); case EdmExpressionKind.AssertType: return new CsdlSemanticsAssertTypeExpression((CsdlAssertTypeExpression) expression, bindingContext, schema); case EdmExpressionKind.IsType: return new CsdlSemanticsIsTypeExpression((CsdlIsTypeExpression) expression, bindingContext, schema); case EdmExpressionKind.FunctionApplication: return new CsdlSemanticsApplyExpression((CsdlApplyExpression) expression, bindingContext, schema); case EdmExpressionKind.LabeledExpressionReference: return new CsdlSemanticsLabeledExpressionReferenceExpression((CsdlLabeledExpressionReferenceExpression) expression, bindingContext, schema); case EdmExpressionKind.Labeled: return schema.WrapLabeledElement((CsdlLabeledExpression) expression, bindingContext); } } return null; }