@@ -119,7 +119,7 @@ public void CreateFieldDeclaration(IFieldDeclaration fieldDeclaration, IxNodeVis
119119 if ( eligibility . isEligible )
120120 {
121121 AddToSource ( fieldDeclaration . Pragmas . AddedPropertiesAsAttributes ( ) ) ;
122- switch ( fieldDeclaration . Type )
122+ switch ( eligibility . eligibleType )
123123 {
124124 case IArrayTypeDeclaration arrayType :
125125 var arrayEligibility = arrayType . IsEligibleForTranspile ( this ) ;
@@ -142,19 +142,19 @@ public void CreateFieldDeclaration(IFieldDeclaration fieldDeclaration, IxNodeVis
142142 }
143143 break ;
144144 case IStringTypeDeclaration :
145- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
145+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration , visitor ) ;
146146 AddToSource ( " = string.Empty;" ) ;
147147 break ;
148148 case INamedValueTypeDeclaration namedValueType :
149- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
149+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration , visitor ) ;
150150 break ;
151151 case IScalarTypeDeclaration scalar :
152- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
152+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration , visitor ) ;
153153 AddToSource ( scalar . CreateScalarInitializer ( this . Project ? . CompilerOptions ? . TargetPlatfromMoniker ) ) ;
154154 break ;
155155 case IReferenceTypeDeclaration d :
156156 case IStructuredTypeDeclaration s :
157- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
157+ AddPropertyDeclaration ( fieldDeclaration , eligibility . eligibleType , visitor ) ;
158158 AddToSource ( " = new " ) ;
159159 eligibility . eligibleType . Accept ( visitor , this ) ;
160160 //fieldDeclaration.Type.Accept(visitor, this);
@@ -164,7 +164,7 @@ public void CreateFieldDeclaration(IFieldDeclaration fieldDeclaration, IxNodeVis
164164 }
165165 }
166166
167- private void AddPropertyDeclaration ( IDeclaration fieldDeclaration , IxNodeVisitor visitor )
167+ private void AddPropertyDeclaration ( IDeclaration fieldDeclaration , IDeclaration eligibleType , IxNodeVisitor visitor )
168168 {
169169 fieldDeclaration . Pragmas . AddAttributes ( ) ;
170170 switch ( fieldDeclaration )
@@ -176,7 +176,7 @@ private void AddPropertyDeclaration(IDeclaration fieldDeclaration, IxNodeVisitor
176176 AddToSource ( $ "public") ;
177177 break ;
178178 }
179- fieldDeclaration . Type . Accept ( visitor , this ) ;
179+ eligibleType . Type . Accept ( visitor , this ) ;
180180 AddToSource ( $ " { fieldDeclaration . Name } ") ;
181181 AddToSource ( "{get; set;}" ) ;
182182 }
@@ -309,19 +309,19 @@ public void CreateVariableDeclaration(IVariableDeclaration fieldDeclaration, IxN
309309 }
310310 break ;
311311 case IStringTypeDeclaration :
312- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
312+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration , visitor ) ;
313313 AddToSource ( " = string.Empty;" ) ;
314314 break ;
315315 case INamedValueTypeDeclaration namedValueType :
316- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
316+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration . Type , visitor ) ;
317317 break ;
318318 case IScalarTypeDeclaration scalar :
319- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
319+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration , visitor ) ;
320320 AddToSource ( scalar . CreateScalarInitializer ( this . Project ? . CompilerOptions ? . TargetPlatfromMoniker ) ) ;
321321 break ;
322322 case IReferenceTypeDeclaration d :
323323 case IStructuredTypeDeclaration s :
324- AddPropertyDeclaration ( fieldDeclaration , visitor ) ;
324+ AddPropertyDeclaration ( fieldDeclaration , fieldDeclaration . Type , visitor ) ;
325325 AddToSource ( " = new " ) ;
326326 eligibility . eligibleType . Accept ( visitor , this ) ;
327327 //fieldDeclaration.Type.Accept(visitor, this);
0 commit comments