use of org.eclipse.xtend.lib.macro.declaration.Type in project xtext-xtend by eclipse.
the class AbstractReusableActiveAnnotationTests method testAccessAndModifyEnumerationValueDeclaration.
@Test
public void testAccessAndModifyEnumerationValueDeclaration() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package myannotation");
_builder.newLine();
_builder.newLine();
_builder.append("import java.util.List");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.Active");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.CodeGenerationContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.CodeGenerationParticipant");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.RegisterGlobalsContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.RegisterGlobalsParticipant");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.TransformationContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.TransformationParticipant");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.EnumerationTypeDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.EnumerationValueDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.MutableEnumerationTypeDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.TypeDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.Visibility");
_builder.newLine();
_builder.newLine();
_builder.append("import static com.google.common.base.Preconditions.*");
_builder.newLine();
_builder.newLine();
_builder.append("@Active(MyAnnotationProcessor)");
_builder.newLine();
_builder.append("annotation MyAnnotation {");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("class MyAnnotationProcessor implements RegisterGlobalsParticipant<EnumerationTypeDeclaration>, TransformationParticipant<MutableEnumerationTypeDeclaration>, CodeGenerationParticipant<EnumerationTypeDeclaration> {");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doGenerateCode(List<? extends EnumerationTypeDeclaration> annotatedSourceElements,");
_builder.newLine();
_builder.append("\t\t");
_builder.append("extension CodeGenerationContext context) {");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doRegisterGlobals(List<? extends EnumerationTypeDeclaration> annotatedSourceElements,");
_builder.newLine();
_builder.append("\t\t");
_builder.append("RegisterGlobalsContext context) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for (enumeration : annotatedSourceElements) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("enumeration.checkState");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("def checkState(EnumerationTypeDeclaration enumeration) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("val values = enumeration.declaredValues");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(values.size == 3, \"enumeration.declaredValues.size != 3\")");
_builder.newLine();
_builder.append("\t\t");
_builder.append("enumeration.findDeclaredValue(values.get(0).simpleName).checkState(\"A\", enumeration)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("enumeration.findDeclaredValue(values.get(1).simpleName).checkState(\"B\", enumeration)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("enumeration.findDeclaredValue(values.get(2).simpleName).checkState(\"C\", enumeration)");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("def checkState(EnumerationValueDeclaration value, String expectedSimpleName, TypeDeclaration expectedType) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(value.simpleName == expectedSimpleName, \"value.simpleName != expectedSimpleName\")");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(value.declaringType == expectedType, \"value.declaringType != expectedType\")");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(value.visibility == Visibility.PUBLIC, \"value.visibility != Visibility.PUBLIC\")");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(value.annotations.size == 0, \"value.annotations.size != 0\")");
_builder.newLine();
_builder.append("\t\t");
_builder.append("checkState(value.findAnnotation(null) == null, \"value.findAnnotation(null) != null\")");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doTransform(List<? extends MutableEnumerationTypeDeclaration> annotatedTargetElements,");
_builder.newLine();
_builder.append("\t\t");
_builder.append("extension TransformationContext context) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("for (enumeration : annotatedTargetElements) {");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("enumeration.checkState");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("for (value : enumeration.declaredValues) {");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("checkState(value.annotations.size == 0, value.annotations.size != 0)");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("value.addAnnotation(Deprecated.newAnnotationReference)");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("checkState(value.annotations.size == 1, value.annotations.size != 1)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("enumeration.addValue(\"D\") [");
_builder.newLine();
_builder.append("\t\t\t\t");
_builder.append("addAnnotation(Deprecated.newAnnotationReference)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("]");
_builder.newLine();
_builder.append("\t\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("}");
_builder.newLine();
Pair<String, String> _mappedTo = Pair.<String, String>of("myannotation/MyAnnotation.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package myusercode");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("import myannotation.MyAnnotation");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("@MyAnnotation");
_builder_1.newLine();
_builder_1.append("enum UserCode {");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("A, ");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("B,");
_builder_1.newLine();
_builder_1.append("\t");
_builder_1.append("C");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
Pair<String, String> _mappedTo_1 = Pair.<String, String>of("myusercode/UserCode.xtend", _builder_1.toString());
final Procedure1<CompilationUnitImpl> _function = (CompilationUnitImpl it) -> {
final MutableEnumerationTypeDeclaration enumerationType = it.getTypeLookup().findEnumerationType("myusercode.UserCode");
Assert.assertEquals(4, IterableExtensions.size(enumerationType.getDeclaredValues()));
final Type deprecatedAnnotationType = it.getTypeReferenceProvider().newTypeReference(Deprecated.class).getType();
Iterable<? extends MutableEnumerationValueDeclaration> _declaredValues = enumerationType.getDeclaredValues();
for (final MutableEnumerationValueDeclaration value : _declaredValues) {
{
Assert.assertEquals(1, IterableExtensions.size(value.getAnnotations()));
Assert.assertNotNull(value.findAnnotation(deprecatedAnnotationType));
}
}
Assert.assertEquals("D", IterableExtensions.last(enumerationType.getDeclaredValues()).getSimpleName());
Assert.assertNotNull(enumerationType.findDeclaredValue("D"));
};
this.assertProcessing(_mappedTo, _mappedTo_1, _function);
}
use of org.eclipse.xtend.lib.macro.declaration.Type in project xtext-xtend by eclipse.
the class AbstractReusableActiveAnnotationTests method testSetEmptyListAsAnnotationValue.
@Test
public void testSetEmptyListAsAnnotationValue() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package myannotation");
_builder.newLine();
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.AbstractClassProcessor");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.Active");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.TransformationContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.ClassDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration");
_builder.newLine();
_builder.newLine();
_builder.append("@Active(MyAnnotationProcessor)");
_builder.newLine();
_builder.append("annotation MyAnnotation {");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("annotation Values {");
_builder.newLine();
_builder.append("\t");
_builder.append("int[] intValue");
_builder.newLine();
_builder.append("\t");
_builder.append("long[] longValue");
_builder.newLine();
_builder.append("\t");
_builder.append("short[] shortValue");
_builder.newLine();
_builder.append("\t");
_builder.append("double[] doubleValue");
_builder.newLine();
_builder.append("\t");
_builder.append("float[] floatValue");
_builder.newLine();
_builder.append("\t");
_builder.append("byte[] byteValue");
_builder.newLine();
_builder.append("\t");
_builder.append("boolean[] booleanValue");
_builder.newLine();
_builder.append("\t");
_builder.append("char[] charValue");
_builder.newLine();
_builder.append("\t");
_builder.append("String[] stringValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Class<?>[] classValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Enum1[] enumValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Annotation2[] annotationValue");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("enum Enum1 {}");
_builder.newLine();
_builder.append("annotation Annotation2 {}");
_builder.newLine();
_builder.newLine();
_builder.newLine();
_builder.append("class MyAnnotationProcessor extends AbstractClassProcessor {");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doTransform(MutableClassDeclaration it, extension TransformationContext context) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("removeAnnotation(annotations.head)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("addAnnotation(Values.newAnnotationReference [");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setIntValue(\'intValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setLongValue(\'longValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setShortValue(\'shortValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setDoubleValue(\'doubleValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setFloatValue(\'floatValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setByteValue(\'byteValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setBooleanValue(\'booleanValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setCharValue(\'charValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setStringValue(\'stringValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setClassValue(\'classValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setEnumValue(\'enumValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setAnnotationValue(\'annotationValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("])");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("}");
_builder.newLine();
Pair<String, String> _mappedTo = Pair.<String, String>of("myannotation/MyAnnotation.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package myusercode");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("import myannotation.*");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("@MyAnnotation");
_builder_1.newLine();
_builder_1.append("class Foo {");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
Pair<String, String> _mappedTo_1 = Pair.<String, String>of("myusercode/UserCode.xtend", _builder_1.toString());
final Procedure1<CompilationUnitImpl> _function = (CompilationUnitImpl it) -> {
final MutableClassDeclaration foo = it.getTypeLookup().findClass("myusercode.Foo");
final Type annotationType = it.getTypeLookup().findTypeGlobally("myannotation.Values");
final AnnotationReference values = foo.findAnnotation(annotationType);
Assert.assertEquals(0, ((List<Integer>) Conversions.doWrapArray(values.getIntArrayValue("intValue"))).size());
Assert.assertEquals(0, ((List<Long>) Conversions.doWrapArray(values.getLongArrayValue("longValue"))).size());
Assert.assertEquals(0, ((List<Short>) Conversions.doWrapArray(values.getShortArrayValue("shortValue"))).size());
Assert.assertEquals(0, ((List<Double>) Conversions.doWrapArray(values.getDoubleArrayValue("doubleValue"))).size());
Assert.assertEquals(0, ((List<Float>) Conversions.doWrapArray(values.getFloatArrayValue("floatValue"))).size());
Assert.assertEquals(0, ((List<Byte>) Conversions.doWrapArray(values.getByteArrayValue("byteValue"))).size());
Assert.assertEquals(0, ((List<Boolean>) Conversions.doWrapArray(values.getBooleanArrayValue("booleanValue"))).size());
Assert.assertEquals(0, ((List<Character>) Conversions.doWrapArray(values.getCharArrayValue("charValue"))).size());
Assert.assertEquals(0, ((List<String>) Conversions.doWrapArray(values.getStringArrayValue("stringValue"))).size());
Assert.assertEquals(0, ((List<TypeReference>) Conversions.doWrapArray(values.getClassArrayValue("classValue"))).size());
Assert.assertEquals(0, ((List<EnumerationValueDeclaration>) Conversions.doWrapArray(values.getEnumArrayValue("enumValue"))).size());
Assert.assertEquals(0, ((List<AnnotationReference>) Conversions.doWrapArray(values.getAnnotationArrayValue("annotationValue"))).size());
};
this.assertProcessing(_mappedTo, _mappedTo_1, _function);
}
use of org.eclipse.xtend.lib.macro.declaration.Type in project xtext-xtend by eclipse.
the class AccessObjectProcessorTest method testWithoutPackage.
@Test
public void testWithoutPackage() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("import org.eclipse.xtend.core.tests.macro.Accessors");
_builder.newLine();
_builder.newLine();
_builder.append("@org.eclipse.xtend.core.tests.macro.AccessObjectAnn");
_builder.newLine();
_builder.append("class A {");
_builder.newLine();
_builder.append("\t");
_builder.append("String field");
_builder.newLine();
_builder.append("}");
_builder.newLine();
final IAcceptor<XtendCompilerTester.CompilationResult> _function = (XtendCompilerTester.CompilationResult it) -> {
final TransformationContext ctx = it.getTransformationContext();
final MutableClassDeclaration classA = ctx.findClass("A");
Assert.assertNotNull(classA.findDeclaredMethod("getField"));
final MutableClassDeclaration classPA = ctx.findClass("PA");
final Function1<TypeReference, Boolean> _function_1 = (TypeReference it_1) -> {
Type _type = it_1.getType();
Type _type_1 = ctx.newTypeReference(Serializable.class).getType();
return Boolean.valueOf(Objects.equal(_type, _type_1));
};
Assert.assertNotNull(IterableExtensions.findFirst(classPA.getImplementedInterfaces(), _function_1));
final MutableClassDeclaration classGA = ctx.findClass("GA");
final Function1<TypeReference, Boolean> _function_2 = (TypeReference it_1) -> {
Type _type = it_1.getType();
Type _type_1 = ctx.newTypeReference(Serializable.class).getType();
return Boolean.valueOf(Objects.equal(_type, _type_1));
};
Assert.assertNotNull(IterableExtensions.findFirst(classGA.getImplementedInterfaces(), _function_2));
};
this._xtendCompilerTester.compile(_builder, _function);
}
use of org.eclipse.xtend.lib.macro.declaration.Type in project xtext-xtend by eclipse.
the class AddInterfaceWithDefaultProcessor method doTransform.
@Override
public void doTransform(final MutableClassDeclaration annotatedClass, @Extension final TransformationContext context) {
super.doTransform(annotatedClass, context);
Type _findTypeGlobally = context.findTypeGlobally("de.test.Test");
final MutableInterfaceDeclaration ifType = ((MutableInterfaceDeclaration) _findTypeGlobally);
final Procedure1<MutableMethodDeclaration> _function = (MutableMethodDeclaration it) -> {
StringConcatenationClient _client = new StringConcatenationClient() {
@Override
protected void appendTo(StringConcatenationClient.TargetStringConcatenation _builder) {
_builder.append("System.out.println(\"Hello World\");");
}
};
it.setBody(_client);
it.setDefault(true);
};
ifType.addMethod("sayHello", _function);
}
use of org.eclipse.xtend.lib.macro.declaration.Type in project xtext-xtend by eclipse.
the class AbstractReusableActiveAnnotationTests method testSetEmptyListAsAnnotationValue.
@Test
public void testSetEmptyListAsAnnotationValue() {
StringConcatenation _builder = new StringConcatenation();
_builder.append("package myannotation");
_builder.newLine();
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.AbstractClassProcessor");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.Active");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.TransformationContext");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.ClassDeclaration");
_builder.newLine();
_builder.append("import org.eclipse.xtend.lib.macro.declaration.MutableClassDeclaration");
_builder.newLine();
_builder.newLine();
_builder.append("@Active(MyAnnotationProcessor)");
_builder.newLine();
_builder.append("annotation MyAnnotation {");
_builder.newLine();
_builder.append("\t");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("annotation Values {");
_builder.newLine();
_builder.append("\t");
_builder.append("int[] intValue");
_builder.newLine();
_builder.append("\t");
_builder.append("long[] longValue");
_builder.newLine();
_builder.append("\t");
_builder.append("short[] shortValue");
_builder.newLine();
_builder.append("\t");
_builder.append("double[] doubleValue");
_builder.newLine();
_builder.append("\t");
_builder.append("float[] floatValue");
_builder.newLine();
_builder.append("\t");
_builder.append("byte[] byteValue");
_builder.newLine();
_builder.append("\t");
_builder.append("boolean[] booleanValue");
_builder.newLine();
_builder.append("\t");
_builder.append("char[] charValue");
_builder.newLine();
_builder.append("\t");
_builder.append("String[] stringValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Class<?>[] classValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Enum1[] enumValue");
_builder.newLine();
_builder.append("\t");
_builder.append("Annotation2[] annotationValue");
_builder.newLine();
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("enum Enum1 {}");
_builder.newLine();
_builder.append("annotation Annotation2 {}");
_builder.newLine();
_builder.newLine();
_builder.newLine();
_builder.append("class MyAnnotationProcessor extends AbstractClassProcessor {");
_builder.newLine();
_builder.newLine();
_builder.append("\t");
_builder.append("override doTransform(MutableClassDeclaration it, extension TransformationContext context) {");
_builder.newLine();
_builder.append("\t\t");
_builder.append("removeAnnotation(annotations.head)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("addAnnotation(Values.newAnnotationReference [");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setIntValue(\'intValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setLongValue(\'longValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setShortValue(\'shortValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setDoubleValue(\'doubleValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setFloatValue(\'floatValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setByteValue(\'byteValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setBooleanValue(\'booleanValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setCharValue(\'charValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setStringValue(\'stringValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setClassValue(\'classValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setEnumValue(\'enumValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t\t");
_builder.append("setAnnotationValue(\'annotationValue\', emptyList)");
_builder.newLine();
_builder.append("\t\t");
_builder.append("])");
_builder.newLine();
_builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.newLine();
_builder.append("}");
_builder.newLine();
Pair<String, String> _mappedTo = Pair.<String, String>of("myannotation/MyAnnotation.xtend", _builder.toString());
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("package myusercode");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("import myannotation.*");
_builder_1.newLine();
_builder_1.newLine();
_builder_1.append("@MyAnnotation");
_builder_1.newLine();
_builder_1.append("class Foo {");
_builder_1.newLine();
_builder_1.append("}");
_builder_1.newLine();
Pair<String, String> _mappedTo_1 = Pair.<String, String>of("myusercode/UserCode.xtend", _builder_1.toString());
final Procedure1<CompilationUnitImpl> _function = (CompilationUnitImpl it) -> {
final MutableClassDeclaration foo = it.getTypeLookup().findClass("myusercode.Foo");
final Type annotationType = it.getTypeLookup().findTypeGlobally("myannotation.Values");
final AnnotationReference values = foo.findAnnotation(annotationType);
Assert.assertEquals(0, ((List<Integer>) Conversions.doWrapArray(values.getIntArrayValue("intValue"))).size());
Assert.assertEquals(0, ((List<Long>) Conversions.doWrapArray(values.getLongArrayValue("longValue"))).size());
Assert.assertEquals(0, ((List<Short>) Conversions.doWrapArray(values.getShortArrayValue("shortValue"))).size());
Assert.assertEquals(0, ((List<Double>) Conversions.doWrapArray(values.getDoubleArrayValue("doubleValue"))).size());
Assert.assertEquals(0, ((List<Float>) Conversions.doWrapArray(values.getFloatArrayValue("floatValue"))).size());
Assert.assertEquals(0, ((List<Byte>) Conversions.doWrapArray(values.getByteArrayValue("byteValue"))).size());
Assert.assertEquals(0, ((List<Boolean>) Conversions.doWrapArray(values.getBooleanArrayValue("booleanValue"))).size());
Assert.assertEquals(0, ((List<Character>) Conversions.doWrapArray(values.getCharArrayValue("charValue"))).size());
Assert.assertEquals(0, ((List<String>) Conversions.doWrapArray(values.getStringArrayValue("stringValue"))).size());
Assert.assertEquals(0, ((List<TypeReference>) Conversions.doWrapArray(values.getClassArrayValue("classValue"))).size());
Assert.assertEquals(0, ((List<EnumerationValueDeclaration>) Conversions.doWrapArray(values.getEnumArrayValue("enumValue"))).size());
Assert.assertEquals(0, ((List<AnnotationReference>) Conversions.doWrapArray(values.getAnnotationArrayValue("annotationValue"))).size());
};
this.assertProcessing(_mappedTo, _mappedTo_1, _function);
}
Aggregations