324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
typeEncoding = [methodSignature methodReturnType];
if (*typeEncoding == 'r')
typeEncoding++;
switch (*typeEncoding) {
case 'c':
case 'C':
case 'i':
case 'I':
case 's':
case 'S':
case 'l':
|
>
|
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
|
typeEncoding = [methodSignature methodReturnType];
if (*typeEncoding == 'r')
typeEncoding++;
switch (*typeEncoding) {
case 'v':
case 'c':
case 'C':
case 'i':
case 'I':
case 's':
case 'S':
case 'l':
|
377
378
379
380
381
382
383
384
385
386
387
388
389
390
|
free(context);
@throw [OFInvalidFormatException exception];
}
of_invocation_call(context);
switch (*typeEncoding) {
#define CASE_GPR(encoding, type) \
case encoding: \
{ \
type tmp = (type)context->GPR[NUM_GPR_IN]; \
[invocation setReturnValue: &tmp]; \
} \
break;
|
>
>
|
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
|
free(context);
@throw [OFInvalidFormatException exception];
}
of_invocation_call(context);
switch (*typeEncoding) {
case 'v':
break;
#define CASE_GPR(encoding, type) \
case encoding: \
{ \
type tmp = (type)context->GPR[NUM_GPR_IN]; \
[invocation setReturnValue: &tmp]; \
} \
break;
|