@@ -12,7 +12,7 @@ public static class AttributeExpressionValue
12
12
private const string ValueProvider = "valueIdProvider" ;
13
13
private static IEnumerable < string > TypeContents (
14
14
ITypeSymbol typeSymbol ,
15
- ( bool IsUnknown , DynamoDbDataMember DDB , string ValueRef , string AttributeReference , string AttributeInterfaceName ) [ ] dataMembers ,
15
+ ( bool IsUnknown , DynamoDbDataMember DDB , string AttributeReference , string AttributeInterfaceName ) [ ] dataMembers ,
16
16
string structName ,
17
17
string interfaceName ,
18
18
MarshallerOptions options
@@ -21,8 +21,8 @@ MarshallerOptions options
21
21
const string self = "_self" ;
22
22
var constructorFieldAssignments = dataMembers
23
23
. Select ( x => x . IsUnknown
24
- ? $ "{ x . ValueRef } = new (() => new { x . AttributeReference } ({ ValueProvider } , { MarshallerOptions . ParamReference } ));"
25
- : $ "{ x . ValueRef } = new ({ ValueProvider } );")
24
+ ? $ "{ x . DDB . DataMember . PrivateField } = new (() => new { x . AttributeReference } ({ ValueProvider } , { MarshallerOptions . ParamReference } ));"
25
+ : $ "{ x . DDB . DataMember . PrivateField } = new ({ ValueProvider } );")
26
26
. Append ( $ "{ self } = new({ ValueProvider } );")
27
27
. Append ( $ "{ MarshallerOptions . FieldReference } = { MarshallerOptions . ParamReference } ;") ;
28
28
foreach ( var fieldAssignment in $ "public { structName } (Func<string> { ValueProvider } , { MarshallerOptions . Name } options)". CreateScope ( constructorFieldAssignments ) )
@@ -33,13 +33,13 @@ MarshallerOptions options
33
33
{
34
34
if ( fieldDeclaration . IsUnknown )
35
35
{
36
- yield return $ "private readonly Lazy<{ fieldDeclaration . AttributeReference } > { fieldDeclaration . ValueRef } ;";
37
- yield return $ "public { fieldDeclaration . AttributeReference } { fieldDeclaration . DDB . DataMember . Name } => { fieldDeclaration . ValueRef } .Value;";
36
+ yield return $ "private readonly Lazy<{ fieldDeclaration . AttributeReference } > { fieldDeclaration . DDB . DataMember . PrivateField } ;";
37
+ yield return $ "public { fieldDeclaration . AttributeReference } { fieldDeclaration . DDB . DataMember . Name } => { fieldDeclaration . DDB . DataMember . PrivateField } .Value;";
38
38
}
39
39
else
40
40
{
41
- yield return $ "private readonly Lazy<string> { fieldDeclaration . ValueRef } ;";
42
- yield return $ "public string { fieldDeclaration . DDB . DataMember . Name } => { fieldDeclaration . ValueRef } .Value;";
41
+ yield return $ "private readonly Lazy<string> { fieldDeclaration . DDB . DataMember . PrivateField } ;";
42
+ yield return $ "public string { fieldDeclaration . DDB . DataMember . Name } => { fieldDeclaration . DDB . DataMember . PrivateField } .Value;";
43
43
}
44
44
}
45
45
yield return $ "private readonly Lazy<string> { self } ;";
@@ -66,7 +66,7 @@ MarshallerOptions options
66
66
yield return $ "public override string ToString() => { self } .Value;";
67
67
}
68
68
69
- private static IEnumerable < string > YieldSelector ( ( bool IsUnknown , DynamoDbDataMember DDB , string ValueRef , string AttributeReference , string AttributeInterfaceName ) x , MarshallerOptions options )
69
+ private static IEnumerable < string > YieldSelector ( ( bool IsUnknown , DynamoDbDataMember DDB , string AttributeReference , string AttributeInterfaceName ) x , MarshallerOptions options )
70
70
{
71
71
var accessPattern = $ "entity.{ x . DDB . DataMember . Name } ";
72
72
@@ -76,10 +76,10 @@ private static IEnumerable<string> YieldSelector((bool IsUnknown, DynamoDbDataMe
76
76
accessPattern ,
77
77
$ "foreach (var x in ({ x . DDB . DataMember . Name } as { x . AttributeInterfaceName } ).{ Constants . DynamoDBGenerator . Marshaller . AttributeExpressionValueTrackerAccessedValues } ({ accessPattern } ))". CreateScope ( "yield return x;" )
78
78
)
79
- . ScopeTo ( $ "if ({ x . ValueRef } .IsValueCreated)") ;
79
+ . ScopeTo ( $ "if ({ x . DDB . DataMember . PrivateField } .IsValueCreated)") ;
80
80
}
81
81
82
- return $ "if ({ x . ValueRef } .IsValueCreated)". CreateScope ( x . DDB . DataMember . Type . NotNullIfStatement ( accessPattern , $ "yield return new ({ x . ValueRef } .Value, { Marshaller . InvokeMarshallerMethod ( x . DDB . DataMember . Type , $ "entity.{ x . DDB . DataMember . Name } ", $ "\" { x . DDB . DataMember . Name } \" ", options , MarshallerOptions . FieldReference ) } ?? { AttributeValueUtilityFactory . Null } );") ) ;
82
+ return $ "if ({ x . DDB . DataMember . PrivateField } .IsValueCreated)". CreateScope ( x . DDB . DataMember . Type . NotNullIfStatement ( accessPattern , $ "yield return new ({ x . DDB . DataMember . PrivateField } .Value, { Marshaller . InvokeMarshallerMethod ( x . DDB . DataMember . Type , $ "entity.{ x . DDB . DataMember . Name } ", $ "\" { x . DDB . DataMember . Name } \" ", options , MarshallerOptions . FieldReference ) } ?? { AttributeValueUtilityFactory . Null } );") ) ;
83
83
84
84
}
85
85
internal static IEnumerable < string > CreateExpressionAttributeValue ( IEnumerable < DynamoDBMarshallerArguments > arguments , Func < ITypeSymbol , ImmutableArray < DynamoDbDataMember > > getDynamoDbProperties , MarshallerOptions options )
@@ -95,15 +95,14 @@ private static CodeFactory CreateStruct(ITypeSymbol typeSymbol, Func<ITypeSymbol
95
95
var dataMembers =
96
96
options . IsConvertable ( typeSymbol )
97
97
? Array
98
- . Empty < ( bool IsUnknown , DynamoDbDataMember DDB , string ValueRef , string AttributeReference , string
98
+ . Empty < ( bool IsUnknown , DynamoDbDataMember DDB , string AttributeReference , string
99
99
AttributeInterfaceName ) > ( )
100
100
: fn ( typeSymbol )
101
101
. Select ( x =>
102
102
{
103
103
return (
104
104
IsUnknown : ! options . IsConvertable ( x . DataMember . Type ) && x . DataMember . Type . TypeIdentifier ( ) is UnknownType ,
105
105
DDB : x ,
106
- ValueRef : x . DataMember . Name . ToPrivateFieldFromPascal ( ) ,
107
106
AttributeReference : TypeName ( x . DataMember . Type ) ,
108
107
AttributeInterfaceName :
109
108
$ "{ Constants . DynamoDBGenerator . Marshaller . AttributeExpressionValueTrackerInterface } <{ x . DataMember . Type . Representation ( ) . annotated } >"
0 commit comments