Skip to content

SymbolInformation returned not accurate for annotation search #175

@cmoulliard

Description

@cmoulliard

Issue

I'm working a PR to add more tests to this project and when I execute the following query for an annotation, I got a response which is not fully correct.

Here is the class parsed: https://github.com/snowdrop/migration-tool/blob/main/applications/spring-boot-todo-app/src/main/java/com/todo/app/controller/TaskController.java#L77
and code

    @PostMapping("/home")
    @ResponseBody
    public ResponseEntity<List<Task>> createTask(@RequestBody Task task) {
        taskService.addTask(task);
        List<Task> tasks = taskService.getAllTasks();
        return ResponseEntity.ok(tasks);
    }

The search engine is returning as Symbol the first annotation @PostMapping and not the 2nd @ResponseBody.

Query: org.springframework.web.bind.annotation.ResponseBody, location: 4

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-11-07 11:41:29.344
!MESSAGE FQDN from code select: org.springframework.web.bind.annotation.ResponseBody

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-11-07 11:41:29.345
!MESSAGE KONVEYOR_LOG: Got: 2 Number of search matching the query: "org.springframework.web.bind.annotation.ResponseBody" and location type: 4

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-11-07 11:41:29.345
!MESSAGE KONVEYOR_LOG: Results size: 1

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-11-07 11:41:29.347
!MESSAGE KONVEYOR_LOG:
-------------------------
Symbol name: PostMapping
kind: Property
Location: Location [
  uri = "file:///Users/cmoullia/code/application-modernisation/02_konveyor/fork-java-analyzer-bundle/java-analyzer-bundle.test/target/workingProjects/maven/springboot-todo/src/main/java/com/todo/app/controller/TaskController.java"
  range = Range [
    start = Position [
      line = 76
      character = 5
    ]
    end = Position [
      line = 76
      character = 17
    ]
  ]
]
%TESTE  2,shouldMatchSpringResponseBodyAnnotationTest(io.konveyor.tackle.core.test.JavaAnnotationTest)
%RUNTIME5599

Query: ResponseBody, location: 4

!MESSAGE KONVEYOR_LOG: Got: 2 Number of search matching the query: "ResponseBody" and location type: 4
!MESSAGE KONVEYOR_LOG: Results size: 2
!MESSAGE KONVEYOR_LOG:
-------------------------
Symbol name: PostMapping
kind: Property
Location: Location [
  uri = "file:///Users/cmoullia/code/application-modernisation/02_konveyor/fork-java-analyzer-bundle/java-analyzer-bundle.test/target/workingProjects/maven/springboot-todo/src/main/java/com/todo/app/controller/TaskController.java"
  range = Range [
    start = Position [
      line = 76
      character = 5
    ]
    end = Position [
      line = 76
      character = 17
    ]
  ]
]
-------------------------
Symbol name: ResponseBody
kind: Property
Location: Location [
  uri = "file:///Users/cmoullia/code/application-modernisation/02_konveyor/fork-java-analyzer-bundle/java-analyzer-bundle.test/target/workingProjects/maven/springboot-todo/src/main/java/com/todo/app/controller/TaskController.java"
  range = Range [
    start = Position [
      line = 76
      character = 5
    ]
    end = Position [
      line = 76
      character = 17
    ]
  ]
]

Metadata

Metadata

Assignees

Labels

kind/bugCategorizes issue or PR as related to a bug.priority/important-soonMust be staffed and worked on either currently, or very soon, ideally in time for the next release.triage/acceptedIndicates an issue or PR is ready to be actively worked on.

Type

No type

Projects

Status

🆕 New

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions