public override void VisitEventReference(IEventReferenceOperation operation) { var member = operation.Member; var eventSymbol = operation.Event; base.VisitEventReference(operation); }
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); }
private static AbstractExpression ReadEventReference(IEventReferenceOperation op) { var context = CodeReaderContext.GetContextOrThrow(); return(new MemberExpression { Target = ReadExpression(op.Instance), Member = context.FindMemberOrThrow <EventMember>(op.Event) }); }
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)); }
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)); }
public virtual void VisitEventReference(IEventReferenceOperation operation) { DefaultVisit(operation); }
public override GlobalFlowStateAnalysisValueSet VisitEventReference(IEventReferenceOperation operation, object?argument) { return(GetValueOrDefault(base.VisitEventReference(operation, argument))); }
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)); }
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)); }