322 if (isPkgInfo) {
323 addEnv = true;
324 } else if (pd.annotations.nonEmpty()) {
325 log.error(pd.annotations.head.pos(),
326 "pkg.annotations.sb.in.package-info.java");
327 }
328 }
329 } else {
330 tree.packge = tree.modle.unnamedPackage;
331 }
332
333 Map<Name, PackageSymbol> visiblePackages = tree.modle.visiblePackages;
334 Optional<ModuleSymbol> dependencyWithPackage =
335 syms.listPackageModules(tree.packge.fullname)
336 .stream()
337 .filter(m -> m != tree.modle)
338 .filter(cand -> visiblePackages.get(tree.packge.fullname) == syms.getPackage(cand, tree.packge.fullname))
339 .findAny();
340
341 if (dependencyWithPackage.isPresent()) {
342 log.error(pd, Errors.PackageInOtherModule(dependencyWithPackage.get()));
343 }
344
345 tree.packge.complete(); // Find all classes in package.
346
347 Env<AttrContext> topEnv = topLevelEnv(tree);
348 Env<AttrContext> packageEnv = isPkgInfo ? topEnv.dup(pd) : null;
349
350 // Save environment of package-info.java file.
351 if (isPkgInfo) {
352 Env<AttrContext> env0 = typeEnvs.get(tree.packge);
353 if (env0 != null) {
354 JCCompilationUnit tree0 = env0.toplevel;
355 if (!fileManager.isSameFile(tree.sourcefile, tree0.sourcefile)) {
356 log.warning(pd != null ? pd.pid.pos() : null,
357 "pkg-info.already.seen",
358 tree.packge);
359 }
360 }
361 typeEnvs.put(tree.packge, packageEnv);
362
|
322 if (isPkgInfo) {
323 addEnv = true;
324 } else if (pd.annotations.nonEmpty()) {
325 log.error(pd.annotations.head.pos(),
326 "pkg.annotations.sb.in.package-info.java");
327 }
328 }
329 } else {
330 tree.packge = tree.modle.unnamedPackage;
331 }
332
333 Map<Name, PackageSymbol> visiblePackages = tree.modle.visiblePackages;
334 Optional<ModuleSymbol> dependencyWithPackage =
335 syms.listPackageModules(tree.packge.fullname)
336 .stream()
337 .filter(m -> m != tree.modle)
338 .filter(cand -> visiblePackages.get(tree.packge.fullname) == syms.getPackage(cand, tree.packge.fullname))
339 .findAny();
340
341 if (dependencyWithPackage.isPresent()) {
342 @SuppressWarnings("deprecation")
343 ModuleSymbol moduleSymbol = dependencyWithPackage.get();
344 log.error(pd, Errors.PackageInOtherModule(moduleSymbol));
345 }
346
347 tree.packge.complete(); // Find all classes in package.
348
349 Env<AttrContext> topEnv = topLevelEnv(tree);
350 Env<AttrContext> packageEnv = isPkgInfo ? topEnv.dup(pd) : null;
351
352 // Save environment of package-info.java file.
353 if (isPkgInfo) {
354 Env<AttrContext> env0 = typeEnvs.get(tree.packge);
355 if (env0 != null) {
356 JCCompilationUnit tree0 = env0.toplevel;
357 if (!fileManager.isSameFile(tree.sourcefile, tree0.sourcefile)) {
358 log.warning(pd != null ? pd.pid.pos() : null,
359 "pkg-info.already.seen",
360 tree.packge);
361 }
362 }
363 typeEnvs.put(tree.packge, packageEnv);
364
|