@@ -42,17 +42,12 @@ public CompositionCode Build(CompositionCode composition)
4242 var interfaces = hasAsyncDisposables
4343 ? $ "{ Names . IDisposableTypeName } , { Names . IAsyncDisposableTypeName } "
4444 : Names . IDisposableTypeName ;
45- code . AppendLine ( $ "public sealed class ScopeHandle : { interfaces } ") ;
45+ code . AppendLine ( $ "public sealed class { Names . ScopeClassName } : { interfaces } ") ;
4646 using ( code . CreateBlock ( ) )
4747 {
4848 code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] private readonly { compositionTypeName } _composition;") ;
49- code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] private readonly ScopeHandle { nullable } _previousScope;") ;
49+ code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] private readonly { Names . ScopeClassName } { nullable } _previousScope;") ;
5050 code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] private readonly bool _isRootScope;") ;
51- code . AppendLine ( new Line ( int . MinValue , "#if NET9_0_OR_GREATER" ) ) ;
52- code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] internal readonly { Names . LockTypeName } { Names . LockFieldName } ;") ;
53- code . AppendLine ( new Line ( int . MinValue , "#else" ) ) ;
54- code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] internal readonly { Names . ObjectTypeName } { Names . LockFieldName } ;") ;
55- code . AppendLine ( new Line ( int . MinValue , "#endif" ) ) ;
5651 code . AppendLine ( $ "[{ Names . NonSerializedAttributeTypeName } ] private bool _isDisposed;") ;
5752 if ( hasScopedDisposables )
5853 {
@@ -79,18 +74,13 @@ public CompositionCode Build(CompositionCode composition)
7974 }
8075
8176 code . AppendLine ( ) ;
82- code . AppendLine ( $ "internal ScopeHandle ({ compositionTypeName } composition, bool isRootScope)") ;
77+ code . AppendLine ( $ "internal { Names . ScopeClassName } ({ compositionTypeName } composition, bool isRootScope)") ;
8378 using ( code . CreateBlock ( ) )
8479 {
8580 const string compositionLocalName = "compositionChecked" ;
8681 code . AppendLine ( $ "var { compositionLocalName } = composition ?? throw new { Names . SystemNamespace } ArgumentNullException(nameof(composition));") ;
8782 code . AppendLine ( "_composition = compositionChecked;" ) ;
8883 code . AppendLine ( "_isRootScope = isRootScope;" ) ;
89- code . AppendLine ( new Line ( int . MinValue , "#if NET9_0_OR_GREATER" ) ) ;
90- code . AppendLine ( $ "{ Names . LockFieldName } = new { Names . LockTypeName } ();") ;
91- code . AppendLine ( new Line ( int . MinValue , "#else" ) ) ;
92- code . AppendLine ( $ "{ Names . LockFieldName } = new { Names . ObjectTypeName } ();") ;
93- code . AppendLine ( new Line ( int . MinValue , "#endif" ) ) ;
9484 if ( hasScopedDisposables )
9585 {
9686 code . AppendLine ( $ "{ Names . DisposablesFieldName } = new object[{ composition . DisposablesScopedCount . ToString ( ) } ];") ;
@@ -122,7 +112,7 @@ public CompositionCode Build(CompositionCode composition)
122112 code . AppendLine ( ) ;
123113 }
124114
125- code . AppendLine ( $ "lock ({ Names . LockFieldName } )") ;
115+ code . AppendLine ( $ "lock (_composition. { Names . LockFieldName } )") ;
126116 using ( code . CreateBlock ( ) )
127117 {
128118 code . AppendLine ( "if (_isDisposed)" ) ;
@@ -199,7 +189,7 @@ public CompositionCode Build(CompositionCode composition)
199189 code . AppendLine ( ) ;
200190 }
201191
202- code . AppendLine ( $ "lock ({ Names . LockFieldName } )") ;
192+ code . AppendLine ( $ "lock (_composition. { Names . LockFieldName } )") ;
203193 using ( code . CreateBlock ( ) )
204194 {
205195 code . AppendLine ( "if (_isDisposed)" ) ;
0 commit comments