Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
mbenson committed Oct 2, 2013
2 parents 83f1d50 + 136b94a commit ee07169
Show file tree
Hide file tree
Showing 25 changed files with 125 additions and 48 deletions.
2 changes: 1 addition & 1 deletion api/pom.xml
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.forge</groupId>
<artifactId>java-parser-parent</artifactId>
<version>1.1.5-SNAPSHOT</version>
<version>1.1.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>java-parser-api</artifactId>
Expand Down
Expand Up @@ -13,7 +13,7 @@
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*
*/
public interface Importer<O extends JavaSource<?>>
public interface Importer<O extends JavaSource<O>>
{
/**
* Add an import by qualified class name. (E.g: "com.example.Imported") unless it is in the provided 'java.lang.*'
Expand Down
2 changes: 1 addition & 1 deletion impl/pom.xml
Expand Up @@ -3,7 +3,7 @@
<parent>
<groupId>org.jboss.forge</groupId>
<artifactId>java-parser-parent</artifactId>
<version>1.1.5-SNAPSHOT</version>
<version>1.1.6-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
<artifactId>java-parser-impl</artifactId>
Expand Down
Expand Up @@ -436,8 +436,7 @@ protected PackageDeclaration getPackageDeclaration()
@Override
public JavaPackageInfo setName(final String name)
{
getPackageDeclaration().setName(unit.getAST().newSimpleName(name));
return this;
throw new UnsupportedOperationException("Changing name of [" + getQualifiedName() + "] not supported.");
}

@Override
Expand Down
Expand Up @@ -35,6 +35,7 @@
import org.jboss.forge.parser.java.JavaClass;
import org.jboss.forge.parser.java.JavaEnum;
import org.jboss.forge.parser.java.JavaInterface;
import org.jboss.forge.parser.java.JavaPackageInfo;
import org.jboss.forge.parser.java.JavaSource;
import org.jboss.forge.parser.java.ast.TypeDeclarationFinderVisitor;
import org.jboss.forge.parser.java.impl.JavaAnnotationImpl;
Expand Down Expand Up @@ -124,7 +125,6 @@ public JavaSource<?> parse(final String data)
else if (visitor.getPackageDeclaration() != null)
{
return getJavaSource(null, document, unit, visitor.getPackageDeclaration());

}
throw new ParserException("Could not find type declaration in Java source - is this actually code?");
}
Expand Down Expand Up @@ -185,6 +185,9 @@ public <T extends JavaSource<?>> T create(final Class<T> type)
if (JavaInterface.class.isAssignableFrom(type))
return (T) parse("public interface JavaInterface { }");

if (JavaPackageInfo.class.isAssignableFrom(type))
return (T) parse("package org.example;");

throw new ParserException("Unknown JavaSource type [" + type.getName() + "]");
}

Expand Down
Expand Up @@ -18,7 +18,6 @@
*/
public class EnumConstantAnnotationTest extends AnnotationTest<JavaEnum, EnumConstant<JavaEnum>>
{
@SuppressWarnings("resource")
@Override
public void resetTests()
{
Expand Down
Expand Up @@ -30,7 +30,6 @@ public class EnumConstantTest
{
private JavaEnum javaEnum;

@SuppressWarnings("resource")
@Before
public void reset()
{
Expand Down Expand Up @@ -59,7 +58,7 @@ public void testSetConstructorArguments()
foo.setConstructorArguments();
assertTrue(foo.getConstructorArguments().isEmpty());
}

@Test
public void testAddRemoveBody()
{
Expand Down Expand Up @@ -122,5 +121,5 @@ public void testAddRemoveBodyField()
body.removeField(fooField);
assertTrue(body.getFields().isEmpty());
}

}
Expand Up @@ -24,7 +24,6 @@
*/
public class FieldAnnotationTest extends AnnotationTest<JavaClass, Field<JavaClass>>
{
@SuppressWarnings("resource")
@Override
public void resetTests()
{
Expand Down
Expand Up @@ -19,7 +19,7 @@
public class FieldVisibilityTest extends VisibilityTest
{
@Override
@SuppressWarnings({ "rawtypes", "resource" })
@SuppressWarnings({ "rawtypes" })
public void resetTests()
{
InputStream stream = FieldVisibilityTest.class
Expand Down
Expand Up @@ -33,7 +33,6 @@ public class JavaAnnotationTest
{
private JavaAnnotation javaAnnotation;

@SuppressWarnings("resource")
@Before
public void setup()
{
Expand Down Expand Up @@ -126,11 +125,13 @@ public void testCanParseInnerAnnotation() throws Exception
assertTrue(nestedAnnotation.hasAnnotationElement(metasyntacticVariables));
assertEquals("metasyntacticVariables", metasyntacticVariables.getName());
Type<JavaAnnotation> metasyntacticVariablesType = metasyntacticVariables.getTypeInspector();
assertEquals("org.jboss.forge.test.parser.java.common.MockEnumType", metasyntacticVariablesType.getQualifiedName());
assertEquals("org.jboss.forge.test.parser.java.common.MockEnumType",
metasyntacticVariablesType.getQualifiedName());
assertTrue(metasyntacticVariablesType.isArray());
assertEquals(0, metasyntacticVariables.getDefaultValue().getEnumArray(MockEnumType.class).length);
metasyntacticVariables.getDefaultValue().setEnumArray(MockEnumType.values());
assertArrayEquals(MockEnumType.values(), metasyntacticVariables.getDefaultValue().getEnumArray(MockEnumType.class));
assertArrayEquals(MockEnumType.values(), metasyntacticVariables.getDefaultValue()
.getEnumArray(MockEnumType.class));
}

@Test
Expand Down
Expand Up @@ -18,7 +18,6 @@
@SuppressWarnings({ "unchecked", "rawtypes" })
public class JavaClassAnnotationTest extends AnnotationTest
{
@SuppressWarnings("resource")
@Override
public void resetTests()
{
Expand Down
Expand Up @@ -17,7 +17,6 @@
*/
public class JavaClassTest extends JavaClassTestBase
{
@SuppressWarnings("resource")
@Override
public JavaClass getSource()
{
Expand Down
Expand Up @@ -17,7 +17,6 @@
*/
public class JavaClassVisibilityTest extends VisibilityTest
{
@SuppressWarnings("resource")
@Override
public void resetTests()
{
Expand Down
Expand Up @@ -28,7 +28,6 @@ public class JavaEnumTest
{
private JavaEnum javaEnum;

@SuppressWarnings("resource")
@Before
public void reset()
{
Expand All @@ -43,6 +42,7 @@ public void testCanParseEnum() throws Exception
}

@Test
@SuppressWarnings("rawtypes")
public void testAddEnumConstant()
{
int i = javaEnum.getEnumConstants().size();
Expand All @@ -52,6 +52,7 @@ public void testAddEnumConstant()
}

@Test
@SuppressWarnings("rawtypes")
public void testAddEnumConstantFromDeclaration()
{
int i = javaEnum.getEnumConstants().size();
Expand Down
Expand Up @@ -25,7 +25,6 @@
*/
public class JavaInterfaceTest
{
@SuppressWarnings("resource")
@Test
public void testCanParseInterface() throws Exception
{
Expand All @@ -36,7 +35,6 @@ public void testCanParseInterface() throws Exception
assertEquals("MockInterface", name);
}

@SuppressWarnings("resource")
@Test
public void testCanParseBigInterface() throws Exception
{
Expand Down
Expand Up @@ -16,7 +16,22 @@
public class JavaPackageInfoTest
{

@SuppressWarnings("resource")
@Test
public void testCanCreatePackageInfo() throws Exception
{
JavaPackageInfo packageInfo = JavaParser.create(JavaPackageInfo.class);
packageInfo.setPackage("org.jboss.forge.parser");
Assert.assertEquals("org.jboss.forge.parser", packageInfo.getPackage());
Assert.assertEquals("package-info", packageInfo.getName());
}

@Test(expected = UnsupportedOperationException.class)
public void testSetPackageInfoNameThrowsUnsupportedOperation() throws Exception
{
JavaPackageInfo packageInfo = JavaParser.create(JavaPackageInfo.class);
packageInfo.setName("anything");
}

@Test
public void testCanParsePackageInfo() throws Exception
{
Expand All @@ -36,10 +51,10 @@ public void testCanParsePackageInfo() throws Exception
Assert.assertEquals(3, values.size());
String namespace = annotation.getLiteralValue("namespace");
Assert.assertEquals(namespace, "\"http://forge.org/Test\"");

Annotation<JavaPackageInfo> annotationXmlOrder = javaPkg.addAnnotation("javax.xml.bind.annotation.XmlAccessorOrder");

Annotation<JavaPackageInfo> annotationXmlOrder = javaPkg
.addAnnotation("javax.xml.bind.annotation.XmlAccessorOrder");
Annotation<JavaPackageInfo> annotationXmlAccessorOrder = javaPkg.getAnnotation("XmlAccessorOrder");
Assert.assertEquals(annotationXmlOrder.getName(), annotationXmlAccessorOrder.getName());

}
}
Expand Up @@ -18,7 +18,6 @@
*/
public class MethodAnnotationTest extends AnnotationTest<JavaClass, Method<JavaClass>>
{
@SuppressWarnings("resource")
@Override
public void resetTests()
{
Expand Down
@@ -0,0 +1,31 @@
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.forge.test.parser.java;

import java.io.IOException;
import java.net.URL;

import org.jboss.forge.parser.JavaParser;
import org.jboss.forge.parser.java.JavaClass;
import org.jboss.forge.parser.java.Method;
import org.jboss.forge.test.parser.java.common.VisibilityTest;

/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
public class MethodPublicVisibilityTest extends VisibilityTest
{
@Override
@SuppressWarnings({ "rawtypes" })
public void resetTests() throws IOException
{
URL url = MethodPublicVisibilityTest.class
.getResource("/org/jboss/forge/grammar/java/MockAnnotatedMethod.java");
Method method = JavaParser.parse(JavaClass.class, url).getMethods().get(1);
setTarget(method);
}
}
Expand Up @@ -122,6 +122,25 @@ public void testEnumWithNestedClass()
Assert.assertEquals(2, nestedClasses.size());
}

@Test
public void testClassWithNestedEnum()
{
JavaClass javaClass = (JavaClass) JavaParser
.parse("package org.example; "
+ "public class OuterClass { " +
" public enum InnerEnum{A,B,C;} " +
"}");

Assert.assertEquals("org.example.OuterClass", javaClass.getCanonicalName());
List<JavaSource<?>> nestedClasses = javaClass.getNestedClasses();
JavaSource<?> inner1 = nestedClasses.get(0);
Assert.assertEquals(javaClass, inner1.getEnclosingType());
Assert.assertEquals("org.example.OuterClass.InnerEnum", inner1.getCanonicalName());
Assert.assertEquals("org.example.OuterClass$InnerEnum", inner1.getQualifiedName());
Assert.assertEquals("InnerEnum", inner1.getName());
Assert.assertEquals(1, nestedClasses.size());
}

@Test
public void testAnnotationWithNestedClass()
{
Expand Down
Expand Up @@ -7,7 +7,6 @@

public class NestedJavaClassTest extends JavaClassTest
{
@SuppressWarnings("resource")
@Override
public JavaClass getSource()
{
Expand Down
Expand Up @@ -19,7 +19,6 @@
/**
* @author <a href="mailto:lincolnbaxter@gmail.com">Lincoln Baxter, III</a>
*/
@SuppressWarnings("resource")
public class ParameterAnnotationTest extends AnnotationTest<JavaClass, Parameter<JavaClass>>
{
@Override
Expand Down
Expand Up @@ -25,7 +25,6 @@ public class FormatterTest
{
private static JavaClass javaClass;

@SuppressWarnings("resource")
@BeforeClass
public static void resetTests()
{
Expand Down

0 comments on commit ee07169

Please sign in to comment.