private static void AnalyzeMethod(SymbolAnalysisContext context) { var method = (IMethodSymbol)context.Symbol; if (!method.IsPropertyOrEventAccessor() && MemberRequiresAnalysis(method, context.CancellationToken)) { string memberName = GetMemberName(method); AnalyzeParameters(context.Wrap(method.Parameters), method, memberName); if (MethodCanReturnValue(method)) { AnalyzeReturnType(context.Wrap(method.ReturnType), method, memberName); } } }
private static void AnalyzeNamedType(SymbolAnalysisContext context) { var type = (INamedTypeSymbol)context.Symbol; if (IsDelegate(type)) { IMethodSymbol method = type.DelegateInvokeMethod; if (method != null) { string typeName = $"Delegate '{type.Name}'"; AnalyzeParameters(context.Wrap(method.Parameters), type, typeName); AnalyzeReturnType(context.Wrap(method.ReturnType), type, typeName); } } }
private static void AnalyzeProperty(SymbolAnalysisContext context) { var property = (IPropertySymbol)context.Symbol; if (property.IsIndexer && MemberRequiresAnalysis(property, context.CancellationToken)) { AnalyzeParameters(context.Wrap(property.Parameters), property, "Indexer"); } }
private static void AnalyzeAccessorMethod([CanBeNull] IMethodSymbol accessorMethod, [NotNull] DiagnosticCollector collector, SymbolAnalysisContext context) { if (accessorMethod == null || ShouldSkip(accessorMethod)) { return; } InnerAnalyzeMethod(context.Wrap(accessorMethod), collector); }
private static void AnalyzeMethod(SymbolAnalysisContext context) { var method = (IMethodSymbol)context.Symbol; if (ShouldSkip(method) || method.IsPropertyOrEventAccessor()) { return; } using var collector = new DiagnosticCollector(context.ReportDiagnostic); InnerAnalyzeMethod(context.Wrap(method), collector); }
private static void AnalyzeDelegate([NotNull] INamedTypeSymbol type, SymbolAnalysisContext context, int maxParameterCount) { IMethodSymbol method = type.DelegateInvokeMethod; if (method != null) { string typeName = $"Delegate '{type.Name}'"; var info = new ParameterCountInfo <ImmutableArray <IParameterSymbol> >(context.Wrap(method.Parameters), maxParameterCount); AnalyzeParameters(info, type, typeName); AnalyzeReturnType(context.Wrap(method.ReturnType), type, typeName); } }
private static void AnalyzeMethod(SymbolAnalysisContext context, int maxParameterCount) { var method = (IMethodSymbol)context.Symbol; if (!method.IsPropertyOrEventAccessor() && MemberRequiresAnalysis(method, context.CancellationToken)) { string memberName = GetMemberName(method); var info = new ParameterCountInfo <ImmutableArray <IParameterSymbol> >(context.Wrap(method.Parameters), maxParameterCount); AnalyzeParameters(info, method, memberName); if (MethodCanReturnValue(method)) { AnalyzeReturnType(context.Wrap(method.ReturnType), method, memberName); } } }
private static void AnalyzeProperty(SymbolAnalysisContext context, int maxParameterCount) { var property = (IPropertySymbol)context.Symbol; if (property.IsIndexer && MemberRequiresAnalysis(property, context.CancellationToken)) { var info = new ParameterCountInfo <ImmutableArray <IParameterSymbol> >(context.Wrap(property.Parameters), maxParameterCount); AnalyzeParameters(info, property, "Indexer"); } }