aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java')
-rw-r--r--javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java
new file mode 100644
index 000000000..083fc01b1
--- /dev/null
+++ b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/nodeTypes/NodeWithExtends.java
@@ -0,0 +1,37 @@
+package com.github.javaparser.ast.nodeTypes;
+
+import java.util.List;
+
+import com.github.javaparser.ast.Node;
+import com.github.javaparser.ast.type.ClassOrInterfaceType;
+
+public interface NodeWithExtends<T> {
+ public List<ClassOrInterfaceType> getExtends();
+
+ public T setExtends(final List<ClassOrInterfaceType> extendsList);
+
+ /**
+ * Add an extends to this and automatically add the import
+ *
+ * @param clazz the class to extand from
+ * @return this
+ */
+ public default T addExtends(Class<?> clazz) {
+ ((Node) this).tryAddImportToParentCompilationUnit(clazz);
+ return addExtends(clazz.getSimpleName());
+ }
+
+ /**
+ * Add an extends to this
+ *
+ * @param name the name of the type to extends from
+ * @return this
+ */
+ @SuppressWarnings("unchecked")
+ public default T addExtends(String name) {
+ ClassOrInterfaceType classOrInterfaceType = new ClassOrInterfaceType(name);
+ getExtends().add(classOrInterfaceType);
+ classOrInterfaceType.setParentNode((Node) this);
+ return (T) this;
+ }
+}