com.github.javaparser.ast.Node.getParentNode()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(5.3k)|赞(0)|评价(0)|浏览(206)

本文整理了Java中com.github.javaparser.ast.Node.getParentNode()方法的一些代码示例,展示了Node.getParentNode()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Node.getParentNode()方法的具体详情如下:
包路径:com.github.javaparser.ast.Node
类名称:Node
方法名:getParentNode

Node.getParentNode介绍

暂无

代码示例

代码示例来源:origin: org.wisdom-framework/wisdom-source-model

  1. private ClassOrInterfaceDeclaration getClassDeclarationOf(Node n) {
  2. while(!(n instanceof ClassOrInterfaceDeclaration)) {
  3. n = n.getParentNode();
  4. }
  5. return (ClassOrInterfaceDeclaration) n;
  6. }
  7. }

代码示例来源:origin: org.jooby/jooby-spec

  1. private Node root(final Node n) {
  2. Node prev = n;
  3. Node it = n;
  4. while (it != null) {
  5. prev = it;
  6. it = it.getParentNode();
  7. }
  8. return prev;
  9. }

代码示例来源:origin: org.jooby/jooby-spec

  1. private Node root(final Node n) {
  2. Node prev = n;
  3. Node it = n;
  4. while (it != null) {
  5. prev = it;
  6. it = it.getParentNode();
  7. }
  8. return prev;
  9. }
  10. }

代码示例来源:origin: org.jooby/jooby-spec

  1. private Node root(final Node n) {
  2. Node prev = n;
  3. Node it = n;
  4. while (it != null) {
  5. prev = it;
  6. it = it.getParentNode();
  7. }
  8. return prev;
  9. }

代码示例来源:origin: javaparser/javasymbolsolver

  1. public static Node getParentNode(Node node) {
  2. Node parent = node.getParentNode().orElse(null);
  3. return parent;
  4. }

代码示例来源:origin: javaparser/javasymbolsolver

  1. private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  2. if (node.getParentNode().isPresent()) {
  3. return parentClass.isInstance(node.getParentNode().get());
  4. } else {
  5. return false;
  6. }
  7. }

代码示例来源:origin: com.github.javaparser/java-symbol-solver-core

  1. private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  2. if (node.getParentNode().isPresent()) {
  3. return parentClass.isInstance(node.getParentNode().get());
  4. } else {
  5. return false;
  6. }
  7. }

代码示例来源:origin: com.github.javaparser/javaparser-symbol-solver-core

  1. private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  2. if (node.getParentNode().isPresent()) {
  3. return parentClass.isInstance(node.getParentNode().get());
  4. } else {
  5. return false;
  6. }
  7. }

代码示例来源:origin: com.github.javaparser/javaparser-symbol-solver-core

  1. /**
  2. * @deprecated use Node.getParentNode
  3. */
  4. @Deprecated
  5. public static Node getParentNode(Node node) {
  6. return node.getParentNode().orElse(null);
  7. }

代码示例来源:origin: javaparser/javasymbolsolver

  1. public static <N extends Node> Optional<N> findAncestor(Node node, Class<N> clazz) {
  2. if (!node.getParentNode().isPresent()) {
  3. return Optional.empty();
  4. } else if (clazz.isInstance(node.getParentNode().get())) {
  5. return Optional.of(clazz.cast(node.getParentNode().get()));
  6. } else {
  7. return findAncestor(node.getParentNode().get(), clazz);
  8. }
  9. }

代码示例来源:origin: com.github.javaparser/javaparser-symbol-solver-core

  1. private static <P extends Node, C extends Node> boolean whenParentIs(Class<P> parentClass,
  2. C child,
  3. PredicateOnParentAndChild<P, C> predicate) {
  4. if (child.getParentNode().isPresent()) {
  5. Node parent = child.getParentNode().get();
  6. return parentClass.isInstance(parent) && predicate.isSatisfied(parentClass.cast(parent), child);
  7. } else {
  8. return false;
  9. }
  10. }

代码示例来源:origin: com.github.javaparser/java-symbol-solver-core

  1. public static <N extends Node> Optional<N> findAncestor(Node node, Class<N> clazz) {
  2. if (!node.getParentNode().isPresent()) {
  3. return Optional.empty();
  4. } else if (clazz.isInstance(node.getParentNode().get())) {
  5. return Optional.of(clazz.cast(node.getParentNode().get()));
  6. } else {
  7. return findAncestor(node.getParentNode().get(), clazz);
  8. }
  9. }

代码示例来源:origin: com.github.javaparser/javaparser-symbol-solver-core

  1. public Optional<ResolvedReferenceTypeDeclaration> containerType() {
  2. return wrappedNode
  3. .getParentNode()
  4. .map(node -> JavaParserFactory.toTypeDeclaration(node, typeSolver));
  5. }

代码示例来源:origin: com.thoughtworks.gauge/gauge-java

  1. private Node getFileElement(Node node) {
  2. if (node instanceof CompilationUnit) {
  3. return node;
  4. }
  5. return getFileElement(node.getParentNode());
  6. }

代码示例来源:origin: com.github.javaparser/java-symbol-solver-core

  1. public Optional<ResolvedReferenceTypeDeclaration> containerType() {
  2. Optional<Node> parent = wrappedNode.getParentNode();
  3. return parent.isPresent() ?
  4. Optional.of(JavaParserFactory.toTypeDeclaration(parent.get(), typeSolver)) :
  5. Optional.empty();
  6. }

代码示例来源:origin: org.jooby/jooby-spec

  1. private ClassOrInterfaceDeclaration clazz(final MethodDeclaration method) {
  2. Node node = method.getParentNode();
  3. while (!(node instanceof ClassOrInterfaceDeclaration)) {
  4. node = node.getParentNode();
  5. }
  6. return (ClassOrInterfaceDeclaration) node;
  7. }

代码示例来源:origin: javaparser/javasymbolsolver

  1. public Optional<ResolvedReferenceTypeDeclaration> containerType() {
  2. Optional<Node> parent = wrappedNode.getParentNode();
  3. return parent.isPresent() ?
  4. Optional.of(JavaParserFactory.toTypeDeclaration(parent.get(), typeSolver)) :
  5. Optional.empty();
  6. }

代码示例来源:origin: getgauge/gauge-java

  1. private Node getFileElement(Node node) {
  2. if (node instanceof CompilationUnit) {
  3. return node;
  4. }
  5. return getFileElement(node.getParentNode());
  6. }

代码示例来源:origin: org.jooby/jooby-spec

  1. private String summary(final MethodCallExpr it, final Context ctx) {
  2. return usePath(it)
  3. .map(use -> {
  4. Node node = use;
  5. while (!(node instanceof ExpressionStmt)) {
  6. node = node.getParentNode();
  7. }
  8. return node == null ? null : (String) doc(node, ctx).get("@text");
  9. }).orElse(null);
  10. }

代码示例来源:origin: com.github.javaparser/javaparser-symbol-solver-core

  1. static String getPackageName(Node container) {
  2. if (container instanceof CompilationUnit) {
  3. Optional<PackageDeclaration> p = ((CompilationUnit) container).getPackageDeclaration();
  4. if (p.isPresent()) {
  5. return p.get().getName().toString();
  6. }
  7. } else if (container != null) {
  8. return getPackageName(container.getParentNode().orElse(null));
  9. }
  10. return "";
  11. }

相关文章