public override void Visit (Destructor d) { DestructorDeclaration newDestructor = new DestructorDeclaration (); var location = LocationsBag.GetMemberLocation (d); AddModifiers (newDestructor, location); if (location != null) newDestructor.AddChild (new CSharpTokenNode (Convert (location[0]), 1), DestructorDeclaration.TildeRole); newDestructor.AddChild (new Identifier (d.MemberName.Name, Convert (d.MemberName.Location)), AbstractNode.Roles.Identifier); if (location != null) { newDestructor.AddChild (new CSharpTokenNode (Convert (location[1]), 1), DestructorDeclaration.Roles.LPar); newDestructor.AddChild (new CSharpTokenNode (Convert (location[2]), 1), DestructorDeclaration.Roles.RPar); } if (d.Block != null) newDestructor.AddChild ((INode)d.Block.Accept (this), DestructorDeclaration.Roles.Body); typeStack.Peek ().AddChild (newDestructor, TypeDeclaration.Roles.Member); }
public override void Visit (Destructor d) { DomMethod method = new DomMethod (); method.Name = ".dtor"; method.Documentation = RetrieveDocumentation (d.Location.Row); method.Location = Convert (d.MemberName.Location); if (d.Block != null) { var location = LocationsBag.GetMemberLocation (d); var region = ConvertRegion (location != null ? location[1] : d.Block.StartLocation, d.Block.EndLocation); if (location != null) region.Start = new DomLocation (region.Start.Line, region.Start.Column + 1); method.BodyRegion = region; } method.Modifiers = ConvertModifiers (d.ModFlags) | MonoDevelop.Projects.Dom.Modifiers.SpecialName; method.MethodModifier |= MethodModifier.IsFinalizer; AddAttributes (method, d.OptAttributes, d); AddExplicitInterfaces (method, d); method.DeclaringType = typeStack.Peek (); typeStack.Peek ().Add (method); }
public override void Visit(Destructor d) { var newDestructor = new DestructorDeclaration(); AddAttributeSection(newDestructor, d); var location = LocationsBag.GetMemberLocation(d); AddModifiers(newDestructor, location); if (location != null && location.Count > 0) newDestructor.AddChild(new CSharpTokenNode(Convert(location [0]), DestructorDeclaration.TildeRole), DestructorDeclaration.TildeRole); newDestructor.AddChild(Identifier.Create(d.Identifier, Convert(d.MemberName.Location)), Roles.Identifier); if (location != null && location.Count > 1) { newDestructor.AddChild(new CSharpTokenNode(Convert(location [1]), Roles.LPar), Roles.LPar); if (location.Count > 2) newDestructor.AddChild(new CSharpTokenNode(Convert(location [2]), Roles.RPar), Roles.RPar); } if (d.Block != null) newDestructor.AddChild((BlockStatement)d.Block.Accept(this), Roles.Body); typeStack.Peek().AddChild(newDestructor, Roles.TypeMemberRole); }
public virtual void Visit (Destructor d) { }