|
@ -267,7 +267,38 @@ tstylesheet { |
|
|
def "func:idlparam_to_cparam" { |
|
|
def "func:idlparam_to_cparam" { |
|
|
param "idltype"; |
|
|
param "idltype"; |
|
|
param "mode"; |
|
|
param "mode"; |
|
|
result "'sfd'"; |
|
|
const "typeclass", "func:ig_c99_typeclass($idltype)"; |
|
|
|
|
|
|
|
|
|
|
|
choose { |
|
|
|
|
|
when "$mode = 'borrow'" |
|
|
|
|
|
choose { |
|
|
|
|
|
when "$typeclass = 'primitive'" |
|
|
|
|
|
result > «$idltype» |
|
|
|
|
|
when "$typeclass = 'object'" |
|
|
|
|
|
result > «$idltype» |
|
|
|
|
|
} |
|
|
|
|
|
when "$mode = 'mborrow'" |
|
|
|
|
|
choose { |
|
|
|
|
|
when "$typeclass = 'primitive'" |
|
|
|
|
|
result > «$idltype»* |
|
|
|
|
|
when "$typeclass = 'object'" |
|
|
|
|
|
result > «$idltype»* |
|
|
|
|
|
} |
|
|
|
|
|
when "$mode = 'claim'" |
|
|
|
|
|
choose { |
|
|
|
|
|
when "$typeclass = 'primitive'" |
|
|
|
|
|
error > invalid mode «$mode» for typeclass «$typeclass» |
|
|
|
|
|
when "$typeclass = 'object'" |
|
|
|
|
|
result > «$idltype» |
|
|
|
|
|
} |
|
|
|
|
|
when "$mode = 'provide'" |
|
|
|
|
|
choose { |
|
|
|
|
|
when "$typeclass = 'primitive'" |
|
|
|
|
|
error > invalid mode «$mode» for typeclass «$typeclass» |
|
|
|
|
|
when "$typeclass = 'object'" |
|
|
|
|
|
result > «$idltype»* |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|