Skip to content

Commit

Permalink
Merge branch 'master' into dependabot/maven/biz.aQute.bnd-bnd-maven-p…
Browse files Browse the repository at this point in the history
…lugin-5.1.2
  • Loading branch information
maartenc committed Sep 30, 2020
2 parents 0e8addb + 3f4fb43 commit 759da0c
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 2 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/maven_tests.yml
Expand Up @@ -27,7 +27,7 @@ jobs:
## Different JDK versions have different implementations etc. -- test on all combinations (ideally 8 to latest).
### exclude pre-8 (min development version jdk8)
### exclude post-12 (changes to jdk causes reflection tests to fail due to added methods #1701 )
jdk: [8,9,10,11,12,13,14] # [8,9,10,11,12,13,14,15-ea]
jdk: [8,9,10,11,12,13,14,15]

runs-on: ${{ matrix.os }}

Expand Down
@@ -0,0 +1,59 @@

/*
* Copyright (C) 2015-2016 Federico Tomassetti
* Copyright (C) 2017-2019 The JavaParser Team.
*
* This file is part of JavaParser.
*
* JavaParser can be used either under the terms of
* a) the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* b) the terms of the Apache License
*
* You should have received a copy of both licenses in LICENCE.LGPL and
* LICENCE.APACHE. Please refer to those files for details.
*
* JavaParser is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/

package com.github.javaparser.printer.lexicalpreservation;

import static org.hamcrest.CoreMatchers.equalTo;
import static org.hamcrest.MatcherAssert.assertThat;

import org.junit.jupiter.api.Test;

import com.github.javaparser.JavaParser;
import com.github.javaparser.ParserConfiguration;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.ImportDeclaration;

class Issue2806Test {

private JavaParser javaParser;

@Test
void importIsAddedOnTheSameLine() {
String junit4 = "import java.lang.IllegalArgumentException;\n" +
"\n" +
"public class A {\n" +
"}";
String junit5 = "import java.lang.IllegalArgumentException;\n" +
"import java.nio.file.Paths;\n" +
"\n" +
"public class A {\n" +
"}";
JavaParser parser = new JavaParser(new ParserConfiguration().setLexicalPreservationEnabled(true));
CompilationUnit cu = parser.parse(junit4).getResult().get();
LexicalPreservingPrinter.setup(cu);
ImportDeclaration importDeclaration = new ImportDeclaration("java.nio.file.Paths", false, false);
CompilationUnit compilationUnit = cu.addImport(importDeclaration);
String out = LexicalPreservingPrinter.print(compilationUnit);
assertThat(out, equalTo(junit5));
}

}
Expand Up @@ -558,7 +558,7 @@ public void ifVariableDeclarationExpr(Consumer<VariableDeclarationExpr> action)
}

/**
* This constructor is used by the parser and is considered private.
* returns the type associated with the node.
*/
public ResolvedType calculateResolvedType() {
return getSymbolResolver().calculateType(this);
Expand Down
Expand Up @@ -506,6 +506,9 @@ private void applyKeptDiffElement(Kept kept, TextElement originalElement, boolea
if (kept.getTokenType() == originalTextToken.getTokenKind()) {
originalIndex++;
diffIndex++;
} else if (kept.isNewLine() && originalTextToken.isNewline()) {
originalIndex++;
diffIndex++;
} else if (kept.isNewLine() && originalTextToken.isSpaceOrTab()) {
originalIndex++;
diffIndex++;
Expand Down

0 comments on commit 759da0c

Please sign in to comment.