Skip to content
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

review: refactor: rework CtGenerationTest to minimize unrelated diff #5744

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

SirYwell
Copy link
Collaborator

@SirYwell SirYwell commented Apr 7, 2024

During the work on Java 21 features and #5674 we noticed that CtGenerationTest always generates diffs for the license headers and file endings.

This PR aims to clean up the code to allow generating the exactly same content, especially

  • license headers with * prefixes
  • newlines at the end of the file
  • including all template classes in the license formatter
  • update the outdated licenses

I'm not sure if it makes sense to change the printer behavior this way, I'm open for better ideas.

@@ -2625,4 +2620,9 @@ public <T, U> void setValue(T element, U value) {
castTarget(element).setAccessedType(castValue(value));
}
}

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have no clue why this changed now, feel free to debug :)

Comment on lines 69 to 74
op = s -> {
if (s.isEmpty()) {
return " *";
}
return (" * " + s);
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe this is the once in a lifetime place for s.isEmpty ? " *" : " * " + s ?

@SirYwell SirYwell marked this pull request as ready for review April 17, 2024 18:48
@SirYwell SirYwell changed the title wip: refactor: rework CtGenerationTest to minimize unrelated diff review: refactor: rework CtGenerationTest to minimize unrelated diff Apr 17, 2024
Comment on lines 228 to 245
private void configurePrinter(Launcher launcher) {
Environment environment = launcher.getEnvironment();
environment.setPrettyPrinterCreator(new Supplier<>() {
@Override
public PrettyPrinter get() {
// we want to create a printer configured for the given environment,
// but we are who creates this printer - juggle around this StackOverflowError
environment.setPrettyPrinterCreator(null);
DefaultJavaPrettyPrinter printer = (DefaultJavaPrettyPrinter) environment.createPrettyPrinter();
environment.setPrettyPrinterCreator(this);
PrinterHelper printerHelper = new PrinterHelper(environment);
printerHelper.setPrefixBlockComments(true);
printer.setPrinterTokenWriter(new DefaultTokenWriter(printerHelper));
return printer;
}
});
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you use tabs here instead of spaces to be consistent and fix the indentation of the comment?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants