public virtual void InAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
 {
     DefaultIn(node);
 }
 public virtual void OutAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
 {
     DefaultOut(node);
 }
 public override void CaseAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
 {
     InAThisArrayPropertyDecl(node);
     if (node.GetSetter() != null)
     {
         node.GetSetter().Apply(this);
     }
     if (node.GetGetter() != null)
     {
         node.GetGetter().Apply(this);
     }
     if (node.GetArgName() != null)
     {
         node.GetArgName().Apply(this);
     }
     if (node.GetArgType() != null)
     {
         node.GetArgType().Apply(this);
     }
     if (node.GetToken() != null)
     {
         node.GetToken().Apply(this);
     }
     if (node.GetType() != null)
     {
         node.GetType().Apply(this);
     }
     if (node.GetVisibilityModifier() != null)
     {
         node.GetVisibilityModifier().Apply(this);
     }
     OutAThisArrayPropertyDecl(node);
 }
 public virtual void CaseAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
 {
     DefaultCase(node);
 }
        public override void CaseAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
        {
            if (!Util.HasAncestor<AStructDecl>(node))
            {
                /*if (node.GetVisibilityModifier() is AProtectedVisibilityModifier)
                    errors.Add(new ErrorCollection.Error(node.GetToken(),
                                                         "Only fields inside structs or classes can be marked as protected."));*/
                if (!Util.HasAncestor<AEnrichmentDecl>(node))
                    errors.Add(new ErrorCollection.Error(node.GetToken(), LocRM.GetString("ErrorText185")));
            }

            APropertyDecl replacer = new APropertyDecl(node.GetVisibilityModifier(), null, node.GetType(),
                                                       new TIdentifier("", node.GetToken().Line, node.GetToken().Pos),
                                                       node.GetGetter(), node.GetSetter());
            List<AALocalDecl> locals = new List<AALocalDecl>();
            if (replacer.GetGetter() != null)
            {
                AABlock block = (AABlock) replacer.GetGetter();
                AALocalDecl local = new AALocalDecl(new APublicVisibilityModifier(), null, null, null, null,
                                                    (PType) node.GetArgType().Clone(),
                                                    (TIdentifier) node.GetArgName().Clone(), null);
                block.GetStatements().Insert(0, new ALocalDeclStm(new TSemicolon(";"), local));
                locals.Add(local);
            }
            if (replacer.GetSetter() != null)
            {
                AABlock block = (AABlock)replacer.GetSetter();
                AALocalDecl local = new AALocalDecl(new APublicVisibilityModifier(), null, null, null, null,
                                                    (PType)node.GetArgType().Clone(),
                                                    (TIdentifier)node.GetArgName().Clone(), null);

                block.GetStatements().Insert(0, new ALocalDeclStm(new TSemicolon(";"), local));
                locals.Add(local);
            }
            data.ArrayPropertyLocals[replacer] = locals.ToArray();
            node.ReplaceBy(replacer);
            replacer.Apply(this);
        }
 ArrayList New69()
 {
     ArrayList nodeList = new ArrayList();
     ArrayList nodeArrayList11 = (ArrayList) Pop();
     ArrayList nodeArrayList10 = (ArrayList) Pop();
     ArrayList nodeArrayList9 = (ArrayList) Pop();
     ArrayList nodeArrayList8 = (ArrayList) Pop();
     ArrayList nodeArrayList7 = (ArrayList) Pop();
     ArrayList nodeArrayList6 = (ArrayList) Pop();
     ArrayList nodeArrayList5 = (ArrayList) Pop();
     ArrayList nodeArrayList4 = (ArrayList) Pop();
     ArrayList nodeArrayList3 = (ArrayList) Pop();
     ArrayList nodeArrayList2 = (ArrayList) Pop();
     ArrayList nodeArrayList1 = (ArrayList) Pop();
     PVisibilityModifier pvisibilitymodifierNode2 = (PVisibilityModifier)nodeArrayList1[0];
     PType ptypeNode3 = (PType)nodeArrayList2[0];
     TThis tthisNode4 = (TThis)nodeArrayList3[0];
     PType ptypeNode5 = (PType)nodeArrayList5[0];
     TIdentifier tidentifierNode6 = (TIdentifier)nodeArrayList6[0];
     PBlock pblockNode7 = (PBlock)nodeArrayList9[0];
     PBlock pblockNode8 = (PBlock)nodeArrayList10[0];
     AThisArrayPropertyDecl pdeclNode1 = new AThisArrayPropertyDecl (
       pvisibilitymodifierNode2,
       ptypeNode3,
       tthisNode4,
       ptypeNode5,
       tidentifierNode6,
       pblockNode7,
       pblockNode8
     );
     nodeList.Add(pdeclNode1);
     return nodeList;
 }
        public override void CaseAThisArrayPropertyDecl(AThisArrayPropertyDecl node)
        {
            APropertyDecl replacer = new APropertyDecl(node.GetVisibilityModifier(), null, node.GetType(),
                                                       new TIdentifier("array property", node.GetToken().Line, node.GetToken().Pos),
                                                       node.GetGetter(), node.GetSetter());
            List<AALocalDecl> locals = new List<AALocalDecl>();
            if (replacer.GetGetter() != null)
            {
                AABlock block = (AABlock)replacer.GetGetter();
                AALocalDecl local = new AALocalDecl(new APublicVisibilityModifier(), null, null, null, null,
                                                    (PType)node.GetArgType().Clone(),
                                                    (TIdentifier)node.GetArgName().Clone(), null);
                block.GetStatements().Insert(0, new ALocalDeclStm(new TSemicolon(";"), local));
                locals.Add(local);
            }
            if (replacer.GetSetter() != null)
            {
                AABlock block = (AABlock)replacer.GetSetter();
                AALocalDecl local = new AALocalDecl(new APublicVisibilityModifier(), null, null, null, null,
                                                    (PType)node.GetArgType().Clone(),
                                                    (TIdentifier)node.GetArgName().Clone(), null);

                block.GetStatements().Insert(0, new ALocalDeclStm(new TSemicolon(";"), local));
                locals.Add(local);
            }
            node.ReplaceBy(replacer);
            replacer.Apply(this);
        }