-
-
Notifications
You must be signed in to change notification settings - Fork 342
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Java 7: pretty-print multi catch "catch (IndexOutOfBoundsException | UncheckedException)" #97
Comments
Hi, I'd prefer the keep the Java 7 syntax to keep an as strong as possible consistency between the source code and the pretty-printed one. Else if you replace the Java 7 syntax by Java 6, one could argue the other constructs, e.g. Java 5 foreach or generics, should also be replaced by a Java 4 compatible syntax. Lionel. |
I would like to have the ability to set up the target java version. If I set java 6 it'll try to write everything with tha java 6 syntax. The same goes for java 5, 7 and 8. I think everything lower than java 5 isn't that important anymore. That would help to converter a project from java 6 to java 7 or the other way around. |
@boeserwolf91 Your proposal is very interesting: transform some projects from a Java version to another version but, for me, it is a different feature. I'm agree with @seintur. By default (and for the scope of this issue about the compatibility of java 7), we keep the Java version of the source project ready to be spooned. And I create another issue to keep your idea @boeserwolf91 for the future. Ok for everyone? |
+1 |
yes, I'm okay with it @GerardPaligot 👍 |
Hi @monperrus You changed the title of this issue to "Java 7: pretty-print...". This suggests that you consider this as a pretty-printing issue. Couldn't we consider that this a transformation issue? For example, we could design processors that transform a Java 7 program to a Java 6 compliant one, the same for Java 5 to Java 4, etc. By this way, the question of the compliance to a particular version of Java would be handled at the processor level. Note that this wouldn't prevent the "kernel" of Spoon of applying the processor if requested by the command line arguments, or Maven parameters, specified by the developer. WDYT? |
Hi Lionel @seintur, I want to make it clear that there are two different issues:
The former is much more important than the latter, since Spoon rewritten code is not meant to be read (no preservation of formatting, of comments, poor support of "imports") |
The PR #98 is now finished. The output of a multi catch is a valid Java 7 syntax. This PR can be closed when the PR will be merged. |
For the support of java 7, spoon must support multi catch. It support already (yeah!) but not totally. Here is an example to illustrate the "problem":
TryCatchExample
is a class ready to be spooned.The output of spoon is:
So, when spoon detects a multi catch, it replaces with java 6 syntax. So the result is valid and support java 7 but the output isn't java 7.
Good thing or not? I would like reviews about this from the community. :)
The text was updated successfully, but these errors were encountered: