public virtual object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			Debug.Assert((propertySetRegion != null));
			Debug.Assert((propertySetRegion.Attributes != null));
			Debug.Assert((propertySetRegion.Block != null));
			Debug.Assert((propertySetRegion.Parameters != null));
			foreach (AttributeSection o in propertySetRegion.Attributes) {
				Debug.Assert(o != null);
				o.AcceptVisitor(this, data);
			}
			propertySetRegion.Block.AcceptVisitor(this, data);
			foreach (ParameterDeclarationExpression o in propertySetRegion.Parameters) {
				Debug.Assert(o != null);
				o.AcceptVisitor(this, data);
			}
			return null;
		}
		public virtual object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			Debug.Assert((propertySetRegion != null));
			Debug.Assert((propertySetRegion.Attributes != null));
			Debug.Assert((propertySetRegion.Block != null));
			Debug.Assert((propertySetRegion.Parameters != null));
			for (int i = 0; i < propertySetRegion.Attributes.Count; i++) {
				AttributeSection o = propertySetRegion.Attributes[i];
				Debug.Assert(o != null);
				nodeStack.Push(o);
				o.AcceptVisitor(this, data);
				o = (AttributeSection)nodeStack.Pop();
				if (o == null)
					propertySetRegion.Attributes.RemoveAt(i--);
				else
					propertySetRegion.Attributes[i] = o;
			}
			nodeStack.Push(propertySetRegion.Block);
			propertySetRegion.Block.AcceptVisitor(this, data);
			propertySetRegion.Block = ((BlockStatement)(nodeStack.Pop()));
			for (int i = 0; i < propertySetRegion.Parameters.Count; i++) {
				ParameterDeclarationExpression o = propertySetRegion.Parameters[i];
				Debug.Assert(o != null);
				nodeStack.Push(o);
				o.AcceptVisitor(this, data);
				o = (ParameterDeclarationExpression)nodeStack.Pop();
				if (o == null)
					propertySetRegion.Parameters.RemoveAt(i--);
				else
					propertySetRegion.Parameters[i] = o;
			}
			return null;
		}
		public virtual object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			throw new global::System.NotImplementedException("PropertySetRegion");
		}
Beispiel #4
0
	void SetAccessorDecl(out PropertySetRegion setBlock, List<AttributeSection> attributes) {
		Statement stmt = null;
		List<ParameterDeclarationExpression> p = new List<ParameterDeclarationExpression>();
		Modifiers m;

		PropertyAccessorAccessModifier(out m);
		Expect(198);
		Location startLocation = t.Location;
		if (la.kind == 37) {
			Get();
			if (StartOf(7)) {
				FormalParameterList(p);
			}
			Expect(38);
		}
		Expect(1);
		Block(out stmt);
		setBlock = new PropertySetRegion((BlockStatement)stmt, attributes);
			setBlock.Modifier = m;
			setBlock.Parameters = p;

		Expect(113);
		Expect(198);
		setBlock.StartLocation = startLocation; setBlock.EndLocation = t.EndLocation;
		EndOfStmt();
	}
Beispiel #5
0
	void AccessorDecls(out PropertyGetRegion getBlock, out PropertySetRegion setBlock) {
		List<AttributeSection> attributes = new List<AttributeSection>();
		AttributeSection section;
		getBlock = null;
		setBlock = null; 

		while (la.kind == 40) {
			AttributeSection(out section);
			attributes.Add(section);
		}
		if (StartOf(25)) {
			GetAccessorDecl(out getBlock, attributes);
			if (StartOf(26)) {
				attributes = new List<AttributeSection>();
				while (la.kind == 40) {
					AttributeSection(out section);
					attributes.Add(section);
				}
				SetAccessorDecl(out setBlock, attributes);
			}
		} else if (StartOf(27)) {
			SetAccessorDecl(out setBlock, attributes);
			if (StartOf(28)) {
				attributes = new List<AttributeSection>();
				while (la.kind == 40) {
					AttributeSection(out section);
					attributes.Add(section);
				}
				GetAccessorDecl(out getBlock, attributes);
			}
		} else SynErr(274);
	}
Beispiel #6
0
		public PropertyDeclaration(Modifiers modifier, List<AttributeSection> attributes, string name, List<ParameterDeclarationExpression> parameters) {
			Modifier = modifier;
			Attributes = attributes;
			Name = name;
			Parameters = parameters;
			bodyStart = Location.Empty;
			bodyEnd = Location.Empty;
			getRegion = PropertyGetRegion.Null;
			setRegion = PropertySetRegion.Null;
			initializer = Expression.Null;
		}
		public sealed override object VisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			this.BeginVisit(propertySetRegion);
			object result = this.TrackedVisitPropertySetRegion(propertySetRegion, data);
			this.EndVisit(propertySetRegion);
			return result;
		}
		public virtual object TrackedVisitPropertySetRegion(PropertySetRegion propertySetRegion, object data) {
			return base.VisitPropertySetRegion(propertySetRegion, data);
		}