package Ġcom . nur k iew ic z . tsc lass . parser . ast Ċ Ċ data Ġclass ĠMethod ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġtype : ĠType , ĊĠĠĠĠĠĠĠ Ġval Ġparameters : ĠList < Parameter >, ĊĠĠĠĠĠĠĠ Ġval Ġbody : ĠBlock ) Ġ{ ĊĊĠĠĠ Ġfun Ġmethod Descriptor (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġorg . object web . asm . Type . getMethod Descriptor ( type . to Java Type (), Ġ* param Java Types ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġparam Java Types : ĠArray < org . object web . asm . Type > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . type Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . to Java Type () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Typed Array () ĊĊĠĠĠ Ġfun Ġmatches ( call : ĠMethod Call ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . name Ġ== Ġcall . name Ġ&& Ġparameter Types Matching ( call ) ĊĊĠĠĠ Ġ// TODO ĠAlso Ġcheck Ġcall Ġtypes , Ġnot Ġonly Ġcount ĊĠĠĠ Ġprivate Ġfun Ġparameter Types Matching ( call : ĠMethod Call ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . parameters . size Ġ== Ġcall . parameters . size Ċ } Ċ Ċ data Ġclass ĠParameter ( val Ġname : ĠString , Ġval Ġtype : ĠType ) Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġ"$ name : Ġ$ type " Ċ } ĊĊ