apache / apache/grails-intellij-plugin

Support of @DelegateAsync annotation

Open
#178 0 comments 0 reactions 0 assignees View on GitHub
enhancement imported-from-youtrack
Dominant language
Java
Stars
17
Forks
4
Avg merge
5d 15h
Merged PRs (30d)
4

Description

Grails 2.3 offers an AST transformation annotation `@DelegateAsync` that covers any service in async manner. More information here [http://grails.org/doc/latest/guide/async.html#promises](http://grails.org/doc/latest/guide/async.html#promises)
It would be great if IDEA support code completion and code navigation for such async services.

Example:
```
class SimpleService {
def activate() {

}
}
```
```
@DelegateAsync(SimpleService)
class AsyncSimpleService {
}
```
```
class HRequestService {
AsyncSimpleService asyncSimpleService
SimpleService simpleService

void activateHexagonRequest(HexagonRequest hexagonRequest) {
simpleService.activate()
asyncSimpleService.activate() // no code completion or code navigation
}
}
```

---

*Imported from [IDEA-133923](https://youtrack.jetbrains.com/issue/IDEA-133923) · Type: Feature · Votes: 0*
*Comments, attachments, dates and reporter are not part of the export — follow the link above for the full history.*

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the Grails @DelegateAsync documentation and the plugin's existing support for AST transformations, code completion, and navigation. Trace how delegated service methods are exposed to IntelliJ, then verify that AsyncSimpleService.activate() resolves for completion and navigation in the example.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, java
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.