diff options
author | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-14 15:43:20 +0200 |
---|---|---|
committer | Danny van Bruggen <hexagonaal@gmail.com> | 2017-04-14 15:43:20 +0200 |
commit | 7cd83c2e73deb47d79e71cc6afc3eb4b613302d1 (patch) | |
tree | 3acd7ed0094034c2cd57ce84573c824b555fecf4 /javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java | |
parent | fb5ace2780cb770721de30672ba3df6210e1dfe2 (diff) | |
download | javaparser-7cd83c2e73deb47d79e71cc6afc3eb4b613302d1.tar.gz |
* Make "asString" methods for types
* Strip signature types of annotations and generics
Diffstat (limited to 'javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java')
-rw-r--r-- | javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java index aef700f84..78f28c57f 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/ClassOrInterfaceType.java @@ -22,6 +22,7 @@ package com.github.javaparser.ast.type; import com.github.javaparser.Range; import com.github.javaparser.ast.AllFieldsConstructor; +import com.github.javaparser.ast.Node; import com.github.javaparser.ast.NodeList; import com.github.javaparser.ast.expr.AnnotationExpr; import com.github.javaparser.ast.expr.SimpleName; @@ -29,16 +30,18 @@ import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations; import com.github.javaparser.ast.nodeTypes.NodeWithSimpleName; import com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments; import com.github.javaparser.ast.observer.ObservableProperty; +import com.github.javaparser.ast.visitor.CloneVisitor; import com.github.javaparser.ast.visitor.GenericVisitor; import com.github.javaparser.ast.visitor.VoidVisitor; +import com.github.javaparser.metamodel.ClassOrInterfaceTypeMetaModel; +import com.github.javaparser.metamodel.JavaParserMetaModel; + import java.util.Arrays; import java.util.List; import java.util.Optional; + import static com.github.javaparser.utils.Utils.assertNotNull; -import com.github.javaparser.ast.Node; -import com.github.javaparser.ast.visitor.CloneVisitor; -import com.github.javaparser.metamodel.ClassOrInterfaceTypeMetaModel; -import com.github.javaparser.metamodel.JavaParserMetaModel; +import static java.util.stream.Collectors.joining; /** * A class or an interface type. <br/><code>Object</code> <br/><code>HashMap<String, String></code> @@ -201,6 +204,16 @@ public final class ClassOrInterfaceType extends ReferenceType implements NodeWit return super.remove(node); } + @Override + public String asString() { + StringBuilder str = new StringBuilder(); + getScope().ifPresent(s -> str.append(s.asString()).append(".")); + str.append(name.asString()); + + getTypeArguments().ifPresent(ta -> str.append(ta.stream().map(Type::asString).collect(joining(",", "<", ">")))); + return str.toString(); + } + public ClassOrInterfaceType removeScope() { return setScope((ClassOrInterfaceType) null); } |