Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit91fec76

Browse files
Add LPP tests for flexible constructor bodies
1 parent6e664f4 commit91fec76

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

‎javaparser-core-testing/src/test/java/com/github/javaparser/printer/lexicalpreservation/transformations/ast/body/ConstructorDeclarationTransformationsTest.java‎

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@
2525
importstaticcom.github.javaparser.ast.Modifier.Keyword.PUBLIC;
2626
importstaticcom.github.javaparser.ast.Modifier.createModifierList;
2727

28+
importcom.github.javaparser.ParserConfiguration;
29+
importcom.github.javaparser.StaticJavaParser;
2830
importcom.github.javaparser.ast.NodeList;
2931
importcom.github.javaparser.ast.body.ConstructorDeclaration;
3032
importcom.github.javaparser.ast.body.Parameter;
3133
importcom.github.javaparser.ast.expr.SimpleName;
34+
importcom.github.javaparser.ast.stmt.ExplicitConstructorInvocationStmt;
3235
importcom.github.javaparser.ast.type.ArrayType;
3336
importcom.github.javaparser.ast.type.PrimitiveType;
3437
importcom.github.javaparser.printer.lexicalpreservation.AbstractLexicalPreservingTest;
@@ -119,5 +122,32 @@ void replacingOnlyParameter() {
119122

120123
// Body
121124

125+
@Test
126+
voidaddingConstructorInvocationAsSecondStatement() {
127+
ConstructorDeclarationcd =consider("public A() { int x; }");
128+
cd.getBody().getStatements().add(newExplicitConstructorInvocationStmt().setThis(false));
129+
assertTransformedToString("public A() { int x; super();" +System.lineSeparator() +"}",cd);
130+
}
131+
132+
@Test
133+
voidmodifyingConstructorInvocationAsSecondStatement() {
134+
StaticJavaParser.getParserConfiguration().setLanguageLevel(ParserConfiguration.LanguageLevel.JAVA_25);
135+
ConstructorDeclarationcd =consider("public A() { int x; super(); }");
136+
cd.getBody()
137+
.getStatements()
138+
.get(1)
139+
.asExplicitConstructorInvocationStmt()
140+
.setThis(true);
141+
assertTransformedToString("public A() { int x; this(); }",cd);
142+
}
143+
144+
@Test
145+
voidremovingConstructorInvocationAsSecondStatement() {
146+
StaticJavaParser.getParserConfiguration().setLanguageLevel(ParserConfiguration.LanguageLevel.JAVA_25);
147+
ConstructorDeclarationcd =consider("public A() { int x; super(); }");
148+
cd.getBody().getStatements().remove(1);
149+
assertTransformedToString("public A() { int x; }",cd);
150+
}
151+
122152
// Annotations
123153
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp