manifold-systems / manifold

Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.
http://manifold.systems/
Apache License 2.0
2.28k stars 122 forks source link

Manifold "inliner" tool #95

Open marciodel opened 5 years ago

marciodel commented 5 years ago

Is there a plan to support something similar to Delombok? It would be good for projects using GWT, J2CL, JSweet, J2Objc, etc.

rsmckinney commented 5 years ago

Yes, after the first major release of Manifold there are plans to provide an "inliner" source-level tool for most of Manifold. For instance, extension features such as extension methods, type-safe reflection, and string interpolation can be straightforwardly inlined with standard, boilerplate source code. More advanced features involving type-safe metaprogramming (GraphQL, JSON Schema, SQL, etc.) will likely involve higher level changes e.g., execute Manifold as a conventional code generation step.

rsmckinney commented 4 years ago

Update

181 (Android and Kotlin support) also provides the compile/runtime API divide necessary to implement this request. #181 is comping in the next release; I'll implement this soon after.

JorgeCepeda commented 9 months ago

Are there news on this tool?

rsmckinney commented 9 months ago

This subproject is on the back burner for now. The work accomplished so far is focused on making source available for type manifolds, preprocessor, and other features that produce/modify source. See dumping source.

Features that modify bytecode are next, but there are no near-term plans to begin working on this. Currently, focus is on manifold-sql, which will be released November 2023.