// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . workspace . legacy Bridge . intellij Ċ Ċ import Ġcom . intellij . openapi . components . service Ċ import Ġcom . intellij . openapi . module . Module Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . openapi . vfs . pointers . Virtual File Pointer Ċ import Ġcom . intellij . openapi . vfs . pointers . Virtual File Pointer Container Ċ import Ġcom . intellij . workspace . api .* Ċ Ċ data Ġclass ĠLegacy Bridge File Container ( ĊĠ Ġval Ġurls : ĠList < Virtual File Url >, ĊĠ Ġval Ġjar Directories : ĠList < Legacy Bridge Jar Directory > Ċ ) Ċ Ċ data Ġclass ĠLegacy Bridge Jar Directory ( val Ġdirectory Url : ĠVirtual File Url , Ġval Ġrecursive : ĠBoolean ) Ċ Ċ internal Ġinterface ĠLegacy Bridge File Pointer Provider Ġ{ ĊĠ Ġfun Ġget And Cache File Pointer ( url : ĠVirtual File Url , Ġscope : ĠLegacy Bridge File Pointer Scope ): ĠVirtual File Pointer ĊĠ Ġfun Ġget And Cache File Container ( description : ĠLegacy Bridge File Container ): ĠVirtual File Pointer Container ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetInstance ( project : ĠProject ): ĠLegacy Bridge File Pointer Provider Ġ= Ġproject . service () ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun ĠgetInstance ( module : ĠModule ): ĠLegacy Bridge File Pointer Provider Ġ= ĊĠĠĠĠĠ Ġmodule . getService ( Legacy Bridge File Pointer Provider :: class . java ) !! ĊĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠLegacy Bridge File Container . get And Cache Virtual File Pointer Container ( provider : ĠLegacy Bridge File Pointer Provider ) Ġ= ĊĠ Ġprovider . get And Cache File Container ( this ) Ċ Ċ /** Ċ Ġ* ĠThis Ġclass Ġdefines Ġrules Ġwhen Ġvirtual Ġfile Ġurl Ġbecame Ġinvalid Ġand Ġvirtual Ġfile Ġpointer Ġshould Ġbe Ġdisposed Ċ Ġ* ĠĠ ĠVirtual File Pointer Ġwill Ġbe Ġdisposed Ġin Ġcase Ġ[ check Url ] Ġreturns Ġtrue Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis Ġdesigned Ġto Ġcontrol Ġa Ġvery Ġlimited Ġscope Ġof Ġvirtual Ġfile Ġpointers . ĠIt Ġmeans Ġthat Ġit 's Ġnot Ġcreated Ġfor Ġcommon Ġcases Ġand Ċ Ġ* ĠĠ Ġit 's Ġprobably Ġalready Ġused Ġeverywhere Ġit Ġshould Ġbe Ġused . Ċ Ġ*/ Ċ internal Ġsealed Ġclass ĠLegacy Bridge File Pointer Scope ( ĊĠ Ġval Ġcheck Url : Ġ( Typed Entity , ĠVirtual File Url ) Ġ-> ĠBoolean Ċ ) Ġ{ ĊĠ Ġobject ĠSource Root Ġ: ĠLegacy Bridge File Pointer Scope ({ Ġentity , Ġurl Ġ-> Ġentity Ġis ĠSource Root Entity Ġ&& Ġentity . url Ġ== Ġurl Ġ}) ĊĠ Ġobject ĠExclude d Roots Ġ: ĠLegacy Bridge File Pointer Scope ({ Ġentity , Ġurl Ġ-> Ġentity Ġis ĠContent Root Entity Ġ&& Ġurl Ġin Ġentity . excluded Urls Ġ}) ĊĠ Ġobject ĠContent Roots Ġ: ĠLegacy Bridge File Pointer Scope ({ Ġentity , Ġurl Ġ-> Ġentity Ġis ĠContent Root Entity Ġ&& Ġentity . url Ġ== Ġurl Ġ}) ĊĠ Ġclass ĠModule ( val Ġname : ĠString ) Ġ: ĠLegacy Bridge File Pointer Scope ({ Ġentity , Ġ_ Ġ-> Ġentity Ġis ĠModule Entity Ġ&& Ġentity . name Ġ== Ġname Ġ}) ĊĊĠ Ġ// ĠJust Ġany Ġcontent Ġroot Ġentity ĊĠ Ġobject ĠTest : ĠLegacy Bridge File Pointer Scope ({ Ġ_, Ġ_ Ġ-> Ġfalse Ġ}) Ċ } Ċ