INRIA / INRIA/spoon

feature(spoon-kotlin): use the Spoon metamodel to analyze and transform Kotlin code

Open
#2,554 15 comments 8 reactions 0 assignees View on GitHub
mastersthesis roadmap
Dominant language
Java
Stars
2k
Forks
392
Avg merge
11h 24m
Merged PRs (30d)
36

Description

Hi all,

We would like to propose a new item in the Spoon roadmap: use the Spoon metamodel to analyze and transform Kotlin code.

This would be useful because there is no major Kotlin analysis and transformation tool, with an API as powerful as Spoon's one (@martinezmatias would need this for his [research](https://arxiv.org/abs/1808.00025)). The Spoon community would reach a new target, in a super active and growing community.

This would be doable, because the concepts of Kotlin are heavily based on Java, and there is likely little information to add in the metamodel to support Kotlin. We would need to:
- Write `KotlinTreeBuilder`, based on a Kotlin parser / compiler. We could likely reuse the official one from @JetBrains.
- Write `KotlinPrettyPrinter`.

And last but not least, this would be a lot of fun!

What do you think?

--Martin (@monperrus) and Nicolas (@petitpre)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.