コード例 #1
0
 public string VisitAttribute(NegatedDeclarationCondition a)
 {
     throw new NotImplementedException();
 }
コード例 #2
0
		public virtual void VisitAttribute(NegatedDeclarationCondition a)
		{
			a.FirstCondition.Accept(this);
		}
コード例 #3
0
			public override void VisitAttribute(NegatedDeclarationCondition a)
			{
				
			}
コード例 #4
0
ファイル: Parser_Impl.cs プロジェクト: rainers/D_Parser
        void DeclarationCondition(DBlockNode module)
        {
            var sl = la.Location;

            var c = Condition(module);

            c.Location = sl;
            c.EndLocation = t.EndLocation;

            bool allowElse = laKind != Colon;

            var metaBlock = AttributeTrail(module, c, true) as AttributeMetaDeclaration;

            if (allowElse && metaBlock == null)
            {
                SynErr(t.Kind, "Wrong meta block type. (see DeclarationCondition();)");
                return;
            }
            else if (allowElse && laKind == Else)
            {
                Step();

                c = new NegatedDeclarationCondition(c);

                BlockAttributes.Push(c);
                if (laKind == OpenCurlyBrace) {
                    metaBlock.OptionalElseBlock = new ElseMetaDeclarationBlock {
                        Location = t.Location,
                        BlockStartLocation = la.Location
                    };
                    ClassBody (module, true, false);
                } else if (laKind == Colon) {
                    metaBlock.OptionalElseBlock = new ElseMetaDeclarationSection {
                        Location = t.Location,
                        EndLocation =la.EndLocation };
                    Step ();
                    return;
                }
                else
                {
                    metaBlock.OptionalElseBlock = new ElseMetaDeclaration { Location = t.Location };
                    DeclDef(module);
                }
                BlockAttributes.Pop();

                metaBlock.OptionalElseBlock.EndLocation = t.EndLocation;
            }
        }
コード例 #5
0
 public override void VisitAttribute(NegatedDeclarationCondition a)
 {
 }
コード例 #6
0
 public ulong VisitAttribute(NegatedDeclarationCondition a)
 {
     return(1000213 + Accept(a.FirstCondition) << 1);
 }
コード例 #7
0
 public CompletionItemKind VisitAttribute(NegatedDeclarationCondition a)
 {
     throw new NotImplementedException();
 }