@@ -101,8 +101,8 @@ private void EmitGetCoreMethod()
101
101
}
102
102
else if ( ! EmitInitException ( effectiveType ) )
103
103
{
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 } ;") ;
106
106
}
107
107
108
108
EmitEndBlock ( ) ;
@@ -168,9 +168,8 @@ private void EmitBindCoreMainMethod()
168
168
}
169
169
170
170
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 ) ;
174
173
EmitIConfigurationHasValueOrChildrenCheck ( voidReturn : true ) ;
175
174
_writer . WriteLine ( $ "{ Identifier . BinderOptions } ? { Identifier . binderOptions } = { Identifier . GetBinderOptions } ({ Identifier . configureOptions } );") ;
176
175
_writer . WriteLine ( ) ;
@@ -184,7 +183,7 @@ private void EmitBindCoreMainMethod()
184
183
EmitStartBlock ( $ "{ conditionKindExpr } ({ Identifier . type } == typeof({ type . DisplayString } ))") ;
185
184
if ( ! EmitInitException ( effectiveType ) )
186
185
{
187
- _writer . WriteLine ( $ "var { Identifier . temp } = ({ effectiveType . DisplayString } ){ Identifier . obj } ;") ;
186
+ _writer . WriteLine ( $ "var { Identifier . temp } = ({ effectiveType . DisplayString } ){ Identifier . instance } ;") ;
188
187
EmitBindCoreCall ( type , Identifier . temp , Identifier . configuration , InitializationKind . None ) ;
189
188
_writer . WriteLine ( $ "return;") ;
190
189
}
@@ -213,9 +212,7 @@ private void EmitBindCoreMethods()
213
212
214
213
private void EmitBindCoreMethod ( TypeSpec type )
215
214
{
216
- Debug . Assert ( type . CanInitialize ) ;
217
-
218
- string objParameterExpression = $ "ref { type . DisplayString } { Identifier . obj } ";
215
+ string objParameterExpression = $ "ref { type . DisplayString } { Identifier . instance } ";
219
216
EmitStartBlock ( @$ "public static void { nameof ( MethodsToGen_CoreBindingHelper . BindCore ) } ({ Identifier . IConfiguration } { Identifier . configuration } , { objParameterExpression } , { Identifier . BinderOptions } ? { Identifier . binderOptions } )") ;
220
217
221
218
TypeSpec effectiveType = type . EffectiveType ;
@@ -618,15 +615,15 @@ private void EmitPopulationImplForArray(EnumerableSpec type)
618
615
619
616
// Resize array and add binded elements.
620
617
_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 }} );
624
621
""" ) ;
625
622
}
626
623
627
624
private void EmitPopulationImplForEnumerableWithAdd ( EnumerableSpec type )
628
625
{
629
- EmitCollectionCastIfRequired ( type , out string objIdentifier ) ;
626
+ EmitCollectionCastIfRequired ( type , out string instanceIdentifier ) ;
630
627
631
628
Emit_Foreach_Section_In_ConfigChildren_StartBlock ( ) ;
632
629
@@ -638,22 +635,22 @@ private void EmitPopulationImplForEnumerableWithAdd(EnumerableSpec type)
638
635
stringParsableType ,
639
636
Expression . sectionValue ,
640
637
Expression . sectionPath ,
641
- ( parsedValueExpr ) => _writer . WriteLine ( $ "{ objIdentifier } .{ Identifier . Add } ({ parsedValueExpr } );") ,
638
+ ( parsedValueExpr ) => _writer . WriteLine ( $ "{ instanceIdentifier } .{ Identifier . Add } ({ parsedValueExpr } );") ,
642
639
checkForNullSectionValue : true ,
643
640
useIncrementalStringValueIdentifier : false ) ;
644
641
}
645
642
else
646
643
{
647
644
EmitBindCoreCall ( elementType , Identifier . value , Identifier . section , InitializationKind . Declaration ) ;
648
- _writer . WriteLine ( $ "{ objIdentifier } .{ Identifier . Add } ({ Identifier . value } );") ;
645
+ _writer . WriteLine ( $ "{ instanceIdentifier } .{ Identifier . Add } ({ Identifier . value } );") ;
649
646
}
650
647
651
648
EmitEndBlock ( ) ;
652
649
}
653
650
654
651
private void EmitBindCoreImplForDictionary ( DictionarySpec type )
655
652
{
656
- EmitCollectionCastIfRequired ( type , out string objIdentifier ) ;
653
+ EmitCollectionCastIfRequired ( type , out string instanceIdentifier ) ;
657
654
658
655
Emit_Foreach_Section_In_ConfigChildren_StartBlock ( ) ;
659
656
@@ -677,7 +674,7 @@ void Emit_BindAndAddLogic_ForElement(string parsedKeyExpr)
677
674
stringParsableElementType ,
678
675
Expression . sectionValue ,
679
676
Expression . sectionPath ,
680
- writeOnSuccess : parsedValueExpr => _writer . WriteLine ( $ "{ objIdentifier } [{ parsedKeyExpr } ] = { parsedValueExpr } ;") ,
677
+ writeOnSuccess : parsedValueExpr => _writer . WriteLine ( $ "{ instanceIdentifier } [{ parsedKeyExpr } ] = { parsedValueExpr } ;") ,
681
678
checkForNullSectionValue : true ,
682
679
useIncrementalStringValueIdentifier : false ) ;
683
680
}
@@ -696,7 +693,7 @@ void Emit_BindAndAddLogic_ForElement(string parsedKeyExpr)
696
693
string expressionForElementIsNotNull = $ "{ Identifier . element } is not null";
697
694
string elementTypeDisplayString = elementType . DisplayString + ( elementType . IsValueType ? string . Empty : "?" ) ;
698
695
699
- string expressionForElementExists = $ "{ objIdentifier } .{ Identifier . TryGetValue } ({ parsedKeyExpr } , out { elementTypeDisplayString } { Identifier . element } )";
696
+ string expressionForElementExists = $ "{ instanceIdentifier } .{ Identifier . TryGetValue } ({ parsedKeyExpr } , out { elementTypeDisplayString } { Identifier . element } )";
700
697
string conditionToUseExistingElement = expressionForElementExists ;
701
698
702
699
// 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)
727
724
}
728
725
729
726
EmitBindCoreCall ( elementType , Identifier . element , Identifier . section , InitializationKind . None ) ;
730
- _writer . WriteLine ( $ "{ objIdentifier } [{ parsedKeyExpr } ] = { Identifier . element } ;") ;
727
+ _writer . WriteLine ( $ "{ instanceIdentifier } [{ parsedKeyExpr } ] = { Identifier . element } ;") ;
731
728
}
732
729
}
733
730
@@ -747,7 +744,7 @@ private void EmitBindCoreImplForObject(ObjectSpec type)
747
744
bool noSetter_And_IsReadonly = ! property . CanSet && property . Type is CollectionSpec { InitializationStrategy : InitializationStrategy . ParameterizedConstructor } ;
748
745
if ( property . ShouldBind ( ) && ! noSetter_And_IsReadonly )
749
746
{
750
- string containingTypeRef = property . IsStatic ? type . DisplayString : Identifier . obj ;
747
+ string containingTypeRef = property . IsStatic ? type . DisplayString : Identifier . instance ;
751
748
EmitBindImplForMember (
752
749
property ,
753
750
memberAccessExpr : $ "{ containingTypeRef } .{ property . Name } ",
@@ -883,14 +880,14 @@ private void EmitBindCoreCallForMember(
883
880
writeOnSuccess ) ;
884
881
}
885
882
886
- private void EmitCollectionCastIfRequired ( CollectionSpec type , out string objIdentifier )
883
+ private void EmitCollectionCastIfRequired ( CollectionSpec type , out string instanceIdentifier )
887
884
{
888
- objIdentifier = Identifier . obj ;
885
+ instanceIdentifier = Identifier . instance ;
889
886
if ( type . PopulationStrategy is CollectionPopulationStrategy . Cast_Then_Add )
890
887
{
891
- objIdentifier = Identifier . temp ;
888
+ instanceIdentifier = Identifier . temp ;
892
889
_writer . WriteLine ( $$ """
893
- if ({{ Identifier . obj }} is not {{ type . PopulationCastType ! . DisplayString }} {{ objIdentifier }} )
890
+ if ({{ Identifier . instance }} is not {{ type . PopulationCastType ! . DisplayString }} {{ instanceIdentifier }} )
894
891
{
895
892
return;
896
893
}
0 commit comments