@@ -135,6 +135,7 @@ private void GenerateStubs()
135
135
{
136
136
// get the parameter type
137
137
var parameterType = item . ParameterType . ToNativeTypeAsString ( ) ;
138
+ var parameterTypeClr = item . ParameterType . ToCLRTypeAsString ( ) ;
138
139
139
140
// compose the function declaration
140
141
declaration . Append ( $ "{ parameterType } param{ parameterIndex . ToString ( ) } , ") ;
@@ -161,7 +162,7 @@ private void GenerateStubs()
161
162
$ "{ parameterType } { parameterDeclaration . Name } ;" + Environment . NewLine +
162
163
$ " UINT8 heapblock{ parameterIndex . ToString ( ) } [CLR_RT_HEAP_BLOCK_SIZE];";
163
164
164
- parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ parameterType } _ByRef( stack, heapblock{ ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
165
+ parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ parameterTypeClr } _ByRef( stack, heapblock{ ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
165
166
166
167
}
167
168
else if ( item . ParameterType . IsArray )
@@ -171,7 +172,7 @@ private void GenerateStubs()
171
172
172
173
parameterDeclaration . Type = parameterType ;
173
174
parameterDeclaration . Declaration = $ "{ parameterType } { parameterDeclaration . Name } ;";
174
- parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ item . ParameterType . GetElementType ( ) . ToCLRTypeAsString ( ) } _ARRAY( stack, { ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
175
+ parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ parameterTypeClr } _ARRAY( stack, { ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
175
176
}
176
177
else
177
178
{
@@ -180,7 +181,7 @@ private void GenerateStubs()
180
181
181
182
parameterDeclaration . Type = parameterType ;
182
183
parameterDeclaration . Declaration = $ "{ parameterType } { parameterDeclaration . Name } ;";
183
- parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ parameterType } ( stack, { ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
184
+ parameterDeclaration . MarshallingDeclaration = $ "Interop_Marshal_{ parameterTypeClr } ( stack, { ( parameterIndex + ( m . IsStatic ? 0 : 1 ) ) . ToString ( ) } , { parameterDeclaration . Name } )";
184
185
}
185
186
newMethod . ParameterDeclaration . Add ( parameterDeclaration ) ;
186
187
parameterIndex ++ ;
0 commit comments