package Ġh ach i . lang . domain . type Ċ Ċ enum Ġclass ĠBuilt In Type ( private Ġval ĠtypeName : ĠString , Ġprivate Ġval Ġtype Class : ĠClass < *> ?, Ġprivate Ġval Ġdescriptor : ĠString , Ġprivate Ġval Ġop codes : ĠType Specific Op codes ) Ġ: ĠType Ġ{ ĊĠĠĠ ĠBOOLEAN (" boolean ", ĠBoolean :: class . java , Ġ" Z ", ĠType Specific Op codes . INT ), ĊĠĠĠ ĠINT (" int ", ĠInt :: class . java , Ġ" I ", ĠType Specific Op codes . INT ), ĊĠĠĠ ĠCHAR (" char ", ĠChar :: class . java , Ġ" C ", ĠType Specific Op codes . INT ), ĊĠĠĠ ĠBYTE (" byte ", ĠByte :: class . java , Ġ" B ", ĠType Specific Op codes . INT ), ĊĠĠĠ ĠSH ORT (" short ", ĠShort :: class . java , Ġ" S ", ĠType Specific Op codes . INT ), ĊĠĠĠ ĠLONG (" long ", ĠLong :: class . java , Ġ" J ", ĠType Specific Op codes . LONG ), ĊĠĠĠ ĠFLOAT (" float ", ĠFloat :: class . java , Ġ" F ", ĠType Specific Op codes . FLOAT ), ĊĠĠĠ ĠDOUBLE (" double ", ĠDouble :: class . java , Ġ" D ", ĠType Specific Op codes . DOUBLE ), ĊĠĠĠ ĠSTRING (" string ", ĠString :: class . java , Ġ" Ljava / lang / String ;", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠBOOLEAN _ ARRAY (" bool [] ", ĠArray < Boolean >:: class . java , Ġ"[ B ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠINT _ ARRAY (" int [] ", ĠArray < Int >:: class . java , Ġ"[ I ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠCHAR _ ARRAY (" char [] ", ĠArray < Char >:: class . java , Ġ"[ C ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠBYTE _ ARRAY (" byte [] ", ĠArray < Byte >:: class . java , Ġ"[ B ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠSH ORT _ ARRAY (" short [] ", ĠArray < Short >:: class . java , Ġ"[ S ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠLONG _ ARRAY (" long [] ", ĠArray < Long >:: class . java , Ġ"[ J ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠFLOAT _ ARRAY (" float [] ", ĠArray < Float >:: class . java , Ġ"[ F ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠDOUBLE _ ARRAY (" double [] ", ĠArray < Double >:: class . java , Ġ"[ D ", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠSTRING _ ARRAY (" string [] ", ĠArray < String >:: class . java , Ġ"[ Ljava / lang / String ;", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠNONE ("", Ġnull , Ġ"", ĠType Specific Op codes . OBJECT ), ĊĠĠĠ ĠVOID (" void ", ĠVoid :: class . java , Ġ" V ", ĠType Specific Op codes . VOID ); ĊĊĠĠĠ Ġoverride Ġfun ĠgetName (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . typeName ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetType Class (): ĠClass < *> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . type Class ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetDescriptor (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . descriptor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Internal Name (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . descriptor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Load Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . load Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Store Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . store Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Return Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . return Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Add Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . add Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Subtract Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . subtract Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Multiply Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . multiply Opcode ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Divide Opcode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . op codes . divide Opcode ĊĠĠĠ Ġ} Ċ }