Ejemplo n.º 1
0
        public override void VisitEventReference(IEventReferenceOperation operation)
        {
            var member      = operation.Member;
            var eventSymbol = operation.Event;

            base.VisitEventReference(operation);
        }
Ejemplo n.º 2
0
        public override void VisitEventReference(IEventReferenceOperation operation)
        {
            Assert.Equal(OperationKind.EventReference, operation.Kind);
            VisitMemberReference(operation);

            Assert.Same(operation.Member, operation.Event);
        }
 private static string GetEventTargetName([NotNull] IEventReferenceOperation eventReference,
                                          [NotNull] IMethodSymbol targetMethod)
 {
     return(eventReference.Instance != null
         ? GetInstanceEventTargetName(eventReference.Instance)
         : GetStaticEventTargetName(eventReference, targetMethod));
 }
        private static string GetStaticEventTargetName([NotNull] IEventReferenceOperation eventReference,
                                                       [NotNull] IMethodSymbol targetMethod)
        {
            INamedTypeSymbol eventContainingType = eventReference.Event.ContainingType;

            bool isEventLocal = eventContainingType.Equals(targetMethod.ContainingType);

            return(isEventLocal ? string.Empty : eventContainingType.Name);
        }
Ejemplo n.º 5
0
        private static AbstractExpression ReadEventReference(IEventReferenceOperation op)
        {
            var context = CodeReaderContext.GetContextOrThrow();

            return(new MemberExpression {
                Target = ReadExpression(op.Instance),
                Member = context.FindMemberOrThrow <EventMember>(op.Event)
            });
        }
Ejemplo n.º 6
0
        private void AnalyzeOperation(OperationAnalysisContext context)
        {
            var symbol = context.Operation switch
            {
                IObjectCreationOperation creation => creation.Constructor,
                IInvocationOperation invocation => invocation.TargetMethod,
                IFieldReferenceOperation field => field.Member,
                IMethodReferenceOperation method => method.Member,
                IPropertyReferenceOperation property => property.Member,
                IEventReferenceOperation @event => @event.Member,
                _ => throw new InvalidOperationException("Unexpected operation kind: " + context.Operation.Kind),
            };

            VisitOperationSymbol(context, symbol);
        }
 public override void VisitEventReference(IEventReferenceOperation operation)
 {
     EventSymbol = operation.Event;
     base.VisitEventReference(operation);
 }
            public override NullAbstractValue VisitEventReference(IEventReferenceOperation operation, object argument)
            {
                var _ = base.VisitEventReference(operation, argument);

                return(GetValueBasedOnInstanceOrReferenceValue(operation.Instance));
            }
Ejemplo n.º 9
0
 public override IOperation VisitEventReference(IEventReferenceOperation operation, object argument)
 {
     return(new EventReferenceExpression(operation.Event, Visit(operation.Instance), ((Operation)operation).SemanticModel, operation.Syntax, operation.Type, operation.ConstantValue, operation.IsImplicit));
 }
Ejemplo n.º 10
0
 public virtual void VisitEventReference(IEventReferenceOperation operation)
 {
     DefaultVisit(operation);
 }
 public override GlobalFlowStateAnalysisValueSet VisitEventReference(IEventReferenceOperation operation, object?argument)
 {
     return(GetValueOrDefault(base.VisitEventReference(operation, argument)));
 }
Ejemplo n.º 12
0
 public override void VisitEventReference([NotNull] IEventReferenceOperation operation)
 {
     base.VisitEventReference(operation);
 }
        public override TAbstractAnalysisValue VisitEventReference(IEventReferenceOperation operation, object argument)
        {
            var value = base.VisitEventReference(operation, argument);

            return(ComputeAnalysisValueForReferenceOperation(operation, value));
        }
 public override IdentifierInfo VisitEventReference([NotNull] IEventReferenceOperation operation,
                                                    [CanBeNull] object argument)
 {
     return(CreateForMemberReferenceExpression(operation, operation.Event.Type));
 }
Ejemplo n.º 15
0
 public override bool VisitEventReference([NotNull] IEventReferenceOperation operation1,
                                          [CanBeNull] IOperation argument)
 {
     return(argument is IEventReferenceOperation operation2 && AreBaseOperationsEqual(operation1, operation2) &&
            AreSymbolsEqual(operation1.Event, operation2.Event) && AreSymbolsEqual(operation1.Member, operation2.Member));
 }