@@ -59,7 +59,7 @@ public DeclarationNodeVisitor(Document document, Compilation compilation, Semant
5959 TriviaConvertingDeclarationVisitor = new CommentConvertingVisitorWrapper ( this , _semanticModel . SyntaxTree ) ;
6060 var expressionEvaluator = new ExpressionEvaluator ( semanticModel , _visualBasicEqualityComparison ) ;
6161 var typeConversionAnalyzer = new TypeConversionAnalyzer ( semanticModel , csCompilation , _extraUsingDirectives , _csSyntaxGenerator , expressionEvaluator ) ;
62- CommonConversions = new CommonConversions ( document , semanticModel , typeConversionAnalyzer , csSyntaxGenerator , csCompilation ) ;
62+ CommonConversions = new CommonConversions ( document , semanticModel , typeConversionAnalyzer , csSyntaxGenerator , csCompilation , _typeContext ) ;
6363 var expressionNodeVisitor = new ExpressionNodeVisitor ( semanticModel , _visualBasicEqualityComparison , _additionalLocals , csCompilation , _typeContext , CommonConversions , _extraUsingDirectives ) ;
6464 _triviaConvertingExpressionVisitor = expressionNodeVisitor . TriviaConvertingExpressionVisitor ;
6565 _createMethodBodyVisitorAsync = expressionNodeVisitor . CreateMethodBodyVisitor ;
@@ -188,20 +188,19 @@ private async Task<string> WithDeclarationCasing(VBSyntax.NamespaceBlockSyntax n
188188 return namespaceToDeclare ;
189189 }
190190
191- #region Namespace Members
192-
193191 private async Task < IEnumerable < MemberDeclarationSyntax > > ConvertMembers ( VBSyntax . TypeBlockSyntax parentType )
194192 {
195193 var members = parentType . Members ;
196- var additionalInitializers = new AdditionalInitializers ( ) ;
194+
195+ var namedTypeSymbol = _semanticModel . GetDeclaredSymbol ( parentType ) ;
196+ bool shouldAddTypeWideInitToThisPart = ShouldAddTypeWideInitToThisPart ( parentType , namedTypeSymbol ) ;
197+ var additionalInitializers = new AdditionalInitializers ( shouldAddTypeWideInitToThisPart ) ;
197198 var methodsWithHandles = MethodsWithHandles . Create ( GetMethodWithHandles ( parentType ) ) ;
198199
199200 if ( methodsWithHandles . Any ( ) ) _extraUsingDirectives . Add ( "System.Runtime.CompilerServices" ) ; //For MethodImplOptions.Synchronized
200201
201202 IEnumerable < MemberDeclarationSyntax > directlyConvertedMembers = await GetDirectlyConvertedMembers ( additionalInitializers , methodsWithHandles ) ;
202203
203- var namedTypeSymbol = _semanticModel . GetDeclaredSymbol ( parentType ) ;
204- bool shouldAddTypeWideInitToThisPart = ShouldAddTypeWideInitToThisPart ( parentType , namedTypeSymbol ) ;
205204 var requiresInitializeComponent = namedTypeSymbol . IsDesignerGeneratedTypeWithInitializeComponent ( _compilation ) ;
206205
207206 if ( shouldAddTypeWideInitToThisPart ) {
@@ -213,7 +212,7 @@ private async Task<IEnumerable<MemberDeclarationSyntax>> ConvertMembers(VBSyntax
213212 }
214213 }
215214
216- return additionalInitializers . WithAdditionalInitializers ( namedTypeSymbol , directlyConvertedMembers . ToList ( ) , CommonConversions . ConvertIdentifier ( parentType . BlockStatement . Identifier ) , shouldAddTypeWideInitToThisPart , requiresInitializeComponent ) ;
215+ return additionalInitializers . WithAdditionalInitializers ( namedTypeSymbol , directlyConvertedMembers . ToList ( ) , CommonConversions . ConvertIdentifier ( parentType . BlockStatement . Identifier ) , requiresInitializeComponent ) ;
217216
218217 async Task < MemberDeclarationSyntax [ ] > GetDirectlyConvertedMembers ( AdditionalInitializers additionalInitializers , MethodsWithHandles methodsWithHandles )
219218 {
@@ -441,18 +440,14 @@ public override async Task<CSharpSyntaxNode> VisitDelegateStatement(VBSyntax.Del
441440 ) ;
442441 }
443442
444- #endregion
445-
446- #region Type Members
447-
448443 public override async Task < CSharpSyntaxNode > VisitFieldDeclaration ( VBSyntax . FieldDeclarationSyntax node )
449444 {
450445 _additionalLocals . PushScope ( ) ;
451446 List < MemberDeclarationSyntax > declarations ;
452447 try {
453448 declarations = await GetMemberDeclarations ( node ) ;
454449 } finally {
455- _additionalLocals . PopScope ( ) ;
450+ _additionalLocals . PopExpressionScope ( ) ;
456451 }
457452 _additionalDeclarations . Add ( node , declarations . Skip ( 1 ) . ToArray ( ) ) ;
458453 return declarations . First ( ) ;
@@ -1230,9 +1225,6 @@ public override async Task<CSharpSyntaxNode> VisitTypeParameterList(VBSyntax.Typ
12301225 ) ;
12311226 }
12321227
1233- #endregion
1234-
1235-
12361228 private async Task < ( TypeParameterListSyntax parameters , SyntaxList < TypeParameterConstraintClauseSyntax > constraints ) > SplitTypeParameters ( VBSyntax . TypeParameterListSyntax typeParameterList )
12371229 {
12381230 var constraints = SyntaxFactory . List < TypeParameterConstraintClauseSyntax > ( ) ;
0 commit comments