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;
		}
예제 #2
0
 public CsdlPropertyReferenceExpression(string property, CsdlExpressionBase baseExpression, CsdlLocation location) : base(location)
 {
     this.property       = property;
     this.baseExpression = baseExpression;
 }
		public CsdlPropertyReferenceExpression(string property, CsdlExpressionBase baseExpression, CsdlLocation location) : base(location)
		{
			this.property = property;
			this.baseExpression = baseExpression;
		}
예제 #4
0
		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;
 }
예제 #6
0
 public CsdlLabeledExpression(string label, CsdlExpressionBase element, CsdlLocation location) : base(location)
 {
     this.label   = label;
     this.element = element;
 }
예제 #7
0
		protected CsdlSemanticsExpression(CsdlSemanticsSchema schema, CsdlExpressionBase element) : base(element)
		{
			this.schema = schema;
		}
예제 #8
0
		public CsdlLabeledExpression(string label, CsdlExpressionBase element, CsdlLocation location) : base(location)
		{
			this.label = label;
			this.element = element;
		}
예제 #9
0
		public CsdlIfExpression(CsdlExpressionBase test, CsdlExpressionBase ifTrue, CsdlExpressionBase ifFalse, CsdlLocation location) : base(location)
		{
			this.test = test;
			this.ifTrue = ifTrue;
			this.ifFalse = ifFalse;
		}
예제 #10
0
 public CsdlIfExpression(CsdlExpressionBase test, CsdlExpressionBase ifTrue, CsdlExpressionBase ifFalse, CsdlLocation location) : base(location)
 {
     this.test    = test;
     this.ifTrue  = ifTrue;
     this.ifFalse = ifFalse;
 }
예제 #11
0
		public CsdlAssertTypeExpression(CsdlTypeReference type, CsdlExpressionBase operand, CsdlLocation location) : base(location)
		{
			this.type = type;
			this.operand = operand;
		}
예제 #12
0
 public CsdlValueAnnotation(string term, string qualifier, CsdlExpressionBase expression, CsdlLocation location) : base(term, qualifier, location)
 {
     this.expression = expression;
 }
예제 #13
0
		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;
		}
예제 #14
0
 public CsdlPropertyValue(string property, CsdlExpressionBase expression, CsdlLocation location) : base(location)
 {
     this.property   = property;
     this.expression = expression;
 }
예제 #15
0
		public CsdlValueAnnotation(string term, string qualifier, CsdlExpressionBase expression, CsdlLocation location) : base(term, qualifier, location)
		{
			this.expression = expression;
		}