Skip to content

Commit

Permalink
FORGE-1097: Multiple fields are split into their own FieldDeclarations
Browse files Browse the repository at this point in the history
  • Loading branch information
gastaldi committed Aug 8, 2013
1 parent 778a947 commit 8378b24
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
14 changes: 10 additions & 4 deletions impl/src/main/java/org/jboss/forge/parser/java/impl/FieldImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

package org.jboss.forge.parser.java.impl;

import java.util.Iterator;
import java.util.List;

import org.eclipse.jdt.core.dom.AST;
Expand Down Expand Up @@ -71,14 +72,19 @@ public FieldImpl(final O parent, final Object internal, boolean copy)
VariableDeclarationFragment newFieldFragment = (VariableDeclarationFragment) internal;
FieldDeclaration newFieldDeclaration = (FieldDeclaration) newFieldFragment.getParent();
this.field = (FieldDeclaration) ASTNode.copySubtree(ast, newFieldDeclaration);
List<VariableDeclarationFragment> fragments = this.field.fragments();
Iterator<VariableDeclarationFragment> fragmentsIterator = this.field.fragments().iterator();
VariableDeclarationFragment temp = null;
for (VariableDeclarationFragment variableDeclarationFragment : fragments)
while (fragmentsIterator.hasNext())
{
if (newFieldFragment.getName().getFullyQualifiedName().equals(variableDeclarationFragment.getName().getFullyQualifiedName()))
VariableDeclarationFragment variableDeclarationFragment = fragmentsIterator.next();
if (newFieldFragment.getName().getFullyQualifiedName()
.equals(variableDeclarationFragment.getName().getFullyQualifiedName()))
{
temp = variableDeclarationFragment;
break;
}
else
{
fragmentsIterator.remove();
}
}
this.fragment = temp;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
import org.jboss.forge.parser.java.JavaClass;
import org.jboss.forge.parser.java.Type;
import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;

/**
Expand Down Expand Up @@ -275,11 +274,11 @@ public void testFieldTypeObjectArrayMixedDimensionTest()
}

@Test
@Ignore("FORGE-1097")
public void testFieldTypesByteExtraDimensionDeclarationTest()
{
final JavaClass javaClass = JavaParser.create(JavaClass.class);
final Field<JavaClass> field = javaClass.addField("public byte content1[], content2;");
Assert.assertEquals(2, javaClass.getFields().size());
Assert.assertEquals("content1", field.getName());
Assert.assertEquals("byte[]", field.getQualifiedType());
Assert.assertEquals("byte[]", field.getType());
Expand Down

0 comments on commit 8378b24

Please sign in to comment.