package Ġutils ĊĊ Ċ object ĠKotlin Parser Ġ{ ĊĊĠĠĠ Ġ// ĠConstants ĊĠĠĠ Ġval ĠIMPORT _ PATTERN Ġ= Ġ" import Ġ(? < import Statement >[ \\ w \\. ]+ ); ? ". to Regex () ĊĠĠĠ Ġprivate Ġval ĠPACK AGE _ PATTERN Ġ= Ġ" package Ġ(? < import Statement >[ \\ w \\. ]+) ". to Regex () ĊĠĠĠ Ġprivate Ġval ĠSTRING _ PATTERN Ġ= Ġ"\\ .( .\\ w +) \\ ) ". to Regex () ĊĠĠĠ Ġprivate Ġval ĠINTERNAL _ METHOD _ CALL _ PATTERN Ġ= Ġ"^ \\ s *( ?< methodName > \\ w +) \\ (". to Regex () ĊĠĠĠ Ġprivate Ġconst Ġval ĠASS IGNED _ FROM _ PATTERN Ġ= Ġ"\\ s *( ? :: |= )\\ s *( ?< assigned From >[ \\ w \\. \\ (\\ )] + )" ĊĊĠĠĠ Ġfun Ġparse Imports ( full Code : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠIMPORT _ PATTERN . findAll ( full Code ). map Ġ{ Ġit . groups [ 1 ]?. value !! Ġ}. toList () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetCurrent PackageName ( full Code : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPACK AGE _ PATTERN . find ( full Code ) !!. groups [ 1 ] !!. value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetString Res Name ( input Text : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSTRING _ PATTERN . find ( input Text ) !!. groups [ 1 ] !!. value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* fun Ġis Internal MethodCall ( input Text : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmatches Ġ= ĠINTERNAL _ METHOD _ CALL _ PATTERN . find ( input Text ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmatches Ġ!= Ġnull ĊĠĠĠ Ġ}*/ ĊĊĠĠĠ Ġfun Ġparse Internal MethodName ( input Text : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠINTERNAL _ METHOD _ CALL _ PATTERN . find ( input Text ) !!. groups [ 1 ] !!. value ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġparse Import Package ( import Statement : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠIMPORT _ PATTERN . find ( import Statement ) !!. groups [ 1 ] !!. value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Assigned From ( full Code : ĠString , Ġvariable Name : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Assigned Pattern ( variable Name ). to Regex (). findAll ( full Code ). first (). groups [ 1 ]?. value ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Assigned Pattern ( variable Name : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ variable Name $ ASS IGNED _ FROM _ PATTERN " ĊĠĠĠ Ġ} Ċ }