Log Message
Pre- and post increment/decrement up until JavaField, including tests
Modified Paths
- trunk/qdox/src/grammar/parser.y
- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/Builder.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/DefaultAnnotationTransformer.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/ModelBuilder.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaField.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/AnnotationValue.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostDecrement.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostIncrement.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreDecrement.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreIncrement.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/impl/DefaultJavaField.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/AssignmentDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/BinaryOperatorDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/CastDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ConstantDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/FieldRefDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ParenExpressionDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/QueryDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/TypeRefDef.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/UnaryOperatorDef.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/parser/ParserTest.java
Added Paths
- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/_expression_.java
- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ExpressionDef.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostDecrementTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostIncrementTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreDecrementTest.java
- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreIncrementTest.java
Diff
Modified: trunk/qdox/src/grammar/parser.y (1473 => 1474)
--- trunk/qdox/src/grammar/parser.y 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/grammar/parser.y 2011-12-30 20:44:35 UTC (rev 1474)
@@ -632,14 +632,13 @@
| EnumConstants_opt COMMA
| EnumConstants_opt EnumConstant;
-EnumConstant: Annotations_opt IDENTIFIER Arguments_opt
+EnumConstant: Annotations_opt IDENTIFIER
{
makeField( new TypeDef($2, 0), "", true );
builder.beginField( fd );
}
- ClassBody_opt
+ Arguments_opt ClassBody_opt
{
- fd.setBody( lexer.getCodeBody() );
builder.endField();
};
@@ -722,6 +721,9 @@
| ArgumentList;
ArgumentList: _expression_
+ {
+ builder.addArgument( (ExpressionDef) $1);
+ }
| ArgumentList COMMA _expression_;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/Builder.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/Builder.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/Builder.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -19,6 +19,7 @@
* under the License.
*/
+import com.thoughtworks.qdox.parser._expression_.ExpressionDef;
import com.thoughtworks.qdox.parser.structs.AnnoDef;
import com.thoughtworks.qdox.parser.structs.ClassDef;
import com.thoughtworks.qdox.parser.structs.FieldDef;
@@ -27,31 +28,32 @@
import com.thoughtworks.qdox.parser.structs.TagDef;
import com.thoughtworks.qdox.writer.ModelWriterFactory;
-public interface Builder {
+public interface Builder
+{
+ void setModelWriterFactory( ModelWriterFactory writer );
- void setModelWriterFactory(ModelWriterFactory writer);
-
- void addPackage(PackageDef packageDef);
+ void addPackage( PackageDef packageDef );
- void addImport(String importName);
+ void addImport( String importName );
- void addJavaDoc(String text);
+ void addJavaDoc( String text );
+ void addJavaDocTag( TagDef def );
- void addJavaDocTag(TagDef def);
-
- void beginClass(ClassDef def);
+ void beginClass( ClassDef def );
void endClass();
void beginConstructor();
- void endConstructor(MethodDef def);
+ void endConstructor( MethodDef def );
void beginMethod();
- void endMethod(MethodDef def);
+ void endMethod( MethodDef def );
- void beginField(FieldDef def);
+ void beginField( FieldDef def );
void endField();
- void addParameter(FieldDef def);
+ void addParameter( FieldDef def );
- void addAnnotation(AnnoDef annotation);
-}
+ void addAnnotation( AnnoDef annotation );
+
+ void addArgument( ExpressionDef argument );
+}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/DefaultAnnotationTransformer.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/DefaultAnnotationTransformer.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/DefaultAnnotationTransformer.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -36,6 +36,7 @@
import com.thoughtworks.qdox.model._expression_.Divide;
import com.thoughtworks.qdox.model._expression_.Equals;
import com.thoughtworks.qdox.model._expression_.ExclusiveOr;
+import com.thoughtworks.qdox.model._expression_._expression_;
import com.thoughtworks.qdox.model._expression_.FieldRef;
import com.thoughtworks.qdox.model._expression_.GreaterEquals;
import com.thoughtworks.qdox.model._expression_.GreaterThan;
@@ -51,7 +52,10 @@
import com.thoughtworks.qdox.model._expression_.Or;
import com.thoughtworks.qdox.model._expression_.ParenExpression;
import com.thoughtworks.qdox.model._expression_.PlusSign;
+import com.thoughtworks.qdox.model._expression_.PostDecrement;
+import com.thoughtworks.qdox.model._expression_.PostIncrement;
import com.thoughtworks.qdox.model._expression_.PreDecrement;
+import com.thoughtworks.qdox.model._expression_.PreIncrement;
import com.thoughtworks.qdox.model._expression_.Query;
import com.thoughtworks.qdox.model._expression_.Remainder;
import com.thoughtworks.qdox.model._expression_.ShiftLeft;
@@ -67,6 +71,8 @@
import com.thoughtworks.qdox.parser._expression_.CastDef;
import com.thoughtworks.qdox.parser._expression_.ConstantDef;
import com.thoughtworks.qdox.parser._expression_.DivideDef;
+import com.thoughtworks.qdox.parser._expression_.ElemValueDef;
+import com.thoughtworks.qdox.parser._expression_.ElemValueListDef;
import com.thoughtworks.qdox.parser._expression_.EqualsDef;
import com.thoughtworks.qdox.parser._expression_.ExclusiveOrDef;
import com.thoughtworks.qdox.parser._expression_.FieldRefDef;
@@ -96,8 +102,6 @@
import com.thoughtworks.qdox.parser._expression_.TransformerDef;
import com.thoughtworks.qdox.parser._expression_.TypeRefDef;
import com.thoughtworks.qdox.parser._expression_.UnsignedShiftRightDef;
-import com.thoughtworks.qdox.parser._expression_.ElemValueDef;
-import com.thoughtworks.qdox.parser._expression_.ElemValueListDef;
import com.thoughtworks.qdox.parser.structs.AnnoDef;
import com.thoughtworks.qdox.parser.structs.TypeDef;
@@ -413,24 +417,26 @@
public AnnotationValue transform( PreIncrementDef preIncrementDef )
{
- // TODO Auto-generated method stub
- return null;
+ return new PreIncrement( preIncrementDef.getElemValueDef().transform( this ) );
}
public AnnotationValue transform( PreDecrementDef preDecrementDef )
{
- return new PreDecrement( preDecrementDef.transform( this ) );
+ return new PreDecrement( preDecrementDef.getElemValueDef().transform( this ) );
}
public AnnotationValue transform( PostIncrementDef postIncrement )
{
- // TODO Auto-generated method stub
- return null;
+ return new PostIncrement( postIncrement.getElemValueDef().transform( this ) );
}
public AnnotationValue transform( PostDecrementDef postDecrementDef )
{
- // TODO Auto-generated method stub
- return null;
+ return new PostDecrement( postDecrementDef.getElemValueDef().transform( this ) );
}
+
+ public _expression_ transform( ElemValueDef annoDef )
+ {
+ return annoDef.transform( this );
+ }
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/ModelBuilder.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/ModelBuilder.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/builder/impl/ModelBuilder.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -40,6 +40,7 @@
import com.thoughtworks.qdox.model.JavaSource;
import com.thoughtworks.qdox.model.JavaType;
import com.thoughtworks.qdox.model.JavaTypeVariable;
+import com.thoughtworks.qdox.model._expression_._expression_;
import com.thoughtworks.qdox.model.impl.AbstractBaseJavaEntity;
import com.thoughtworks.qdox.model.impl.DefaultJavaClass;
import com.thoughtworks.qdox.model.impl.DefaultJavaConstructor;
@@ -50,6 +51,8 @@
import com.thoughtworks.qdox.model.impl.DefaultJavaSource;
import com.thoughtworks.qdox.model.impl.DefaultJavaType;
import com.thoughtworks.qdox.model.impl.DefaultJavaTypeVariable;
+import com.thoughtworks.qdox.parser._expression_.ElemValueDef;
+import com.thoughtworks.qdox.parser._expression_.ExpressionDef;
import com.thoughtworks.qdox.parser.structs.AnnoDef;
import com.thoughtworks.qdox.parser.structs.ClassDef;
import com.thoughtworks.qdox.parser.structs.FieldDef;
@@ -79,6 +82,8 @@
private DefaultJavaField currentField;
private List<AnnoDef> currentAnnoDefs;
+
+ private List<ExpressionDef> currentArguments;
private String lastComment;
@@ -93,6 +98,7 @@
this.docletTagFactory = docletTagFactory;
this.source = new DefaultJavaSource( classLibrary );
this.currentAnnoDefs = new LinkedList<AnnoDef>();
+ this.currentArguments = new LinkedList<ExpressionDef>();
}
/** {@inheritDoc} */
@@ -388,6 +394,7 @@
currentField.setName( def.getName() );
currentField.setType( createType( def.getType(), def.getDimensions() ) );
+
currentField.setEnumConstant( def.isEnumConstant() );
// modifiers
@@ -403,11 +410,27 @@
// annotations
setAnnotations( currentField );
+
+
}
/** {@inheritDoc} */
public void endField()
{
+ if ( currentArguments != null && !currentArguments.isEmpty() )
+ {
+ //DefaultExpressionTransformer??
+ DefaultAnnotationTransformer transformer = new DefaultAnnotationTransformer( currentField );
+
+ List<_expression_> arguments = new LinkedList<_expression_>();
+ for ( ExpressionDef annoDef : currentArguments )
+ {
+ arguments.add( transformer.transform( annoDef ) );
+ }
+ currentField.setEnumConstantArguments( arguments );
+ currentArguments.clear();
+ }
+
classStack.getFirst().addField(currentField);
currentField = null;
@@ -448,6 +471,11 @@
{
currentAnnoDefs.add( annotation );
}
+
+ public void addArgument( ExpressionDef argument )
+ {
+ currentArguments.add( argument );
+ }
public JavaSource getSource()
{
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaField.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaField.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/JavaField.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -1,5 +1,9 @@
package com.thoughtworks.qdox.model;
+import java.util.List;
+
+import com.thoughtworks.qdox.model._expression_._expression_;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -71,4 +75,12 @@
* @since 2.0
*/
JavaClass getEnumConstantClass();
+
+ /**
+ *
+ *
+ * @return the arguments of the enum constant
+ * @since 2.0
+ */
+ List<_expression_> getEnumConstantArguments();
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/AnnotationValue.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/AnnotationValue.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/AnnotationValue.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -19,14 +19,12 @@
* under the License.
*/
-import com.thoughtworks.qdox.model.impl.DefaultJavaAnnotation;
-
/**
* Interface for all annotation model elements
*
* @author Jochen Kuhnle
*/
-public interface AnnotationValue {
+public interface AnnotationValue extends _expression_ {
/**
* Accept a visitor for this value.
@@ -35,12 +33,4 @@
* @return Visitor result
*/
Object accept( ExpressionVisitor visitor );
-
- /**
- * Get a parameter value for {@link DefaultJavaAnnotation#getNamedParameter(String)}.
- *
- * @return Parameter value
- */
- Object getParameterValue();
-
-}
+}
\ No newline at end of file
Added: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/_expression_.java (0 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/_expression_.java (rev 0)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/_expression_.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,30 @@
+package com.thoughtworks.qdox.model._expression_;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public interface _expression_
+{
+ /**
+ * Get a parameter value for {@link JavaAnnotation#getNamedParameter(String)}.
+ *
+ * @return Parameter value
+ */
+ Object getParameterValue();
+}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostDecrement.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostDecrement.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostDecrement.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -26,13 +26,21 @@
super( value );
}
+ /** {@inheritDoc}} */
public Object accept( ExpressionVisitor visitor )
{
return visitor.visit( this );
}
+ /** {@inheritDoc}} */
public String getParameterValue()
{
- return "--" + getValue().getParameterValue();
+ return getValue().getParameterValue() + "--";
}
+
+ @Override
+ public String toString()
+ {
+ return getValue().toString() + "--";
+ }
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostIncrement.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostIncrement.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PostIncrement.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -26,13 +26,21 @@
super( value );
}
+ /** {@inheritDoc}} */
public Object accept( ExpressionVisitor visitor )
{
return visitor.visit( this );
}
+ /** {@inheritDoc}} */
public String getParameterValue()
{
- return "++" + getValue().getParameterValue();
+ return getValue().getParameterValue() + "++";
}
+
+ @Override
+ public String toString()
+ {
+ return getValue().toString() + "++";
+ }
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreDecrement.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreDecrement.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreDecrement.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -26,13 +26,21 @@
super( value );
}
+ /** {@inheritDoc}} */
public Object accept( ExpressionVisitor visitor )
{
return visitor.visit( this );
}
+ /** {@inheritDoc}} */
public String getParameterValue()
{
return "--" + getValue().getParameterValue();
}
+
+ @Override
+ public String toString()
+ {
+ return "--" + getValue().toString();
+ }
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreIncrement.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreIncrement.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/_expression_/PreIncrement.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -26,13 +26,21 @@
super( value );
}
+ /** {@inheritDoc}} */
public Object accept( ExpressionVisitor visitor )
{
return visitor.visit( this );
}
+ /** {@inheritDoc}} */
public String getParameterValue()
{
return "++" + getValue().getParameterValue();
}
+
+ @Override
+ public String toString()
+ {
+ return "++" + getValue().toString();
+ }
}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/model/impl/DefaultJavaField.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/model/impl/DefaultJavaField.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/model/impl/DefaultJavaField.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -1,7 +1,10 @@
package com.thoughtworks.qdox.model.impl;
+import java.util.List;
+
import com.thoughtworks.qdox.model.JavaClass;
import com.thoughtworks.qdox.model.JavaField;
+import com.thoughtworks.qdox.model._expression_._expression_;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -34,6 +37,8 @@
private boolean enumConstant;
private JavaClass enumConstantClass;
+
+ private List<_expression_> enumConstantArguments;
public DefaultJavaField()
{
@@ -118,7 +123,18 @@
{
this.enumConstant = enumConstant;
}
+
+ /** {@inheritDoc} */
+ public List<_expression_> getEnumConstantArguments()
+ {
+ return enumConstantArguments;
+ }
+ public void setEnumConstantArguments( List<_expression_> enumConstantArguments )
+ {
+ this.enumConstantArguments = enumConstantArguments;
+ }
+
/** {@inheritDoc} */
public JavaClass getEnumConstantClass()
{
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/AssignmentDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/AssignmentDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/AssignmentDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -19,7 +19,7 @@
* under the License.
*/
-public class AssignmentDef implements ElemValueDef
+public class AssignmentDef extends ExpressionDef
{
private ElemValueDef letfHandSide;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/BinaryOperatorDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/BinaryOperatorDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/BinaryOperatorDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -19,7 +19,7 @@
* under the License.
*/
-public abstract class BinaryOperatorDef implements ElemValueDef {
+public abstract class BinaryOperatorDef extends ExpressionDef {
private final ElemValueDef lhs;
private final ElemValueDef rhs;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/CastDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/CastDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/CastDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -21,7 +21,7 @@
* under the License.
*/
-public class CastDef implements ElemValueDef
+public class CastDef extends ExpressionDef
{
private final TypeDef typeDef;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ConstantDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ConstantDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ConstantDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -20,7 +20,7 @@
*/
-public class ConstantDef implements ElemValueDef {
+public class ConstantDef extends ExpressionDef {
private final String value;
private Class<?> type;
Added: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ExpressionDef.java (0 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ExpressionDef.java (rev 0)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ExpressionDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,25 @@
+package com.thoughtworks.qdox.parser._expression_;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+public abstract class ExpressionDef implements ElemValueDef
+{
+
+}
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/FieldRefDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/FieldRefDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/FieldRefDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -20,7 +20,7 @@
*/
-public class FieldRefDef implements ElemValueDef {
+public class FieldRefDef extends ExpressionDef {
private final String name;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ParenExpressionDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ParenExpressionDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/ParenExpressionDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -1,6 +1,5 @@
package com.thoughtworks.qdox.parser._expression_;
-
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -20,7 +19,7 @@
* under the License.
*/
-public class ParenExpressionDef implements ElemValueDef {
+public class ParenExpressionDef extends ExpressionDef {
private final ElemValueDef elemValueDef;
@@ -39,5 +38,4 @@
{
return elemValueDef;
}
-
-}
+}
\ No newline at end of file
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/QueryDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/QueryDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/QueryDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -20,7 +20,7 @@
* under the License.
*/
-public class QueryDef implements ElemValueDef {
+public class QueryDef extends ExpressionDef {
private final ElemValueDef cond;
private final ElemValueDef trueExpr;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/TypeRefDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/TypeRefDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/TypeRefDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -21,7 +21,7 @@
import com.thoughtworks.qdox.parser.structs.TypeDef;
-public class TypeRefDef implements ElemValueDef {
+public class TypeRefDef extends ExpressionDef {
private TypeDef typeDef;
Modified: trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/UnaryOperatorDef.java (1473 => 1474)
--- trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/UnaryOperatorDef.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/main/java/com/thoughtworks/qdox/parser/_expression_/UnaryOperatorDef.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -19,7 +19,7 @@
* under the License.
*/
-public abstract class UnaryOperatorDef implements ElemValueDef {
+public abstract class UnaryOperatorDef extends ExpressionDef {
private final ElemValueDef elemValueDef;
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java (1473 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/JavaProjectBuilderTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -1374,13 +1374,16 @@
public void testIncrementAndDecrement() throws Exception
{
- String source = "public enum AssignmentOperators {" +
+ String source = "public enum _expression_ {" +
" POSTINC ( a++ )," +
" POSTDEC ( a-- )," +
" PREINC ( ++a )," +
" PREDEC ( --a )" +
" }";
- builder.addSource(new StringReader( source ));
+ JavaClass cls = builder.addSource(new StringReader( source )).getClassByName( "_expression_" );
+ JavaField postInc = cls.getFieldByName( "POSTINC" );
+ assertEquals( 1, postInc.getEnumConstantArguments().size() );
+ assertEquals( "a++", postInc.getEnumConstantArguments().get( 0 ).getParameterValue() );
}
// for QDOX-230
Added: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostDecrementTest.java (0 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostDecrementTest.java (rev 0)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostDecrementTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,39 @@
+package com.thoughtworks.qdox.model._expression_;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+
+public class PostDecrementTest
+{
+ @Test
+ public void testParameterValue()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PostDecrement expr = new PostDecrement( value );
+ assertEquals( "index--", expr.getParameterValue() );
+ }
+
+ @Test
+ public void testToString()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PostDecrement expr = new PostDecrement( value );
+ assertEquals( value.toString() + "--", expr.toString() );
+ }
+
+ @Test
+ public void testAccept()
+ {
+ ExpressionVisitor visitor = mock( ExpressionVisitor.class );
+ PostDecrement expr = new PostDecrement( null );
+ Object visitResult = new Object();
+ when( visitor.visit( expr ) ).thenReturn( visitResult );
+ assertSame( expr.accept( visitor ), visitResult );
+ }
+}
\ No newline at end of file
Added: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostIncrementTest.java (0 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostIncrementTest.java (rev 0)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PostIncrementTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,39 @@
+package com.thoughtworks.qdox.model._expression_;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+
+public class PostIncrementTest
+{
+ @Test
+ public void testParameterValue()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PostIncrement expr = new PostIncrement( value );
+ assertEquals( "index++", expr.getParameterValue() );
+ }
+
+ @Test
+ public void testToString()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PostIncrement expr = new PostIncrement( value );
+ assertEquals( value.toString() + "++", expr.toString() );
+ }
+
+ @Test
+ public void testAccept()
+ {
+ ExpressionVisitor visitor = mock( ExpressionVisitor.class );
+ PostIncrement expr = new PostIncrement( null );
+ Object visitResult = new Object();
+ when( visitor.visit( expr ) ).thenReturn( visitResult );
+ assertSame( expr.accept( visitor ), visitResult );
+ }
+}
Added: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreDecrementTest.java (0 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreDecrementTest.java (rev 0)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreDecrementTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,39 @@
+package com.thoughtworks.qdox.model._expression_;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+
+public class PreDecrementTest
+{
+ @Test
+ public void testParameterValue()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PreDecrement expr = new PreDecrement( value );
+ assertEquals( "--index", expr.getParameterValue() );
+ }
+
+ @Test
+ public void testToString()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PreDecrement expr = new PreDecrement( value );
+ assertEquals( "--" + value.toString(), expr.toString() );
+ }
+
+ @Test
+ public void testAccept()
+ {
+ ExpressionVisitor visitor = mock( ExpressionVisitor.class );
+ PreDecrement expr = new PreDecrement( null );
+ Object visitResult = new Object();
+ when( visitor.visit( expr ) ).thenReturn( visitResult );
+ assertSame( expr.accept( visitor ), visitResult );
+ }
+}
\ No newline at end of file
Added: trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreIncrementTest.java (0 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreIncrementTest.java (rev 0)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/model/_expression_/PreIncrementTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -0,0 +1,39 @@
+package com.thoughtworks.qdox.model._expression_;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertSame;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+
+public class PreIncrementTest
+{
+ @Test
+ public void testParameterValue()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PreIncrement expr = new PreIncrement( value );
+ assertEquals( "++index", expr.getParameterValue() );
+ }
+
+ @Test
+ public void testToString()
+ {
+ AnnotationValue value = mock( AnnotationValue.class );
+ when( value.getParameterValue() ).thenReturn( "index" );
+ PreIncrement expr = new PreIncrement( value );
+ assertEquals( "++" + value.toString(), expr.toString() );
+ }
+
+ @Test
+ public void testAccept()
+ {
+ ExpressionVisitor visitor = mock( ExpressionVisitor.class );
+ PreIncrement expr = new PreIncrement( null );
+ Object visitResult = new Object();
+ when( visitor.visit( expr ) ).thenReturn( visitResult );
+ assertSame( expr.accept( visitor ), visitResult );
+ }
+}
\ No newline at end of file
Modified: trunk/qdox/src/test/java/com/thoughtworks/qdox/parser/ParserTest.java (1473 => 1474)
--- trunk/qdox/src/test/java/com/thoughtworks/qdox/parser/ParserTest.java 2011-12-30 14:28:01 UTC (rev 1473)
+++ trunk/qdox/src/test/java/com/thoughtworks/qdox/parser/ParserTest.java 2011-12-30 20:44:35 UTC (rev 1474)
@@ -2643,7 +2643,7 @@
FieldDef fld0 = f.getAllValues().get( 0 );
assertEquals( "a", fld0.getName() );
assertEquals( new TypeDef( "x" ), fld0.getType() ); // bug @todo fixme
- assertEquals( null, fld0.getBody() );
+ assertEquals( "", fld0.getBody() );
FieldDef fld1 = f.getAllValues().get( 1 );
assertEquals( "someField", fld1.getName() );
assertEquals( new TypeDef( "int" ), fld1.getType() );
@@ -2685,7 +2685,7 @@
FieldDef fld = f.getValue();
assertEquals( "a", fld.getName() );
assertEquals( new TypeDef( "x" ), fld.getType() ); //bug @todo fixme
- assertEquals( null , fld.getBody() );
+ assertEquals( "" , fld.getBody() );
}
// QDOX-266
To unsubscribe from this list please visit:
