@@ -113,6 +113,7 @@ public override void Initialize(AnalysisContext context)
113113 // Register additional actions for method calls, object creations, etc.
114114 context . RegisterSyntaxNodeAction ( AnalyzeMethodCall , SyntaxKind . InvocationExpression ) ;
115115 context . RegisterSyntaxNodeAction ( AnalyzeObjectCreation , SyntaxKind . ObjectCreationExpression ) ;
116+ context . RegisterSyntaxNodeAction ( AnalyzeImplicitObjectCreation , SyntaxKind . ImplicitObjectCreationExpression ) ;
116117 context . RegisterSyntaxNodeAction ( AnalyzeIdentifier , SyntaxKind . IdentifierName ) ;
117118 context . RegisterSyntaxNodeAction ( AnalyzeMemberAccess , SyntaxKind . SimpleMemberAccessExpression ) ;
118119 context . RegisterSyntaxNodeAction ( AnalyzeAwait , SyntaxKind . AwaitExpression ) ;
@@ -810,6 +811,23 @@ private void AnalyzeObjectCreation(SyntaxNodeAnalysisContext context)
810811 AnalyzeMemberExceptions ( context , objectCreation , constructorSymbol , settings ) ;
811812 }
812813
814+
815+ /// <summary>
816+ /// Analyzes implicit object creation expressions to determine if exceptions are handled or declared.
817+ /// </summary>
818+ private void AnalyzeImplicitObjectCreation ( SyntaxNodeAnalysisContext context )
819+ {
820+ var settings = GetAnalyzerSettings ( context . Options ) ;
821+
822+ var objectCreation = ( ImplicitObjectCreationExpressionSyntax ) context . Node ;
823+
824+ var constructorSymbol = context . SemanticModel . GetSymbolInfo ( objectCreation ) . Symbol as IMethodSymbol ;
825+ if ( constructorSymbol is null )
826+ return ;
827+
828+ AnalyzeMemberExceptions ( context , objectCreation , constructorSymbol , settings ) ;
829+ }
830+
813831 /// <summary>
814832 /// Analyzes member access expressions (e.g., property accessors) for exception handling.
815833 /// </summary>
0 commit comments