package Ġcom . dip ien . by eb ye dead code . code . filter Ċ Ċ import Ġcom . dip ien . by eb ye dead code . code . Dead Code Ċ Ċ class ĠCompiler Code Filter ( filter Context : ĠFilter Context ) Ġ: ĠDead Code Filter Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠClass ĠFilters ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' com . example . My Class $ 1 ' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠAN ONY MO US _ CLASS Ġ= Ġ""" . +\ $\ d +$ """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' com . example . My Interface $ Default Imp ls ' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ IMP LES Ġ= Ġ""" . +\ ${ '$ '} Default Imp ls $ """ ĊĊĠĠĠĠĠĠĠ Ġ// ĠMember ĠFilters ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġjava . lang . String Ġcomponent 1 ()' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOMPONENT _ N _ FUNCTION Ġ= Ġ""" .+ final .+ component \ d +\ (\ ) """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġcom . example . My Class Ġcopy ( java . lang . String )' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOPY _ FUNCTION Ġ= Ġ""" .+ Ġcopy \ (. +\ ) """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġcom . example . My Class Ġget My Class ()' ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġboolean Ġis Enabled ()' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠGET _ FUNCTION Ġ= Ġ""" .+ Ġ([ b B ] oolean Ġis | get ). +\ (\ ) """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġvoid Ġset My Class ( com . example . My Class )' ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġvoid Ġset _ my Class ( com . example . My Class )' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSET _ FUNCTION Ġ= Ġ""" .+ Ġset ([ A - Z ]| _[ a - z ]). *\ (. +\ ) """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġstatic Ġfinal Ġcom . example . My Class $ Companion ĠComp anion ' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOMP AN ION _ FIELD Ġ= Ġ""" . +\ ${ '$ '} Companion ĠComp anion $ """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġvoid Ġ< init >( com . example . My Class )' ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġvoid Ġ< cl init >( com . example . My Class )' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCON STRUCTOR _ FUNCTION Ġ= Ġ""" .* void Ġ< ( cl )? init >\ (.* """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġsynthetic Ġbridge Ġvoid Ġfoo ( java . lang . Object )' ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġsynthetic Ġbridge Ġjava . lang . Object Ġfoo ()' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠBR ID GE _ FUNCTION Ġ= Ġ""" ^ .+ Ġbridge Ġ. + """ ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' private Ġstatic Ġsynthetic Ġvoid Ġfoo ()' ĊĠĠĠĠĠĠĠ Ġ// Ġe . g : Ġ' public Ġfinal Ġsynthetic Ġvoid Ġfoo ()' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSYN TH ET IC _ FUNCTION Ġ= Ġ""" ^ .+ Ġsynthetic Ġ. + """ ĊĠĠĠĠĠĠĠ Ġ// ĠAny Ġfunction Ġname Ġthat Ġcontains Ġthe Ġsymbol Ġ'$ ' ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠD OL L AR _ FUNCTION Ġ= Ġ""" ^ .* \ ${ '$ '} [^\ s ]+ \( .* """ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġfilters Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠClass ĠFilters ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Name Filter ( AN ONY MO US _ CLASS . to Regex (), Ġ" Anonymous Class "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Name Filter ( DEFAULT _ IMP LES . to Regex (), Ġ" Default Imp ls "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin Extension Filter ( filter Context ), ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠMember ĠFilters ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( COMPONENT _ N _ FUNCTION . to Regex (), Ġ" Component N Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( COPY _ FUNCTION . to Regex (), Ġ" Copy Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( GET _ FUNCTION . to Regex (), Ġ" Get Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( SET _ FUNCTION . to Regex (), Ġ" Set Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( COMP AN ION _ FIELD . to Regex (), Ġ" Companion Field "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( CON STRUCTOR _ FUNCTION . to Regex (), Ġ" Constructor Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( BR ID GE _ FUNCTION . to Regex (), Ġ" Bridge Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( SYN TH ET IC _ FUNCTION . to Regex (), Ġ" Synt hetic Function "), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass Member Filter ( DO LL AR _ FUNCTION . to Regex (), Ġ" Dollar Function ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġfilter ( dead Code : ĠDead Code ): ĠDead Code ? Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult : ĠDead Code ? Ġ= Ġdead Code ĊĠĠĠĠĠĠĠ Ġfor Ġ( regex Filter Ġin Ġfilters ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ= Ġregex Filter . filter ( result !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ