Skip to content

Commit

Permalink
* Document some nodes
Browse files Browse the repository at this point in the history
* Make all "Empty..." nodes deprecated
  • Loading branch information
matozoid committed Dec 10, 2016
1 parent e703216 commit 0b43f83
Show file tree
Hide file tree
Showing 31 changed files with 77 additions and 147 deletions.
Expand Up @@ -24,7 +24,7 @@ public String toString() {
if (cause != null) { if (cause != null) {
str.append(" stack : ").append(System.lineSeparator()); str.append(" stack : ").append(System.lineSeparator());
for (StackTraceElement ste : cause.getStackTrace()) for (StackTraceElement ste : cause.getStackTrace())
str.append(ste.toString()); str.append(ste.toString()).append(System.lineSeparator());
} }
return str.toString(); return str.toString();
} }
Expand Down
Expand Up @@ -32,6 +32,8 @@
import java.util.EnumSet; import java.util.EnumSet;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-9.6">JLS</a>
* An annotation type declaration: <code>@interface X { ... }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class AnnotationDeclaration extends TypeDeclaration<AnnotationDeclaration> { public final class AnnotationDeclaration extends TypeDeclaration<AnnotationDeclaration> {
Expand Down
Expand Up @@ -44,6 +44,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-9.html#jls-AnnotationTypeElementDeclaration">JLS</a>
* The "int id();" in <code>@interface X { int id(); }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class AnnotationMemberDeclaration extends BodyDeclaration<AnnotationMemberDeclaration> implements public final class AnnotationMemberDeclaration extends BodyDeclaration<AnnotationMemberDeclaration> implements
Expand Down
Expand Up @@ -34,6 +34,7 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* Any declaration that can appear between the { and } of a class, interface, or enum.
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public abstract class BodyDeclaration<T extends Node> extends Node implements NodeWithAnnotations<T> { public abstract class BodyDeclaration<T extends Node> extends Node implements NodeWithAnnotations<T> {
Expand Down
Expand Up @@ -42,6 +42,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.1">JLS</a>
* A definition of a class or interface. <code>class X { ... }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrInterfaceDeclaration> implements public final class ClassOrInterfaceDeclaration extends TypeDeclaration<ClassOrInterfaceDeclaration> implements
Expand Down
Expand Up @@ -43,6 +43,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.8">JLS</a>
* A constructor declaration: <code>class X { X() { } }</code> where X(){} is the constructor declaration.
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDeclaration> implements public final class ConstructorDeclaration extends BodyDeclaration<ConstructorDeclaration> implements
Expand Down
Expand Up @@ -29,8 +29,11 @@
import com.github.javaparser.ast.visitor.VoidVisitor; import com.github.javaparser.ast.visitor.VoidVisitor;


/** /**
* A loose ";" inside a body. <code>class X { ; }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
* @deprecated these ;'s should be ignored
*/ */
@Deprecated
public final class EmptyMemberDeclaration extends BodyDeclaration<EmptyMemberDeclaration> public final class EmptyMemberDeclaration extends BodyDeclaration<EmptyMemberDeclaration>
implements NodeWithJavaDoc<EmptyMemberDeclaration> { implements NodeWithJavaDoc<EmptyMemberDeclaration> {


Expand Down

This file was deleted.

Expand Up @@ -40,6 +40,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.9.1">JLS</a>
* One of the values an enum can take. A(1) and B(2) in this example: <code>enum X { A(1), B(2) }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantDeclaration> implements public final class EnumConstantDeclaration extends BodyDeclaration<EnumConstantDeclaration> implements
Expand Down
Expand Up @@ -39,6 +39,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.9">JLS</a>
* The declaration of an enum. <code>enum X { ... }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> implements public final class EnumDeclaration extends TypeDeclaration<EnumDeclaration> implements
Expand Down
Expand Up @@ -49,6 +49,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.3">JLS</a>
* The declaration of a field in a class. "private static int a=15*15;" in this example: <code>class X { private static int a=15*15; }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class FieldDeclaration extends BodyDeclaration<FieldDeclaration> implements public final class FieldDeclaration extends BodyDeclaration<FieldDeclaration> implements
Expand Down
Expand Up @@ -33,6 +33,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.6">JLS</a>
* A (possibly static) initializer block. "static { a=3; }" in this example: <code>class X { static { a=3; } } </code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class InitializerDeclaration extends BodyDeclaration<InitializerDeclaration> public final class InitializerDeclaration extends BodyDeclaration<InitializerDeclaration>
Expand Down
Expand Up @@ -46,6 +46,8 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4">JLS</a>
* A method declaration. "public int abc() {return 1;}" in this example: <code>class X { public int abc() {return 1;} }</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration> implements public final class MethodDeclaration extends BodyDeclaration<MethodDeclaration> implements
Expand Down
Expand Up @@ -41,6 +41,10 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.4.1">JLS</a>
* The parameters to a method or lambda. Lambda parameters may have inferred types, in that case "type" is UnknownType.
* Note that <a href="https://en.wikipedia.org/wiki/Parameter_(computer_programming)#Parameters_and_arguments">parameters are different from arguments.</a>
* "String x" and "float y" are the parameters in <code>int abc(String x, float y) {...}</code>
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class Parameter extends Node implements public final class Parameter extends Node implements
Expand Down
Expand Up @@ -41,6 +41,7 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* A base class for all types of type declarations.
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public abstract class TypeDeclaration<T extends Node> extends BodyDeclaration<T> implements public abstract class TypeDeclaration<T extends Node> extends BodyDeclaration<T> implements
Expand Down
Expand Up @@ -38,6 +38,9 @@
import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
* <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.4">JLS</a>
* The declaration of a variable. <code>int x = 14;</code>
*
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
*/ */
public final class VariableDeclarator extends Node implements public final class VariableDeclarator extends Node implements
Expand Down
Expand Up @@ -27,7 +27,9 @@


/** /**
* @author Julio Vilmar Gesser * @author Julio Vilmar Gesser
* @deprecated these ;'s should be ignored
*/ */
@Deprecated
public final class EmptyStmt extends Statement { public final class EmptyStmt extends Statement {


public EmptyStmt() { public EmptyStmt() {
Expand Down
Expand Up @@ -22,7 +22,7 @@
package com.github.javaparser.ast.stmt; package com.github.javaparser.ast.stmt;


import com.github.javaparser.Range; import com.github.javaparser.Range;
import com.github.javaparser.ast.body.EmptyTypeDeclaration; import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.TypeDeclaration; import com.github.javaparser.ast.body.TypeDeclaration;
import com.github.javaparser.ast.observing.ObservableProperty; import com.github.javaparser.ast.observing.ObservableProperty;
import com.github.javaparser.ast.visitor.GenericVisitor; import com.github.javaparser.ast.visitor.GenericVisitor;
Expand All @@ -38,7 +38,7 @@ public final class TypeDeclarationStmt extends Statement {
private TypeDeclaration typeDecl; private TypeDeclaration typeDecl;


public TypeDeclarationStmt() { public TypeDeclarationStmt() {
this(null, new EmptyTypeDeclaration()); this(null, new ClassOrInterfaceDeclaration());
} }


public TypeDeclarationStmt(final TypeDeclaration typeDecl) { public TypeDeclarationStmt(final TypeDeclaration typeDecl) {
Expand Down
Expand Up @@ -119,17 +119,6 @@ public Visitable visit(EnumDeclaration _n, Object _arg) {
return r; return r;
} }


@Override
public Visitable visit(EmptyTypeDeclaration _n, Object _arg) {
Comment comment = cloneNode(_n.getComment(), _arg);

EmptyTypeDeclaration r = new EmptyTypeDeclaration(
_n.getRange().orElse(null)
);
r.setComment(comment);
return r;
}

@Override @Override
public Visitable visit(EnumConstantDeclaration _n, Object _arg) { public Visitable visit(EnumConstantDeclaration _n, Object _arg) {
NodeList<AnnotationExpr> annotations = cloneList(_n.getAnnotations(), _arg); NodeList<AnnotationExpr> annotations = cloneList(_n.getAnnotations(), _arg);
Expand Down
Expand Up @@ -279,11 +279,6 @@ public Boolean visit(final EnumDeclaration n1, final Visitable arg) {
return true; return true;
} }


@Override
public Boolean visit(final EmptyTypeDeclaration n1, final Visitable arg) {
return true;
}

@Override @Override
public Boolean visit(final EnumConstantDeclaration n1, final Visitable arg) { public Boolean visit(final EnumConstantDeclaration n1, final Visitable arg) {
final EnumConstantDeclaration n2 = (EnumConstantDeclaration) arg; final EnumConstantDeclaration n2 = (EnumConstantDeclaration) arg;
Expand Down
Expand Up @@ -56,8 +56,6 @@ public interface GenericVisitor<R, A> {


R visit(EnumDeclaration n, A arg); R visit(EnumDeclaration n, A arg);


R visit(EmptyTypeDeclaration n, A arg);

R visit(EnumConstantDeclaration n, A arg); R visit(EnumConstantDeclaration n, A arg);


R visit(AnnotationDeclaration n, A arg); R visit(AnnotationDeclaration n, A arg);
Expand Down
Expand Up @@ -528,12 +528,6 @@ public R visit(final EmptyStmt n, final A arg) {
return null; return null;
} }


@Override
public R visit(final EmptyTypeDeclaration n, final A arg) {
visitComment(n, arg);
return null;
}

@Override @Override
public R visit(final EnclosedExpr n, final A arg) { public R visit(final EnclosedExpr n, final A arg) {
visitComment(n, arg); visitComment(n, arg);
Expand Down
Expand Up @@ -306,12 +306,6 @@ public Visitable visit(final EmptyStmt n, final A arg) {
return n; return n;
} }


@Override
public Visitable visit(final EmptyTypeDeclaration n, final A arg) {
visitComment(n, arg);
return n;
}

@Override @Override
public Visitable visit(final EnclosedExpr n, final A arg) { public Visitable visit(final EnclosedExpr n, final A arg) {
visitComment(n, arg); visitComment(n, arg);
Expand Down
Expand Up @@ -21,7 +21,10 @@


package com.github.javaparser.ast.visitor; package com.github.javaparser.ast.visitor;


import com.github.javaparser.ast.*; import com.github.javaparser.ast.ArrayCreationLevel;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.NodeList;
import com.github.javaparser.ast.PackageDeclaration;
import com.github.javaparser.ast.body.*; import com.github.javaparser.ast.body.*;
import com.github.javaparser.ast.comments.BlockComment; import com.github.javaparser.ast.comments.BlockComment;
import com.github.javaparser.ast.comments.JavadocComment; import com.github.javaparser.ast.comments.JavadocComment;
Expand Down Expand Up @@ -56,8 +59,6 @@ public interface VoidVisitor<A> {


void visit(EnumDeclaration n, A arg); void visit(EnumDeclaration n, A arg);


void visit(EmptyTypeDeclaration n, A arg);

void visit(EnumConstantDeclaration n, A arg); void visit(EnumConstantDeclaration n, A arg);


void visit(AnnotationDeclaration n, A arg); void visit(AnnotationDeclaration n, A arg);
Expand Down
Expand Up @@ -270,12 +270,6 @@ public void visit(final EmptyStmt n, final A arg) {
visitComment(n.getComment(), arg); visitComment(n.getComment(), arg);
} }


@Override
public void visit(final EmptyTypeDeclaration n, final A arg) {
visitComment(n.getComment(), arg);
n.getName().accept(this, arg);
}

@Override @Override
public void visit(final EnclosedExpr n, final A arg) { public void visit(final EnclosedExpr n, final A arg) {
visitComment(n.getComment(), arg); visitComment(n.getComment(), arg);
Expand Down
Expand Up @@ -259,14 +259,6 @@ public void visit(final ClassOrInterfaceDeclaration n, final Void arg) {
printer.print("}"); printer.print("}");
} }


@Override
public void visit(final EmptyTypeDeclaration n, final Void arg) {
printJavaComment(n.getComment(), arg);
printer.print(";");

printOrphanCommentsEnding(n);
}

@Override @Override
public void visit(final JavadocComment n, final Void arg) { public void visit(final JavadocComment n, final Void arg) {
printer.print("/**"); printer.print("/**");
Expand Down

0 comments on commit 0b43f83

Please sign in to comment.