public override object Visit(DestructorDeclaration destructorDeclaration, object data)
 {
     return null;
 }
        public override object Visit(DestructorDeclaration destructorDeclaration, object data)
        {
            DebugOutput(destructorDeclaration);
            AppendNewLine();
            AppendIndentation();sourceText.Append("Overrides Protected Sub Finalize()");
            AppendNewLine();

            ++indentLevel;
            destructorDeclaration.Body.AcceptChildren(this, data);
            --indentLevel;

            AppendIndentation();sourceText.Append("End Sub");
            AppendNewLine();
            return null;
        }
 public override object Visit(DestructorDeclaration destructorDeclaration, object data)
 {
     Console.WriteLine(destructorDeclaration.ToString());
     return destructorDeclaration.AcceptChildren(this, data);
 }
 public virtual object Visit(DestructorDeclaration destructorDeclaration, object data)
 {
     foreach (AttributeSection section in destructorDeclaration.Attributes) {
         section.AcceptVisitor(this, data);
     }
     blockStack.Push(destructorDeclaration.Body);
     object ret = data;
     if (destructorDeclaration.Body != null) {
         destructorDeclaration.Body.AcceptChildren(this, data);
     }
     blockStack.Pop();
     return ret;
 }
	void ClassMemberDecl(
#line  1215 "cs.ATG" 
Modifiers m, ArrayList attributes) {

#line  1216 "cs.ATG" 
		Statement stmt = null; 
		if (StartOf(16)) {
			StructMemberDecl(
#line  1218 "cs.ATG" 
m, attributes);
		} else if (la.kind == 25) {

#line  1219 "cs.ATG" 
			m.Check(Modifier.Destructors); Point startPos = t.Location; 
			lexer.NextToken();
			Expect(1);

#line  1220 "cs.ATG" 
			DestructorDeclaration d = new DestructorDeclaration(t.val, attributes); 
			d.Modifier = m.Modifier;
			d.StartLocation = startPos;
			
			Expect(18);
			Expect(19);
			if (la.kind == 14) {
				Block(
#line  1224 "cs.ATG" 
out stmt);
			} else if (la.kind == 10) {
				lexer.NextToken();
			} else SynErr(139);

#line  1224 "cs.ATG" 
			d.EndLocation = t.EndLocation; 
			d.Body = (BlockStatement)stmt;
			compilationUnit.AddChild(d);
			
		} else SynErr(140);
	}
        public override object Visit(DestructorDeclaration destructorDeclaration, object data)
        {
            VisitAttributes(destructorDeclaration.Attributes, data);
            outputFormatter.Indent();
            VisitModifier(destructorDeclaration.Modifier);
            outputFormatter.PrintToken(Tokens.BitwiseComplement);
            outputFormatter.PrintIdentifier(destructorDeclaration.Name);
            outputFormatter.Space ();
            outputFormatter.PrintToken(Tokens.OpenParenthesis);
            outputFormatter.PrintToken(Tokens.CloseParenthesis);

            outputFormatter.BeginBrace(this.prettyPrintOptions.DestructorBraceStyle);
            destructorDeclaration.Body.AcceptChildren(this, data);
            outputFormatter.EndBrace();
            return null;
        }