/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . descriptors . common izer . utils Ċ Ċ import Ġorg . jetbrains . kotlin . builtins . Kotlin Built Ins Ċ import Ġorg . jetbrains . kotlin . name . Fq Name Ċ import Ġorg . jetbrains . kotlin . serialization . kon an . impl . Forward Declarations Fq Names Ċ Ċ internal Ġval ĠDE PRECATED _ AN NOT ATION _ FQ N : ĠF q Name Ġ= ĠF q Name ( Deprecated :: class . java . name ) Ċ Ċ private Ġval ĠST AND ARD _ K OT LIN _ PACKAGE _ PREFIX ES Ġ= ĠlistOf ( ĊĠĠĠ ĠKotlin Built Ins . BUIL T _ INS _ PACKAGE _ NAME . asString (), ĊĠĠĠ Ġ" kotlin x " Ċ ) Ċ Ċ private Ġval ĠK OT LIN _ NATIVE _ SYN TH ET IC _ PACK AGES _ PREFIX ES Ġ= ĠForward Declarations Fq Names . synt hetic Packages ĊĠĠĠ Ġ. map Ġ{ Ġfq Name Ġ-> ĊĠĠĠĠĠĠĠ Ġcheck (! fq Name . is Root ) ĊĠĠĠĠĠĠĠ Ġfq Name . asString () ĊĠĠĠ Ġ} Ċ Ċ private Ġconst Ġval ĠD AR WIN _ PACKAGE _ PREFIX Ġ= Ġ" platform . darwin " Ċ Ċ internal Ġval ĠF q Name . is Under Standard Kotlin Packages : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġhas Any Prefix ( STANDARD _ K OT LIN _ PACKAGE _ PREFIX ES ) Ċ Ċ internal Ġval ĠF q Name . is Under Kotlin Native Synt hetic Packages : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġhas Any Prefix ( K OT LIN _ NATIVE _ SYN TH ET IC _ PACK AGES _ PREFIX ES ) Ċ Ċ internal Ġval ĠF q Name . is Under Dar win Package : ĠBoolean ĊĠĠĠ Ġget () Ġ= Ġas String (). has Prefix ( D AR WIN _ PACKAGE _ PREFIX ) Ċ Ċ private Ġfun ĠF q Name . has Any Prefix ( prefixes : ĠList < String >): ĠBoolean Ġ= ĊĠĠĠ Ġas String (). let Ġ{ Ġfq Name Ġ-> Ġprefixes . any ( fq Name :: has Prefix ) Ġ} Ċ Ċ private Ġfun ĠString . has Prefix ( prefix : ĠString ): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġlength Difference Ġ= Ġlength Ġ- Ġprefix . length ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġlength Difference Ġ== Ġ 0 Ġ-> Ġthis Ġ== Ġprefix ĊĠĠĠĠĠĠĠ Ġlength Difference Ġ> Ġ 0 Ġ-> Ġthis [ prefix . length ] Ġ== Ġ'.' Ġ&& Ġthis . startsWith ( prefix ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ