S IAstVisitor <T, S> .VisitEventDeclaration(EventDeclaration eventDeclaration, T data)
        {
            var handler = EventDeclarationVisited;

            if (handler != null)
            {
                handler(eventDeclaration, data);
            }
            return(VisitChildren(eventDeclaration, data));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 void IAstVisitor.VisitEventDeclaration(EventDeclaration eventDeclaration)
 {
     Visit(EnterEventDeclaration, LeaveEventDeclaration, eventDeclaration);
 }
Ejemplo n.º 6
0
 public virtual S VisitEventDeclaration(EventDeclaration eventDeclaration, T data)
 {
     return(VisitChildren(eventDeclaration, data));
 }
 public virtual S VisitEventDeclaration(EventDeclaration eventDeclaration, T data)
 {
     throw new NotImplementedException();
 }