@@ -70,7 +70,7 @@ static IEnumerable<ExpressionSyntax> GenerateDecryptPropertyCalls(IEnumerable<st
70
70
{
71
71
foreach ( var prop in properties )
72
72
{
73
- yield return ParseExpression ( $ "Decrypt{ prop } ()") ;
73
+ yield return ParseExpression ( $ "Decrypt{ prop } (cancellationToken )") ;
74
74
}
75
75
}
76
76
@@ -89,8 +89,15 @@ IEnumerable<StatementSyntax> GenerateBody()
89
89
yield return ExpressionStatement ( awaitExpression ) ;
90
90
}
91
91
92
+ var defaultValue = EqualsValueClause ( ParseToken ( "=" ) , ParseExpression ( "default" ) ) ;
93
+ var parameters = SeparatedList ( new ParameterSyntax [ ]
94
+ {
95
+ Parameter ( List < AttributeListSyntax > ( ) , TokenList ( ) , ParseTypeName ( "CancellationToken" ) , ParseToken ( "cancellationToken" ) , defaultValue ) ,
96
+ } ) ;
97
+
92
98
return MethodDeclaration ( ParseTypeName ( "Task" ) , "Initialize" )
93
99
. WithModifiers ( TokenList ( Token ( PublicKeyword ) , Token ( AsyncKeyword ) ) )
100
+ . WithParameterList ( ParameterList ( parameters ) )
94
101
. WithBody ( Block ( GenerateBody ( ) ) ) ;
95
102
}
96
103
@@ -111,11 +118,18 @@ public static MemberDeclarationSyntax GenerateDecryptPropertyMethod(string prop)
111
118
{
112
119
IEnumerable < StatementSyntax > GenerateBody ( )
113
120
{
114
- yield return ParseStatement ( $ "options.{ prop } = await decryptionService.Decrypt(options.{ prop } );") ;
121
+ yield return ParseStatement ( $ "options.{ prop } = await decryptionService.Decrypt(options.{ prop } , cancellationToken );") ;
115
122
}
116
123
124
+ var defaultValue = EqualsValueClause ( ParseToken ( "=" ) , ParseExpression ( "default" ) ) ;
125
+ var parameters = SeparatedList ( new ParameterSyntax [ ]
126
+ {
127
+ Parameter ( List < AttributeListSyntax > ( ) , TokenList ( ) , ParseTypeName ( "CancellationToken" ) , ParseToken ( "cancellationToken" ) , defaultValue ) ,
128
+ } ) ;
129
+
117
130
return MethodDeclaration ( ParseTypeName ( "Task" ) , $ "Decrypt{ prop } ")
118
131
. WithModifiers ( TokenList ( Token ( PrivateKeyword ) , Token ( AsyncKeyword ) ) )
132
+ . WithParameterList ( ParameterList ( parameters ) )
119
133
. WithBody ( Block ( GenerateBody ( ) ) ) ;
120
134
}
121
135
}
0 commit comments