Search in sources :

Example 6 with Name

use of com.github.javaparser.ast.expr.Name in project javaparser by javaparser.

the class NodeListTest method replace.

@Test
public void replace() {
    final NodeList<Name> list = nodeList(new Name("a"), new Name("b"), new Name("c"));
    final boolean replaced = list.replace(new Name("b"), new Name("z"));
    assertEquals(true, replaced);
    assertEquals(3, list.size());
    assertEquals("a", list.get(0).asString());
    assertEquals("z", list.get(1).asString());
    assertEquals("c", list.get(2).asString());
}
Also used : SimpleName(com.github.javaparser.ast.expr.SimpleName) Name(com.github.javaparser.ast.expr.Name) Test(org.junit.Test)

Example 7 with Name

use of com.github.javaparser.ast.expr.Name in project javaparser by javaparser.

the class NodeListTest method addBefore.

@Test
public void addBefore() {
    Name n = new Name("bcd");
    final NodeList<Name> list = nodeList(new Name("abc"), n, new Name("cde"));
    list.addBefore(new Name("xxx"), n);
    assertEquals("[abc, xxx, bcd, cde]", list.toString());
}
Also used : SimpleName(com.github.javaparser.ast.expr.SimpleName) Name(com.github.javaparser.ast.expr.Name) Test(org.junit.Test)

Example 8 with Name

use of com.github.javaparser.ast.expr.Name in project javaparser by javaparser.

the class CompilationUnitContext method solveMethod.

@Override
public SymbolReference<ResolvedMethodDeclaration> solveMethod(String name, List<ResolvedType> argumentsTypes, boolean staticOnly, TypeSolver typeSolver) {
    for (ImportDeclaration importDecl : wrappedNode.getImports()) {
        if (importDecl.isStatic()) {
            if (importDecl.isAsterisk()) {
                String importString = importDecl.getNameAsString();
                if (this.wrappedNode.getPackageDeclaration().isPresent() && this.wrappedNode.getPackageDeclaration().get().getName().getIdentifier().equals(packageName(importString)) && this.wrappedNode.getTypes().stream().anyMatch(it -> it.getName().getIdentifier().equals(toSimpleName(importString)))) {
                    // a lower level so this will fail
                    return SymbolReference.unsolved(ResolvedMethodDeclaration.class);
                }
                ResolvedTypeDeclaration ref = typeSolver.solveType(importString);
                SymbolReference<ResolvedMethodDeclaration> method = MethodResolutionLogic.solveMethodInType(ref, name, argumentsTypes, true, typeSolver);
                if (method.isSolved()) {
                    return method;
                }
            } else {
                String qName = importDecl.getNameAsString();
                if (qName.equals(name) || qName.endsWith("." + name)) {
                    String typeName = getType(qName);
                    ResolvedTypeDeclaration ref = typeSolver.solveType(typeName);
                    SymbolReference<ResolvedMethodDeclaration> method = MethodResolutionLogic.solveMethodInType(ref, name, argumentsTypes, true, typeSolver);
                    if (method.isSolved()) {
                        return method;
                    }
                }
            }
        }
    }
    return SymbolReference.unsolved(ResolvedMethodDeclaration.class);
}
Also used : ClassOrInterfaceType(com.github.javaparser.ast.type.ClassOrInterfaceType) JavaParserFacade(com.github.javaparser.symbolsolver.javaparsermodel.JavaParserFacade) ResolvedMethodDeclaration(com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration) TypeDeclaration(com.github.javaparser.ast.body.TypeDeclaration) JavaParserAnnotationDeclaration(com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserAnnotationDeclaration) TypeSolver(com.github.javaparser.symbolsolver.model.resolution.TypeSolver) MethodCallExpr(com.github.javaparser.ast.expr.MethodCallExpr) Name(com.github.javaparser.ast.expr.Name) ResolvedTypeDeclaration(com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration) EnumDeclaration(com.github.javaparser.ast.body.EnumDeclaration) ResolvedValueDeclaration(com.github.javaparser.resolution.declarations.ResolvedValueDeclaration) ImportDeclaration(com.github.javaparser.ast.ImportDeclaration) List(java.util.List) ResolvedReferenceTypeDeclaration(com.github.javaparser.resolution.declarations.ResolvedReferenceTypeDeclaration) ResolvedType(com.github.javaparser.resolution.types.ResolvedType) MethodResolutionLogic(com.github.javaparser.symbolsolver.resolution.MethodResolutionLogic) SymbolReference(com.github.javaparser.symbolsolver.model.resolution.SymbolReference) CompilationUnit(com.github.javaparser.ast.CompilationUnit) AnnotationDeclaration(com.github.javaparser.ast.body.AnnotationDeclaration) SymbolSolver(com.github.javaparser.symbolsolver.resolution.SymbolSolver) ClassOrInterfaceDeclaration(com.github.javaparser.ast.body.ClassOrInterfaceDeclaration) JavaParserEnumDeclaration(com.github.javaparser.symbolsolver.javaparsermodel.declarations.JavaParserEnumDeclaration) ImportDeclaration(com.github.javaparser.ast.ImportDeclaration) ResolvedTypeDeclaration(com.github.javaparser.resolution.declarations.ResolvedTypeDeclaration) ResolvedMethodDeclaration(com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration)

Example 9 with Name

use of com.github.javaparser.ast.expr.Name in project javaparser by javaparser.

the class AnnotationMemberDeclarationTransformationsTest method replacingAnnotation.

@Test
public void replacingAnnotation() {
    AnnotationMemberDeclaration it = consider("@myAnno int foo();");
    it.getAnnotations().set(0, new NormalAnnotationExpr(new Name("myOtherAnno"), new NodeList<>()));
    assertTransformedToString("@myOtherAnno() int foo();", it);
}
Also used : NodeList(com.github.javaparser.ast.NodeList) NormalAnnotationExpr(com.github.javaparser.ast.expr.NormalAnnotationExpr) AnnotationMemberDeclaration(com.github.javaparser.ast.body.AnnotationMemberDeclaration) Name(com.github.javaparser.ast.expr.Name) Test(org.junit.Test) AbstractLexicalPreservingTest(com.github.javaparser.printer.lexicalpreservation.AbstractLexicalPreservingTest)

Example 10 with Name

use of com.github.javaparser.ast.expr.Name in project javaparser by javaparser.

the class NodeListTest method addLast.

@Test
public void addLast() {
    final NodeList<Name> list = nodeList(new Name("abc"), new Name("bcd"), new Name("cde"));
    list.addLast(new Name("xxx"));
    assertEquals("[abc, bcd, cde, xxx]", list.toString());
}
Also used : SimpleName(com.github.javaparser.ast.expr.SimpleName) Name(com.github.javaparser.ast.expr.Name) Test(org.junit.Test)

Aggregations

Name (com.github.javaparser.ast.expr.Name)14 Test (org.junit.Test)13 SimpleName (com.github.javaparser.ast.expr.SimpleName)8 AbstractLexicalPreservingTest (com.github.javaparser.printer.lexicalpreservation.AbstractLexicalPreservingTest)4 CompilationUnit (com.github.javaparser.ast.CompilationUnit)2 NodeList (com.github.javaparser.ast.NodeList)2 PackageDeclaration (com.github.javaparser.ast.PackageDeclaration)2 NormalAnnotationExpr (com.github.javaparser.ast.expr.NormalAnnotationExpr)2 ClassOrInterfaceType (com.github.javaparser.ast.type.ClassOrInterfaceType)2 JavaParser.parseClassOrInterfaceType (com.github.javaparser.JavaParser.parseClassOrInterfaceType)1 JavaParser.parseName (com.github.javaparser.JavaParser.parseName)1 ArrayCreationLevel (com.github.javaparser.ast.ArrayCreationLevel)1 ImportDeclaration (com.github.javaparser.ast.ImportDeclaration)1 AnnotationDeclaration (com.github.javaparser.ast.body.AnnotationDeclaration)1 AnnotationMemberDeclaration (com.github.javaparser.ast.body.AnnotationMemberDeclaration)1 ClassOrInterfaceDeclaration (com.github.javaparser.ast.body.ClassOrInterfaceDeclaration)1 EnumDeclaration (com.github.javaparser.ast.body.EnumDeclaration)1 TypeDeclaration (com.github.javaparser.ast.body.TypeDeclaration)1 IntegerLiteralExpr (com.github.javaparser.ast.expr.IntegerLiteralExpr)1 MarkerAnnotationExpr (com.github.javaparser.ast.expr.MarkerAnnotationExpr)1