S IAstVisitor <T, S> .VisitEventDeclaration(EventDeclaration eventDeclaration, T data) { var handler = EventDeclarationVisited; if (handler != null) { handler(eventDeclaration, data); } return(VisitChildren(eventDeclaration, data)); }
public override IEntity VisitEventDeclaration(EventDeclaration eventDeclaration, object data) { bool isSingleEvent = eventDeclaration.Variables.Count() == 1; Modifiers modifiers = eventDeclaration.Modifiers; DefaultEvent ev = null; foreach (VariableInitializer vi in eventDeclaration.Variables) { ev = new DefaultEvent(currentTypeDefinition, vi.Name); ev.Region = isSingleEvent ? MakeRegion(eventDeclaration) : MakeRegion(vi); ev.BodyRegion = MakeRegion(vi); ApplyModifiers(ev, modifiers); ev.ReturnType = ConvertType(eventDeclaration.ReturnType); if (eventDeclaration.Attributes.Any(a => a.AttributeTarget == "method")) { ev.AddAccessor = ev.RemoveAccessor = new DefaultAccessor { Accessibility = ev.Accessibility }; } else { // if there's no attributes on the accessors, we can re-use the shared accessor instance ev.AddAccessor = ev.RemoveAccessor = DefaultAccessor.GetFromAccessibility(ev.Accessibility); } foreach (AttributeSection section in eventDeclaration.Attributes) { if (section.AttributeTarget == "method") { // as we use the same instance for AddAccessor and RemoveAccessor, we only need to add the attribute once ConvertAttributes(ev.AddAccessor.Attributes, section); } else if (section.AttributeTarget != "field") { ConvertAttributes(ev.Attributes, section); } } currentTypeDefinition.Events.Add(ev); } return(isSingleEvent ? ev : null); }
public bool CheckEvent(ICS.EventDeclaration node, InspectionData data) { if ((MatchKind != 0 && (MatchKind & DeclarationKinds.Event) == 0) || !CheckAttributedNode(node, ICS.Modifiers.Private)) { return(false); } foreach (var v in node.Variables) { string name = v.Name; if (IsValid(name)) { continue; } data.Add(GetFixableResult(v.NameToken.StartLocation, null, name)); } return(true); }
public override IEntity VisitEventDeclaration(EventDeclaration eventDeclaration, object data) { bool isSingleEvent = eventDeclaration.Variables.Count() == 1; Modifiers modifiers = eventDeclaration.Modifiers; DefaultEvent ev = null; foreach (VariableInitializer vi in eventDeclaration.Variables) { ev = new DefaultEvent(currentTypeDefinition, vi.Name); ev.Region = isSingleEvent ? MakeRegion(eventDeclaration) : MakeRegion(vi); ev.BodyRegion = MakeRegion(vi); ConvertAttributes(ev.Attributes, eventDeclaration.Attributes); ApplyModifiers(ev, modifiers); ev.ReturnType = ConvertType(eventDeclaration.ReturnType); currentTypeDefinition.Events.Add(ev); } return(isSingleEvent ? ev : null); }
void IAstVisitor.VisitEventDeclaration(EventDeclaration eventDeclaration) { Visit(EnterEventDeclaration, LeaveEventDeclaration, eventDeclaration); }
public virtual S VisitEventDeclaration(EventDeclaration eventDeclaration, T data) { return(VisitChildren(eventDeclaration, data)); }
public virtual S VisitEventDeclaration(EventDeclaration eventDeclaration, T data) { throw new NotImplementedException(); }