1
1
import DNObjectiveCTypeConverter from './DNObjectiveCTypeConverter.js'
2
- import { rawGenericType } from '../common/utils.js'
2
+ import { rawGenericType , convertMutableTypeIfNeed } from '../common/utils.js'
3
3
4
4
export class DNContext {
5
5
constructor ( internal ) {
@@ -190,7 +190,7 @@ export class DNMethodContext extends DNContext {
190
190
return this . constructorImpl ( )
191
191
} else {
192
192
var result = ' ' + this . availability . map ( ( a ) => a . parse ( ) ) . join ( ' ' ) + '\n'
193
- result += ' ' + ( this . isClassMethod ? 'static ' : '' ) + this . convertMutableTypeIfNeed ( this . returnType ) + ' ' + this . methodDeclaration ( ) + this . methodArgs ( ) + ' {\n'
193
+ result += ' ' + ( this . isClassMethod ? 'static ' : '' ) + convertMutableTypeIfNeed ( this . returnType ) + ' ' + this . methodDeclaration ( ) + this . methodArgs ( ) + ' {\n'
194
194
result += this . preHandleMutableArgsIfNeed ( ) + ' ' + this . methodImpl ( )
195
195
result += ' }'
196
196
return result
@@ -288,7 +288,7 @@ export class DNMethodContext extends DNContext {
288
288
nullableArgs . push ( element )
289
289
} else {
290
290
var argType = element . isOutParam ? 'NSObjectRef<' + element . type + '>' : element . type
291
- var arg = element . isBlock ? argType : this . convertMutableTypeIfNeed ( argType ) + ' ' + element . name
291
+ var arg = element . isBlock ? argType : convertMutableTypeIfNeed ( argType ) + ' ' + element . name
292
292
argList += arg + ( index == this . args . length - 1 && nullableArgs . length == 0 ? '' : ', ' )
293
293
}
294
294
} )
@@ -297,7 +297,7 @@ export class DNMethodContext extends DNContext {
297
297
argList += '{'
298
298
nullableArgs . forEach ( ( element , index ) => {
299
299
var argType = element . isOutParam ? 'NSObjectRef<' + element . type + '>' : element . type
300
- var arg = element . isBlock ? argType : this . convertMutableTypeIfNeed ( argType ) + ' ' + element . name
300
+ var arg = element . isBlock ? argType : convertMutableTypeIfNeed ( argType ) + ' ' + element . name
301
301
argList += arg + ( index == nullableArgs . length - 1 ? '' : ', ' )
302
302
} )
303
303
argList += '}'
@@ -319,13 +319,6 @@ export class DNMethodContext extends DNContext {
319
319
return result
320
320
}
321
321
322
- convertMutableTypeIfNeed ( type ) {
323
- var rawType = rawGenericType ( type )
324
- var dartType = DNObjectiveCTypeConverter . SupportMutableTypesMap [ rawType ]
325
- var ret = dartType ? type . replace ( rawType , dartType ) : type
326
- return ret
327
- }
328
-
329
322
ocMethodName ( ) {
330
323
var funcName = ''
331
324
this . args . forEach ( ( _element , index ) => {
@@ -378,11 +371,11 @@ export class DNPropertyContext extends DNContext {
378
371
}
379
372
var annotation = ' ' + this . availability . map ( ( a ) => a . parse ( ) ) . join ( ' ' ) + '\n'
380
373
var isClassPrefix = ( this . isClassProperty ? ' Class(\'' + this . parent . name + '\').' : ' ' )
381
-
382
- var get = annotation + ' ' + this . type + ' get ' + this . name + ' {\n' +
374
+ let convertedType = convertMutableTypeIfNeed ( this . type )
375
+ var get = annotation + ' ' + convertedType + ' get ' + this . name + ' {\n' +
383
376
this . handleGetter ( isClassPrefix ) + '\n}'
384
377
if ( ! this . isReadOnly ) {
385
- var set = annotation + ' ' + 'set ' + this . name + '(' + this . type + ' ' + this . name + ')' +
378
+ var set = annotation + ' ' + 'set ' + this . name + '(' + convertedType + ' ' + this . name + ')' +
386
379
' =>' + isClassPrefix + 'perform(SEL(\'set' + this . name . replace ( / ^ \w / , c => c . toUpperCase ( ) ) + ':\'), args: [' + this . name + ']);'
387
380
}
388
381
return get + '\n' + set
0 commit comments