lin
2025-07-30 fcd736bf35fd93b563e9bbf594f2aa7b62028cc9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package me.tomassetti.symbolsolver.javaparser;
 
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.Node;
import com.github.javaparser.ast.body.BodyDeclaration;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
import com.github.javaparser.ast.body.TypeDeclaration;
import com.github.javaparser.ast.expr.NameExpr;
 
import java.util.Optional;
 
/**
 * This class can be used to conveniently retrieve certain node from a JavaParser AST.
 */
public final class Navigator {
 
    private Navigator() {
        // prevent instantiation
    }
 
    public static Optional<TypeDeclaration> findType(CompilationUnit cu, String name) {
        return cu.getTypes().stream().filter((t) -> t.getName().equals(name)).findFirst();
    }
 
}