Example #1
0
 @Override
 @Value.Derived
 @Value.Auxiliary
 public DeclaringPackage packageOf() {
   Element e = element();
   for (; e.getKind() != ElementKind.PACKAGE; e = e.getEnclosingElement()) {}
   return interner()
       .forPackage(
           ImmutableProto.DeclaringPackage.builder()
               .environment(environment())
               .interner(interner())
               .element((PackageElement) e)
               .build());
 }
Example #2
0
    @Value.Lazy
    Optional<DeclaringPackage> namedParentPackage() {
      String parentPackageName = SourceNames.parentPackageName(element());
      if (!parentPackageName.isEmpty()) {
        @Nullable
        PackageElement parentPackage =
            environment().processing().getElementUtils().getPackageElement(parentPackageName);

        if (parentPackage != null) {
          return Optional.of(
              interner()
                  .forPackage(
                      ImmutableProto.DeclaringPackage.builder()
                          .environment(environment())
                          .interner(interner())
                          .element(parentPackage)
                          .build()));
        }
      }
      return Optional.absent();
    }