test_class.declarator: builder
test_class.modifier: private
test_class.original_string: private ArrayTypeDefinitionBuilder builder;
test_class.type: ArrayTypeDefinitionBuilder
test_class.var_name: builder
test_class.declarator: testType
test_class.modifier: private
test_class.original_string: private TypeElement testType;
test_class.type: TypeElement
test_class.var_name: testType
test_class.declarator: integersField
test_class.modifier: private
test_class.original_string: private VariableElement integersField;
test_class.type: VariableElement
test_class.var_name: integersField
test_class.declarator: stringsField
test_class.modifier: private
test_class.original_string: private VariableElement stringsField;
test_class.type: VariableElement
test_class.var_name: stringsField
test_class.declarator: primitiveTypeModelsField
test_class.modifier: private
test_class.original_string: private VariableElement primitiveTypeModelsField;
test_class.type: VariableElement
test_class.var_name: primitiveTypeModelsField
test_class.declarator: modelsField
test_class.modifier: private
test_class.original_string: private VariableElement modelsField;
test_class.type: VariableElement
test_class.var_name: modelsField
test_class.declarator: colorsField
test_class.modifier: private
test_class.original_string: private VariableElement colorsField;
test_class.type: VariableElement
test_class.var_name: colorsField
test_class.file: dubbo-metadata/dubbo-metadata-processor/src/test/java/org/apache/dubbo/metadata/annotation/processing/builder/ArrayTypeDefinitionBuilderTest.java
test_class.identifier: ArrayTypeDefinitionBuilderTest
test_class.superclass: extends AbstractAnnotationProcessingTest
test_case.body: @Test
      public void testBuild() {
  
          buildAndAssertTypeDefinition(processingEnv, integersField, "int[]", "int", builder);
  
          buildAndAssertTypeDefinition(processingEnv, stringsField, "java.lang.String[]", "java.lang.String", builder);
  
          buildAndAssertTypeDefinition(processingEnv, primitiveTypeModelsField,
                  "org.apache.dubbo.metadata.annotation.processing.model.PrimitiveTypeModel[]",
                  "org.apache.dubbo.metadata.annotation.processing.model.PrimitiveTypeModel", builder);
  
          buildAndAssertTypeDefinition(processingEnv, modelsField,
                  "org.apache.dubbo.metadata.annotation.processing.model.Model[]",
                  "org.apache.dubbo.metadata.annotation.processing.model.Model", builder, (def, subDef) -> {
                      TypeElement subType = elements.getTypeElement(subDef.getType());
                      assertEquals(ElementKind.CLASS, subType.getKind());
                  });
  
          buildAndAssertTypeDefinition(processingEnv, colorsField,
                  "org.apache.dubbo.metadata.annotation.processing.model.Color[]",
                  "org.apache.dubbo.metadata.annotation.processing.model.Color", builder, (def, subDef) -> {
                      TypeElement subType = elements.getTypeElement(subDef.getType());
                      assertEquals(ElementKind.ENUM, subType.getKind());
                  });
  
      }
test_case.class_method_signature: ArrayTypeDefinitionBuilderTest.testBuild()
test_case.full_signature: @Test public void testBuild()
test_case.identifier: testBuild
test_case.invocations: buildAndAssertTypeDefinition buildAndAssertTypeDefinition buildAndAssertTypeDefinition buildAndAssertTypeDefinition getTypeElement getType assertEquals getKind buildAndAssertTypeDefinition getTypeElement getType assertEquals getKind
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBuild()
focal_class.file: dubbo-metadata/dubbo-metadata-processor/src/main/java/org/apache/dubbo/metadata/annotation/processing/builder/ArrayTypeDefinitionBuilder.java
focal_class.identifier: ArrayTypeDefinitionBuilder
focal_class.interfaces: implements TypeDefinitionBuilder<ArrayType>
focal_class.class_method_signature: ArrayTypeDefinitionBuilder.accept(ProcessingEnvironment processingEnv, TypeMirror type)
focal_class.full_signature: @Override public boolean accept(ProcessingEnvironment processingEnv, TypeMirror type)
focal_class.identifier: accept
focal_class.modifiers: @Override public
focal_class.parameters: (ProcessingEnvironment processingEnv, TypeMirror type)
focal_class.return: boolean
focal_class.signature: boolean accept(ProcessingEnvironment processingEnv, TypeMirror type)
focal_class.class_method_signature: ArrayTypeDefinitionBuilder.build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_class.full_signature: @Override public void build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_class.identifier: build
focal_class.modifiers: @Override public
focal_class.parameters: (ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_class.return: void
focal_class.signature: void build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_class.class_method_signature: ArrayTypeDefinitionBuilder.getPriority()
focal_class.full_signature: @Override public int getPriority()
focal_class.identifier: getPriority
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getPriority()
focal_method.body: @Override
      public void build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition) {
          TypeMirror componentType = type.getComponentType();
          typeDefinition.getItems().add(TypeDefinitionBuilder.build(processingEnv, componentType));
      }
focal_method.class_method_signature: ArrayTypeDefinitionBuilder.build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_method.full_signature: @Override public void build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_method.identifier: build
focal_method.invocations: getComponentType add getItems build
focal_method.modifiers: @Override public
focal_method.parameters: (ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)
focal_method.return: void
focal_method.signature: void build(ProcessingEnvironment processingEnv, ArrayType type, TypeDefinition typeDefinition)