@@ -67,13 +67,13 @@ public virtual string TransformText()
6767
6868 bool isFirstElement = true ;
6969
70- public void ExportMembers ( Expression expression , int recursionLevel , bool isLast )
70+ public void ExportMembers ( Expression expression , int currentDepth , bool isLast )
7171 {
7272 //resolved reserved keywords such as class, this becomes @class.
7373 string expressionName = GeneratorHelper . ResolveReservedNames ( expression . Name ) ;
7474
7575 string expressionType ;
76- if ( isFirstElement )
76+ if ( isFirstElement ) //TODO: can probably replace isFirstElement with currentDepth = 0
7777 {
7878 //Frameworks can add theType { dynamicType} - strip out the {dynamic type}
7979 expressionType = GeneratorHelper . StripChildReference ( expression . Type ) ;
@@ -84,8 +84,6 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
8484 expressionType = GeneratorHelper . StripObjectReference ( expression . Type ) ;
8585 }
8686
87-
88-
8987 if ( ! GeneratorHelper . IsSerializable ( expressionName ) )
9088 {
9189 return ;
@@ -101,14 +99,14 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
10199 #line default
102100 #line hidden
103101
104- #line 52 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
102+ #line 50 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
105103this . Write ( this . ToStringHelper . ToStringWithCulture ( GetSingleTypeValue ( expression ) + GeneratorHelper . WriteCommaIfNotLast ( isLast ) ) ) ;
106104
107105
108106 #line default
109107 #line hidden
110108
111- #line 52 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
109+ #line 50 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
112110
113111 }
114112 else
@@ -118,28 +116,28 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
118116 #line default
119117 #line hidden
120118
121- #line 56 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
119+ #line 54 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
122120this . Write ( this . ToStringHelper . ToStringWithCulture ( expressionName ) ) ;
123121
124122
125123 #line default
126124 #line hidden
127125
128- #line 56 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
126+ #line 54 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
129127this . Write ( " = " ) ;
130128
131129
132130 #line default
133131 #line hidden
134132
135- #line 56 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
133+ #line 54 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
136134this . Write ( this . ToStringHelper . ToStringWithCulture ( GetSingleTypeValue ( expression ) + GeneratorHelper . WriteCommaIfNotLast ( isLast ) ) ) ;
137135
138136
139137 #line default
140138 #line hidden
141139
142- #line 56 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
140+ #line 54 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
143141
144142 }
145143 }
@@ -153,14 +151,14 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
153151 #line default
154152 #line hidden
155153
156- #line 64 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
154+ #line 62 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
157155this . Write ( this . ToStringHelper . ToStringWithCulture ( expression . Value + GeneratorHelper . WriteCommaIfNotLast ( isLast ) ) ) ;
158156
159157
160158 #line default
161159 #line hidden
162160
163- #line 64 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
161+ #line 62 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
164162
165163 }
166164 else
@@ -170,32 +168,32 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
170168 #line default
171169 #line hidden
172170
173- #line 68 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
171+ #line 66 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
174172this . Write ( this . ToStringHelper . ToStringWithCulture ( expressionName ) ) ;
175173
176174
177175 #line default
178176 #line hidden
179177
180- #line 68 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
178+ #line 66 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
181179this . Write ( " = " ) ;
182180
183181
184182 #line default
185183 #line hidden
186184
187- #line 68 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
185+ #line 66 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
188186this . Write ( this . ToStringHelper . ToStringWithCulture ( expression . Value + GeneratorHelper . WriteCommaIfNotLast ( isLast ) ) ) ;
189187
190188
191189 #line default
192190 #line hidden
193191
194- #line 68 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
192+ #line 66 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
195193
196194 }
197195 }
198- else if ( expression . DataMembers . Count > 0 && recursionLevel <= maxDepth )
196+ else if ( expression . DataMembers . Count > 0 && currentDepth <= maxDepth )
199197 {
200198 //used for the very first object (top most) to be completed as var objName = new objType, without a space in between.
201199 if ( isFirstElement )
@@ -214,42 +212,42 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
214212 #line default
215213 #line hidden
216214
217- #line 85 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
215+ #line 83 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
218216this . Write ( this . ToStringHelper . ToStringWithCulture ( expressionName ) ) ;
219217
220218
221219 #line default
222220 #line hidden
223221
224- #line 85 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
222+ #line 83 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
225223this . Write ( " = new " ) ;
226224
227225
228226 #line default
229227 #line hidden
230228
231- #line 85 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
229+ #line 83 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
232230this . Write ( this . ToStringHelper . ToStringWithCulture ( expressionType ) ) ;
233231
234232
235233 #line default
236234 #line hidden
237235
238- #line 85 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
236+ #line 83 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
239237
240238 WriteLine ( "" ) ;
241239
242240 #line default
243241 #line hidden
244242
245- #line 86 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
243+ #line 84 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
246244this . Write ( "{" ) ;
247245
248246
249247 #line default
250248 #line hidden
251249
252- #line 86 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
250+ #line 84 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
253251
254252 }
255253 else
@@ -259,35 +257,35 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
259257 #line default
260258 #line hidden
261259
262- #line 90 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
260+ #line 88 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
263261this . Write ( "new " ) ;
264262
265263
266264 #line default
267265 #line hidden
268266
269- #line 90 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
267+ #line 88 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
270268this . Write ( this . ToStringHelper . ToStringWithCulture ( expressionType ) ) ;
271269
272270
273271 #line default
274272 #line hidden
275273
276- #line 90 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
274+ #line 88 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
277275
278276 WriteLine ( "" ) ;
279277
280278 #line default
281279 #line hidden
282280
283- #line 91 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
281+ #line 89 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
284282this . Write ( "{" ) ;
285283
286284
287285 #line default
288286 #line hidden
289287
290- #line 91 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
288+ #line 89 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
291289
292290 }
293291
@@ -297,7 +295,7 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
297295 {
298296 PushIndent ( "\t " ) ;
299297 bool isLastItem = cleanedExpressionMembers . IsLast ( exp ) ;
300- ExportMembers ( exp , recursionLevel + 1 , isLastItem ) ;
298+ ExportMembers ( exp , currentDepth + 1 , isLastItem ) ;
301299 PopIndent ( ) ;
302300 }
303301
@@ -307,28 +305,28 @@ public void ExportMembers(Expression expression, int recursionLevel, bool isLast
307305 #line default
308306 #line hidden
309307
310- #line 105 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
308+ #line 103 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
311309this . Write ( "}" ) ;
312310
313311
314312 #line default
315313 #line hidden
316314
317- #line 105 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
315+ #line 103 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
318316
319317
320318
321319 #line default
322320 #line hidden
323321
324- #line 106 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
322+ #line 104 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
325323this . Write ( this . ToStringHelper . ToStringWithCulture ( GeneratorHelper . WriteCommaIfNotLast ( isLast ) ) ) ;
326324
327325
328326 #line default
329327 #line hidden
330328
331- #line 106 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
329+ #line 104 "C:\Users\Arel\Documents\GitHub\ObjectExporter\ObjectExporter.Core\Templates\CSharpGenerator.tt"
332330
333331 }
334332 }
0 commit comments