Example #1
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();
    }