@@ -101,8 +101,8 @@ private void EmitGetCoreMethod()
101101                    } 
102102                    else  if  ( ! EmitInitException ( effectiveType ) ) 
103103                    { 
104-                         EmitBindCoreCall ( effectiveType ,  Identifier . obj ,  Identifier . configuration ,  InitializationKind . Declaration ) ; 
105-                         _writer . WriteLine ( $ "return { Identifier . obj } ;") ; 
104+                         EmitBindCoreCall ( effectiveType ,  Identifier . instance ,  Identifier . configuration ,  InitializationKind . Declaration ) ; 
105+                         _writer . WriteLine ( $ "return { Identifier . instance } ;") ; 
106106                    } 
107107
108108                    EmitEndBlock ( ) ; 
@@ -168,9 +168,8 @@ private void EmitBindCoreMainMethod()
168168                } 
169169
170170                EmitBlankLineIfRequired ( ) ; 
171-                 EmitStartBlock ( $ "public static void { nameof ( MethodsToGen_CoreBindingHelper . BindCoreMain ) } ({ Identifier . IConfiguration }  { Identifier . configuration } , object { Identifier . obj } , Type { Identifier . type } , { TypeDisplayString . NullableActionOfBinderOptions }  { Identifier . configureOptions } )") ; 
172-                 EmitCheckForNullArgument_WithBlankLine ( Identifier . configuration ) ; 
173-                 EmitCheckForNullArgument_WithBlankLine ( Identifier . obj ) ; 
171+                 EmitStartBlock ( $ "public static void { nameof ( MethodsToGen_CoreBindingHelper . BindCoreMain ) } ({ Identifier . IConfiguration }  { Identifier . configuration } , object { Identifier . instance } , Type { Identifier . type } , { TypeDisplayString . NullableActionOfBinderOptions }  { Identifier . configureOptions } )") ; 
172+                 EmitCheckForNullArgument_WithBlankLine ( Identifier . instance ,  voidReturn :  true ) ; 
174173                EmitIConfigurationHasValueOrChildrenCheck ( voidReturn :  true ) ; 
175174                _writer . WriteLine ( $ "{ Identifier . BinderOptions } ? { Identifier . binderOptions }  = { Identifier . GetBinderOptions } ({ Identifier . configureOptions } );") ; 
176175                _writer . WriteLine ( ) ; 
@@ -184,7 +183,7 @@ private void EmitBindCoreMainMethod()
184183                    EmitStartBlock ( $ "{ conditionKindExpr }  ({ Identifier . type }  == typeof({ type . DisplayString } ))") ; 
185184                    if  ( ! EmitInitException ( effectiveType ) ) 
186185                    { 
187-                         _writer . WriteLine ( $ "var { Identifier . temp }  = ({ effectiveType . DisplayString } ){ Identifier . obj } ;") ; 
186+                         _writer . WriteLine ( $ "var { Identifier . temp }  = ({ effectiveType . DisplayString } ){ Identifier . instance } ;") ; 
188187                        EmitBindCoreCall ( type ,  Identifier . temp ,  Identifier . configuration ,  InitializationKind . None ) ; 
189188                        _writer . WriteLine ( $ "return;") ; 
190189                    } 
@@ -213,9 +212,7 @@ private void EmitBindCoreMethods()
213212
214213            private  void  EmitBindCoreMethod ( TypeSpec  type ) 
215214            { 
216-                 Debug . Assert ( type . CanInitialize ) ; 
217- 
218-                 string  objParameterExpression  =  $ "ref { type . DisplayString }  { Identifier . obj } "; 
215+                 string  objParameterExpression  =  $ "ref { type . DisplayString }  { Identifier . instance } "; 
219216                EmitStartBlock ( @$ "public static void { nameof ( MethodsToGen_CoreBindingHelper . BindCore ) } ({ Identifier . IConfiguration }  { Identifier . configuration } , { objParameterExpression } , { Identifier . BinderOptions } ? { Identifier . binderOptions } )") ; 
220217
221218                TypeSpec  effectiveType  =  type . EffectiveType ; 
@@ -618,15 +615,15 @@ private void EmitPopulationImplForArray(EnumerableSpec type)
618615
619616                // Resize array and add binded elements. 
620617                _writer . WriteLine ( $$ """ 
621-                     {{ Identifier . Int32 }}  {{ Identifier . originalCount }}  = {{ Identifier . obj }} .{{ Identifier . Length }} ; 
622-                     {{ Identifier . Array }} .{{ Identifier . Resize }} (ref {{ Identifier . obj }} , {{ Identifier . originalCount }}  + {{ tempIdentifier }} .{{ Identifier . Count }} ); 
623-                     {{ tempIdentifier }} .{{ Identifier . CopyTo }} ({{ Identifier . obj }} , {{ Identifier . originalCount }} ); 
618+                     {{ Identifier . Int32 }}  {{ Identifier . originalCount }}  = {{ Identifier . instance }} .{{ Identifier . Length }} ; 
619+                     {{ Identifier . Array }} .{{ Identifier . Resize }} (ref {{ Identifier . instance }} , {{ Identifier . originalCount }}  + {{ tempIdentifier }} .{{ Identifier . Count }} ); 
620+                     {{ tempIdentifier }} .{{ Identifier . CopyTo }} ({{ Identifier . instance }} , {{ Identifier . originalCount }} ); 
624621                    """  ) ; 
625622            } 
626623
627624            private  void  EmitPopulationImplForEnumerableWithAdd ( EnumerableSpec  type ) 
628625            { 
629-                 EmitCollectionCastIfRequired ( type ,  out  string  objIdentifier ) ; 
626+                 EmitCollectionCastIfRequired ( type ,  out  string  instanceIdentifier ) ; 
630627
631628                Emit_Foreach_Section_In_ConfigChildren_StartBlock ( ) ; 
632629
@@ -638,22 +635,22 @@ private void EmitPopulationImplForEnumerableWithAdd(EnumerableSpec type)
638635                        stringParsableType , 
639636                        Expression . sectionValue , 
640637                        Expression . sectionPath , 
641-                         ( parsedValueExpr )  =>  _writer . WriteLine ( $ "{ objIdentifier } .{ Identifier . Add } ({ parsedValueExpr } );") , 
638+                         ( parsedValueExpr )  =>  _writer . WriteLine ( $ "{ instanceIdentifier } .{ Identifier . Add } ({ parsedValueExpr } );") , 
642639                        checkForNullSectionValue :  true , 
643640                        useIncrementalStringValueIdentifier :  false ) ; 
644641                } 
645642                else 
646643                { 
647644                    EmitBindCoreCall ( elementType ,  Identifier . value ,  Identifier . section ,  InitializationKind . Declaration ) ; 
648-                     _writer . WriteLine ( $ "{ objIdentifier } .{ Identifier . Add } ({ Identifier . value } );") ; 
645+                     _writer . WriteLine ( $ "{ instanceIdentifier } .{ Identifier . Add } ({ Identifier . value } );") ; 
649646                } 
650647
651648                EmitEndBlock ( ) ; 
652649            } 
653650
654651            private  void  EmitBindCoreImplForDictionary ( DictionarySpec  type ) 
655652            { 
656-                 EmitCollectionCastIfRequired ( type ,  out  string  objIdentifier ) ; 
653+                 EmitCollectionCastIfRequired ( type ,  out  string  instanceIdentifier ) ; 
657654
658655                Emit_Foreach_Section_In_ConfigChildren_StartBlock ( ) ; 
659656
@@ -677,7 +674,7 @@ void Emit_BindAndAddLogic_ForElement(string parsedKeyExpr)
677674                            stringParsableElementType , 
678675                            Expression . sectionValue , 
679676                            Expression . sectionPath , 
680-                             writeOnSuccess :  parsedValueExpr =>  _writer . WriteLine ( $ "{ objIdentifier } [{ parsedKeyExpr } ] = { parsedValueExpr } ;") , 
677+                             writeOnSuccess :  parsedValueExpr =>  _writer . WriteLine ( $ "{ instanceIdentifier } [{ parsedKeyExpr } ] = { parsedValueExpr } ;") , 
681678                            checkForNullSectionValue :  true , 
682679                            useIncrementalStringValueIdentifier :  false ) ; 
683680                    } 
@@ -696,7 +693,7 @@ void Emit_BindAndAddLogic_ForElement(string parsedKeyExpr)
696693                        string  expressionForElementIsNotNull  =  $ "{ Identifier . element }  is not null"; 
697694                        string  elementTypeDisplayString  =  elementType . DisplayString  +  ( elementType . IsValueType  ?  string . Empty  :  "?" ) ; 
698695
699-                         string  expressionForElementExists  =  $ "{ objIdentifier } .{ Identifier . TryGetValue } ({ parsedKeyExpr } , out { elementTypeDisplayString }  { Identifier . element } )"; 
696+                         string  expressionForElementExists  =  $ "{ instanceIdentifier } .{ Identifier . TryGetValue } ({ parsedKeyExpr } , out { elementTypeDisplayString }  { Identifier . element } )"; 
700697                        string  conditionToUseExistingElement  =  expressionForElementExists ; 
701698
702699                        // If key already exists, bind to existing element instance if not null (for ref types). 
@@ -727,7 +724,7 @@ void Emit_BindAndAddLogic_ForElement(string parsedKeyExpr)
727724                        } 
728725
729726                        EmitBindCoreCall ( elementType ,  Identifier . element ,  Identifier . section ,  InitializationKind . None ) ; 
730-                         _writer . WriteLine ( $ "{ objIdentifier } [{ parsedKeyExpr } ] = { Identifier . element } ;") ; 
727+                         _writer . WriteLine ( $ "{ instanceIdentifier } [{ parsedKeyExpr } ] = { Identifier . element } ;") ; 
731728                    } 
732729                } 
733730
@@ -747,7 +744,7 @@ private void EmitBindCoreImplForObject(ObjectSpec type)
747744                    bool  noSetter_And_IsReadonly  =  ! property . CanSet  &&  property . Type  is  CollectionSpec  {  InitializationStrategy :  InitializationStrategy . ParameterizedConstructor  } ; 
748745                    if  ( property . ShouldBind ( )  &&  ! noSetter_And_IsReadonly ) 
749746                    { 
750-                         string  containingTypeRef  =  property . IsStatic  ?  type . DisplayString  :  Identifier . obj ; 
747+                         string  containingTypeRef  =  property . IsStatic  ?  type . DisplayString  :  Identifier . instance ; 
751748                        EmitBindImplForMember ( 
752749                            property , 
753750                            memberAccessExpr :  $ "{ containingTypeRef } .{ property . Name } ", 
@@ -883,14 +880,14 @@ private void EmitBindCoreCallForMember(
883880                    writeOnSuccess ) ; 
884881            } 
885882
886-             private  void  EmitCollectionCastIfRequired ( CollectionSpec  type ,  out  string  objIdentifier ) 
883+             private  void  EmitCollectionCastIfRequired ( CollectionSpec  type ,  out  string  instanceIdentifier ) 
887884            { 
888-                 objIdentifier  =  Identifier . obj ; 
885+                 instanceIdentifier  =  Identifier . instance ; 
889886                if  ( type . PopulationStrategy  is  CollectionPopulationStrategy . Cast_Then_Add ) 
890887                { 
891-                     objIdentifier  =  Identifier . temp ; 
888+                     instanceIdentifier  =  Identifier . temp ; 
892889                    _writer . WriteLine ( $$ """ 
893-                         if ({{ Identifier . obj }}  is not {{ type . PopulationCastType ! . DisplayString }}  {{ objIdentifier }} ) 
890+                         if ({{ Identifier . instance }}  is not {{ type . PopulationCastType ! . DisplayString }}  {{ instanceIdentifier }} ) 
894891                        { 
895892                            return; 
896893                        } 
0 commit comments