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

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

本文整理了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

private ClassOrInterfaceDeclaration getClassDeclarationOf(Node n) {
    while(!(n instanceof ClassOrInterfaceDeclaration)) {
      n = n.getParentNode();
    }
    return (ClassOrInterfaceDeclaration) n;
  }
}

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

private Node root(final Node n) {
 Node prev = n;
 Node it = n;
 while (it != null) {
  prev = it;
  it = it.getParentNode();
 }
 return prev;
}

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

private Node root(final Node n) {
  Node prev = n;
  Node it = n;
  while (it != null) {
   prev = it;
   it = it.getParentNode();
  }
  return prev;
 }
}

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

private Node root(final Node n) {
 Node prev = n;
 Node it = n;
 while (it != null) {
  prev = it;
  it = it.getParentNode();
 }
 return prev;
}

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

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

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

private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  if (node.getParentNode().isPresent()) {
    return parentClass.isInstance(node.getParentNode().get());
  } else {
    return false;
  }
}

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

private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  if (node.getParentNode().isPresent()) {
    return parentClass.isInstance(node.getParentNode().get());
  } else {
    return false;
  }
}

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

private <P extends Node> boolean parentIs(Node node, Class<P> parentClass) {
  if (node.getParentNode().isPresent()) {
    return parentClass.isInstance(node.getParentNode().get());
  } else {
    return false;
  }
}

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

/**
 * @deprecated use Node.getParentNode
 */
@Deprecated
public static Node getParentNode(Node node) {
  return node.getParentNode().orElse(null);
}

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

public static <N extends Node> Optional<N> findAncestor(Node node, Class<N> clazz) {
  if (!node.getParentNode().isPresent()) {
    return Optional.empty();
  } else if (clazz.isInstance(node.getParentNode().get())) {
    return Optional.of(clazz.cast(node.getParentNode().get()));
  } else {
    return findAncestor(node.getParentNode().get(), clazz);
  }
}

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

private static <P extends Node, C extends Node> boolean whenParentIs(Class<P> parentClass,
                                   C child,
                                   PredicateOnParentAndChild<P, C> predicate) {
  if (child.getParentNode().isPresent()) {
    Node parent = child.getParentNode().get();
    return parentClass.isInstance(parent) && predicate.isSatisfied(parentClass.cast(parent), child);
  } else {
    return false;
  }
}

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

public static <N extends Node> Optional<N> findAncestor(Node node, Class<N> clazz) {
  if (!node.getParentNode().isPresent()) {
    return Optional.empty();
  } else if (clazz.isInstance(node.getParentNode().get())) {
    return Optional.of(clazz.cast(node.getParentNode().get()));
  } else {
    return findAncestor(node.getParentNode().get(), clazz);
  }
}

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

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

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

private Node getFileElement(Node node) {
  if (node instanceof CompilationUnit) {
    return node;
  }
  return getFileElement(node.getParentNode());
}

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

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

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

private ClassOrInterfaceDeclaration clazz(final MethodDeclaration method) {
 Node node = method.getParentNode();
 while (!(node instanceof ClassOrInterfaceDeclaration)) {
  node = node.getParentNode();
 }
 return (ClassOrInterfaceDeclaration) node;
}

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

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

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

private Node getFileElement(Node node) {
  if (node instanceof CompilationUnit) {
    return node;
  }
  return getFileElement(node.getParentNode());
}

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

private String summary(final MethodCallExpr it, final Context ctx) {
 return usePath(it)
   .map(use -> {
    Node node = use;
    while (!(node instanceof ExpressionStmt)) {
     node = node.getParentNode();
    }
    return node == null ? null : (String) doc(node, ctx).get("@text");
   }).orElse(null);
}

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

static String getPackageName(Node container) {
  if (container instanceof CompilationUnit) {
    Optional<PackageDeclaration> p = ((CompilationUnit) container).getPackageDeclaration();
    if (p.isPresent()) {
      return p.get().getName().toString();
    }
  } else if (container != null) {
    return getPackageName(container.getParentNode().orElse(null));
  }
  return "";
}

相关文章