test_class.declarator: rule = new CompilationRule()
test_class.modifier: @Rule
      public final
test_class.original_string: @Rule
      public final CompilationRule rule = new CompilationRule();
test_class.type: CompilationRule
test_class.var_name: rule
test_class.file: generator/src/test/java/com/truecaller/androidactors/ActorInterfaceDescriptionImplTest.java
test_class.identifier: ActorInterfaceDescriptionImplTest
test_case.body: @Test
      public void validate_false_privateInterface() {
          TypeElement element = getTypeElement(PrivateActorContainer.getActorClassName());
          ActorInterfaceDescriptionImpl description = new ActorInterfaceDescriptionImpl(element);
          Assert.assertEquals(false, description.validate());
      }
test_case.class_method_signature: ActorInterfaceDescriptionImplTest.validate_false_privateInterface()
test_case.full_signature: @Test public void validate_false_privateInterface()
test_case.identifier: validate_false_privateInterface
test_case.invocations: getTypeElement getActorClassName assertEquals validate
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void validate_false_privateInterface()
focal_class.declarator: mErrors = new ArrayList<>()
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final List<GenerationError> mErrors = new ArrayList<>();
focal_class.type: List<GenerationError>
focal_class.var_name: mErrors
focal_class.declarator: mElement
focal_class.modifier: @Nullable
      private final
focal_class.original_string: @Nullable
      private final TypeElement mElement;
focal_class.type: TypeElement
focal_class.var_name: mElement
focal_class.declarator: mMethods = new ArrayList<>()
focal_class.modifier: @NotNull
      private final
focal_class.original_string: @NotNull
      private final List<Method> mMethods = new ArrayList<>();
focal_class.type: List<Method>
focal_class.var_name: mMethods
focal_class.file: generator/src/main/java/com/truecaller/androidactors/ActorInterfaceDescriptionImpl.java
focal_class.identifier: ActorInterfaceDescriptionImpl
focal_class.interfaces: implements ActorInterfaceDescription
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.ActorInterfaceDescriptionImpl(@NotNull Element element)
focal_class.full_signature:   ActorInterfaceDescriptionImpl(@NotNull Element element)
focal_class.identifier: ActorInterfaceDescriptionImpl
focal_class.parameters: (@NotNull Element element)
focal_class.signature:  ActorInterfaceDescriptionImpl(@NotNull Element element)
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.validate()
focal_class.full_signature: @Override public boolean validate()
focal_class.identifier: validate
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean validate()
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.describeProblems(@NotNull List<GenerationError> errors)
focal_class.full_signature: @Override public void describeProblems(@NotNull List<GenerationError> errors)
focal_class.identifier: describeProblems
focal_class.modifiers: @Override public
focal_class.parameters: (@NotNull List<GenerationError> errors)
focal_class.return: void
focal_class.signature: void describeProblems(@NotNull List<GenerationError> errors)
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.isPrivate(@NotNull TypeElement element)
focal_class.full_signature: private boolean isPrivate(@NotNull TypeElement element)
focal_class.identifier: isPrivate
focal_class.modifiers: private
focal_class.parameters: (@NotNull TypeElement element)
focal_class.return: boolean
focal_class.signature: boolean isPrivate(@NotNull TypeElement element)
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.methods()
focal_class.full_signature: @NotNull @Override public Iterable<? extends ActorInterfaceDescription.Method> methods()
focal_class.identifier: methods
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: Iterable<? extends ActorInterfaceDescription.Method>
focal_class.signature: Iterable<? extends ActorInterfaceDescription.Method> methods()
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.getType()
focal_class.full_signature: @NotNull @Override public TypeElement getType()
focal_class.identifier: getType
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: ()
focal_class.return: TypeElement
focal_class.signature: TypeElement getType()
focal_class.class_method_signature: ActorInterfaceDescriptionImpl.createMethodRecord(@NotNull ExecutableElement method)
focal_class.full_signature: @NotNull private Method createMethodRecord(@NotNull ExecutableElement method)
focal_class.identifier: createMethodRecord
focal_class.modifiers: @NotNull private
focal_class.parameters: (@NotNull ExecutableElement method)
focal_class.return: Method
focal_class.signature: Method createMethodRecord(@NotNull ExecutableElement method)
focal_method.body: @Override
      public boolean validate() {
          if (mElement == null) {
              assert !mErrors.isEmpty();
              return false;
          }
  
          for (Method method : mMethods) {
              method.validate(mErrors);
          }
  
          // First check that current state is clear
          for (GenerationError error : mErrors) {
              if (error.isError) {
                  return false;
              }
          }
  
          return true;
      }
focal_method.class_method_signature: ActorInterfaceDescriptionImpl.validate()
focal_method.full_signature: @Override public boolean validate()
focal_method.identifier: validate
focal_method.invocations: isEmpty validate
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: boolean
focal_method.signature: boolean validate()