test_class.declarator: RES_DIR = Paths.get("src/test/resources/").toAbsolutePath()
test_class.modifier: private static final
test_class.original_string: private static final Path RES_DIR = Paths.get("src/test/resources/").toAbsolutePath();
test_class.type: Path
test_class.var_name: RES_DIR
test_class.file: language-server/modules/langserver-compiler/src/test/java/org/ballerinalang/langserver/compiler/LSPackageCacheTest.java
test_class.identifier: LSPackageCacheTest
test_case.body: @Test
      public void testInvalidate() throws Exception {
          Path filePath = RES_DIR.resolve("source").resolve("singlepackage").resolve("io-sample.bal");
          compileFileAndCheckCache(filePath);
          filePath = RES_DIR.resolve("source").resolve("multipackages").resolve("sample").resolve("main.bal");
          compileFileAndCheckCache(filePath);
      }
test_case.class_method_signature: LSPackageCacheTest.testInvalidate()
test_case.full_signature: @Test public void testInvalidate()
test_case.identifier: testInvalidate
test_case.invocations: resolve resolve resolve compileFileAndCheckCache resolve resolve resolve resolve compileFileAndCheckCache
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testInvalidate()
focal_class.declarator: LS_PACKAGE_CACHE_KEY =
              new CompilerContext.Key<>()
focal_class.modifier: private static final
focal_class.original_string: private static final CompilerContext.Key<LSPackageCache> LS_PACKAGE_CACHE_KEY =
              new CompilerContext.Key<>();
focal_class.type: CompilerContext.Key<LSPackageCache>
focal_class.var_name: LS_PACKAGE_CACHE_KEY
focal_class.declarator: LOCK = new Object()
focal_class.modifier: private static final
focal_class.original_string: private static final Object LOCK = new Object();
focal_class.type: Object
focal_class.var_name: LOCK
focal_class.declarator: packageCache
focal_class.modifier: private final
focal_class.original_string: private final ExtendedPackageCache packageCache;
focal_class.type: ExtendedPackageCache
focal_class.var_name: packageCache
focal_class.file: language-server/modules/langserver-compiler/src/main/java/org/ballerinalang/langserver/compiler/LSPackageCache.java
focal_class.identifier: LSPackageCache
focal_class.class_method_signature: LSPackageCache.getInstance(CompilerContext context)
focal_class.full_signature: public static LSPackageCache getInstance(CompilerContext context)
focal_class.identifier: getInstance
focal_class.modifiers: public static
focal_class.parameters: (CompilerContext context)
focal_class.return: LSPackageCache
focal_class.signature: LSPackageCache getInstance(CompilerContext context)
focal_class.class_method_signature: LSPackageCache.LSPackageCache(CompilerContext context)
focal_class.full_signature: private  LSPackageCache(CompilerContext context)
focal_class.identifier: LSPackageCache
focal_class.modifiers: private
focal_class.parameters: (CompilerContext context)
focal_class.signature:  LSPackageCache(CompilerContext context)
focal_class.class_method_signature: LSPackageCache.get(PackageID pkgId)
focal_class.full_signature: public BLangPackage get(PackageID pkgId)
focal_class.identifier: get
focal_class.modifiers: public
focal_class.parameters: (PackageID pkgId)
focal_class.return: BLangPackage
focal_class.signature: BLangPackage get(PackageID pkgId)
focal_class.class_method_signature: LSPackageCache.invalidate(PackageID packageID)
focal_class.full_signature: public void invalidate(PackageID packageID)
focal_class.identifier: invalidate
focal_class.modifiers: public
focal_class.parameters: (PackageID packageID)
focal_class.return: void
focal_class.signature: void invalidate(PackageID packageID)
focal_class.class_method_signature: LSPackageCache.invalidateProjectModules(List<String> modules)
focal_class.full_signature: public void invalidateProjectModules(List<String> modules)
focal_class.identifier: invalidateProjectModules
focal_class.modifiers: public
focal_class.parameters: (List<String> modules)
focal_class.return: void
focal_class.signature: void invalidateProjectModules(List<String> modules)
focal_class.class_method_signature: LSPackageCache.clearCache()
focal_class.full_signature: public void clearCache()
focal_class.identifier: clearCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clearCache()
focal_class.class_method_signature: LSPackageCache.put(PackageID packageID, BLangPackage bLangPackage)
focal_class.full_signature: public void put(PackageID packageID, BLangPackage bLangPackage)
focal_class.identifier: put
focal_class.modifiers: public
focal_class.parameters: (PackageID packageID, BLangPackage bLangPackage)
focal_class.return: void
focal_class.signature: void put(PackageID packageID, BLangPackage bLangPackage)
focal_class.class_method_signature: LSPackageCache.getPackageCache()
focal_class.full_signature: public ExtendedPackageCache getPackageCache()
focal_class.identifier: getPackageCache
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ExtendedPackageCache
focal_class.signature: ExtendedPackageCache getPackageCache()
focal_class.class_method_signature: LSPackageCache.getPackageMap()
focal_class.full_signature: public Map<String, BLangPackage> getPackageMap()
focal_class.identifier: getPackageMap
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Map<String, BLangPackage>
focal_class.signature: Map<String, BLangPackage> getPackageMap()
focal_method.body: public void invalidate(PackageID packageID) {
          packageCache.remove(packageID);
      }
focal_method.class_method_signature: LSPackageCache.invalidate(PackageID packageID)
focal_method.full_signature: public void invalidate(PackageID packageID)
focal_method.identifier: invalidate
focal_method.invocations: remove
focal_method.modifiers: public
focal_method.parameters: (PackageID packageID)
focal_method.return: void
focal_method.signature: void invalidate(PackageID packageID)