We've divided the Java15 new features into three categories.

Major language changes will require lots of work throughout Soot, including Polyglot, j2j, Jasmin, Coffi. The main two are generic types and annotations. Static imports are less major, but will require disambiguation work in Polyglot.

Some features are purely syntactic sugar. They will require syntax work in Polyglot, but not much work on its passes. They will require code generation work in j2j, but once they're in Jimple, that's it.

Class constant attributes just need to be handled in coffi and jasmin to get into and out of Jimple. They require no front-end stuff.

More details on these features below:

Major language changes:

Purely syntactic sugar:

Minor Bytecode change:

Steps (in what order will we implement this stuff?)