Skip to content

Commit ba17543

Browse files
Merge remote-tracking branch 'origin/javacc8_without_semantic_lookahead'
# Conflicts: # build.gradle # pom.xml # src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt # src/test/resources/net/sf/jsqlparser/statement/select/oracle-tests/condition06.sql
2 parents 0f9e477 + 6a05275 commit ba17543

File tree

88 files changed

+611
-431
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+611
-431
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
server-username: MAVEN_USERNAME
4444
server-password: MAVEN_PASSWORD
4545
- name: Build with Maven
46-
run: mvn -B verify --file pom.xml -DdisableXmlReport=true -Djacoco.skip=true -Dpmd.skip=true
46+
run: mvn -B verify --file pom.xml -DdisableXmlReport=true -Djacoco.skip=true -Dpmd.skip=true -DskipTests
4747
env:
4848
MAVEN_USERNAME: ${{ secrets.OSSRHUSERNAME }}
4949
MAVEN_PASSWORD: ${{ secrets.OSSRHPASSWORD }}

build.gradle

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import com.nwalsh.gradle.saxon.SaxonXsltTask
33

44
buildscript {
55
dependencies {
6-
classpath group: 'net.sf.saxon', name: 'Saxon-HE', version: '12.5'
6+
classpath group: 'net.sf.saxon', name: 'Saxon-HE', version: 'latest.release'
77
}
88
}
99

@@ -74,12 +74,11 @@ description = 'JSQLParser library'
7474

7575
repositories {
7676
gradlePluginPortal()
77-
mavenLocal()
7877
mavenCentral()
7978

80-
// Sonatype OSSRH
79+
// JavaCC 8 Snapshots
8180
maven {
82-
url = uri('https://s01.oss.sonatype.org/content/repositories/snapshots/')
81+
url = uri('https://central.sonatype.com/repository/maven-snapshots/')
8382
}
8483

8584
maven { url "https://dev.saxonica.com/maven" }
@@ -114,11 +113,21 @@ dependencies {
114113
xmlDoclet 'com.manticore-projects.tools:xml-doclet:2.+'
115114

116115
// enforce latest version of JavaCC
117-
testImplementation 'net.java.dev.javacc:javacc:+'
118-
javacc 'net.java.dev.javacc:javacc:+'
116+
testImplementation('org.javacc:core:8.1.0-SNAPSHOT') { changing = true }
117+
testImplementation('org.javacc.generator:java:8.1.0-SNAPSHOT') { changing = true }
119118

120119
jmh 'org.openjdk.jmh:jmh-core:1.37'
121120
jmh 'org.openjdk.jmh:jmh-generator-annprocess:1.37'
121+
javacc('org.javacc:core:8.1.0-SNAPSHOT') { changing = true }
122+
javacc('org.javacc.generator:java:8.1.0-SNAPSHOT') { changing = true }
123+
}
124+
configurations.configureEach {
125+
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
126+
if (details.requested.group in ['org.javacc:core', 'org.javacc.generator']) {
127+
// Check for updates every build
128+
resolutionStrategy.cacheChangingModulesFor 30, 'seconds'
129+
}
130+
}
122131
}
123132

124133
compileJavacc {
@@ -310,6 +319,7 @@ pmd {
310319
pmdMain {
311320
excludes = [
312321
"build/generated/*"
322+
, "**/net/sf/jsqlparser/parser/SimpleCharStream.java"
313323
]
314324
}
315325
}
@@ -319,6 +329,12 @@ checkstyle {
319329
configFile = rootProject.file('config/checkstyle/checkstyle.xml')
320330
}
321331

332+
tasks.named('checkstyleMain') {
333+
source = source.filter {
334+
!it.absolutePath.contains('net/sf/jsqlparser/parser/SimpleCharStream.java')
335+
}
336+
}
337+
322338
spotless {
323339
// optional: limit format enforcement to just the files changed by this feature branch
324340
ratchetFrom 'origin/master'
@@ -448,15 +464,15 @@ tasks.register('updateKeywords', JavaExec) {
448464
dependsOn(compileJava)
449465
}
450466

451-
task xslt(type: SaxonXsltTask) {
467+
tasks.register('xslt', SaxonXsltTask) {
452468
def outFile = version.endsWith("-SNAPSHOT")
453-
? file("src/site/sphinx/syntax_snapshot.rst")
454-
: file("src/site/sphinx/syntax_stable.rst")
469+
? file("src/site/sphinx/syntax_snapshot.rst")
470+
: file("src/site/sphinx/syntax_stable.rst")
455471

456472
dependsOn(renderRR)
457473
stylesheet file('src/main/resources/rr/xhtml2rst.xsl')
458474

459-
parameters (
475+
parameters(
460476
"withFloatingToc": System.getenv().getOrDefault("FLOATING_TOC", "true"),
461477
"isSnapshot": Boolean.toString(version.endsWith("-SNAPSHOT"))
462478
)

pom.xml

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,30 @@
2424
</license>
2525
</licenses>
2626

27+
<repositories>
28+
<repository>
29+
<id>javacc8-snapshots</id>
30+
<snapshots>
31+
<enabled>true</enabled>
32+
</snapshots>
33+
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
34+
</repository>
35+
</repositories>
36+
2737
<dependencies>
2838
<!-- needed for parsing the Keywords via JTree in ParserKeywordsUtils -->
2939
<dependency>
30-
<groupId>net.java.dev.javacc</groupId>
31-
<artifactId>javacc</artifactId>
32-
<version>7.0.13</version>
40+
<groupId>org.javacc</groupId>
41+
<artifactId>core</artifactId>
42+
<version>8.1.0-SNAPSHOT</version>
43+
<type>pom</type>
44+
<scope>test</scope>
45+
</dependency>
46+
<dependency>
47+
<groupId>org.javacc.generator</groupId>
48+
<artifactId>java</artifactId>
49+
<version>8.1.0-SNAPSHOT</version>
50+
<type>pom</type>
3351
<scope>test</scope>
3452
</dependency>
3553
<dependency>
@@ -157,6 +175,7 @@
157175
<excludes>
158176
<exclude>**/*Bean.java</exclude>
159177
<exclude>**/generated/*.java</exclude>
178+
<exclude>**/net/sf/jsqlparser/parser/SimpleCharStream.java</exclude>
160179
</excludes>
161180
<excludeRoots>
162181
<excludeRoot>target/generated-sources</excludeRoot>
@@ -241,17 +260,20 @@
241260
<goal>jjtree-javacc</goal>
242261
</goals>
243262
<configuration>
244-
<grammarEncoding>UTF-8</grammarEncoding>
245-
<isStatic>false</isStatic>
246-
<jdkVersion>1.8</jdkVersion>
263+
<codeGenerator>java</codeGenerator>
247264
</configuration>
248265
</execution>
249266
</executions>
250267
<dependencies>
251268
<dependency>
252-
<groupId>net.java.dev.javacc</groupId>
253-
<artifactId>javacc</artifactId>
254-
<version>[7.0.13,8)</version>
269+
<groupId>org.javacc.generator</groupId>
270+
<artifactId>java</artifactId>
271+
<version>8.1.0-SNAPSHOT</version>
272+
</dependency>
273+
<dependency>
274+
<groupId>org.javacc</groupId>
275+
<artifactId>core</artifactId>
276+
<version>8.1.0-SNAPSHOT</version>
255277
</dependency>
256278
</dependencies>
257279
</plugin>
@@ -561,7 +583,7 @@
561583
<logViolationsToConsole>true</logViolationsToConsole>
562584
<includeTestSourceDirectory>true</includeTestSourceDirectory>
563585
<sourceDirectories>${project.build.sourceDirectory}</sourceDirectories>
564-
<excludes>**/module-info.java</excludes>
586+
<excludes>**/module-info.java,**/net/sf/jsqlparser/parser/SimpleCharStream.java</excludes>
565587
<checkstyleRules>
566588
<module name="Checker">
567589
<module name="SuppressWarningsFilter" />

src/main/java/net/sf/jsqlparser/expression/operators/relational/ExpressionList.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import net.sf.jsqlparser.expression.Expression;
1313
import net.sf.jsqlparser.expression.ExpressionVisitor;
14-
import net.sf.jsqlparser.parser.SimpleNode;
14+
import net.sf.jsqlparser.parser.Node;
1515

1616
import java.io.Serializable;
1717
import java.util.ArrayList;
@@ -24,7 +24,7 @@
2424
*/
2525
public class ExpressionList<T extends Expression> extends ArrayList<T>
2626
implements Expression, Serializable {
27-
private transient SimpleNode node;
27+
private transient Node node;
2828

2929
public ExpressionList(Collection<? extends T> expressions) {
3030
addAll(expressions);
@@ -96,12 +96,12 @@ public String toString() {
9696

9797

9898
@Override
99-
public SimpleNode getASTNode() {
99+
public Node getASTNode() {
100100
return node;
101101
}
102102

103103
@Override
104-
public void setASTNode(SimpleNode node) {
104+
public void setASTNode(Node node) {
105105
this.node = node;
106106
}
107107

src/main/java/net/sf/jsqlparser/parser/ASTNodeAccess.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
public interface ASTNodeAccess extends Serializable {
1515

16-
SimpleNode getASTNode();
16+
Node getASTNode();
1717

18-
void setASTNode(SimpleNode node);
18+
void setASTNode(Node node);
1919
}

src/main/java/net/sf/jsqlparser/parser/ASTNodeAccessImpl.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,26 @@
1414

1515
public class ASTNodeAccessImpl implements ASTNodeAccess {
1616

17-
private transient SimpleNode node;
17+
private transient Node node;
1818

1919
@Override
20-
public SimpleNode getASTNode() {
20+
public Node getASTNode() {
2121
return node;
2222
}
2323

2424
@Override
25-
public void setASTNode(SimpleNode node) {
25+
public void setASTNode(Node node) {
2626
this.node = node;
2727
}
2828

2929
public StringBuilder appendTo(StringBuilder builder) {
3030
// don't add spaces around the following punctuation
3131
final Set<String> punctuation = new TreeSet<>(Set.of(".", "[", "]"));
3232

33-
SimpleNode simpleNode = getASTNode();
34-
if (simpleNode != null) {
35-
Token token = simpleNode.jjtGetFirstToken();
36-
Token lastToken = simpleNode.jjtGetLastToken();
33+
Node Node = getASTNode();
34+
if (Node != null) {
35+
Token token = Node.jjtGetFirstToken();
36+
Token lastToken = Node.jjtGetLastToken();
3737
Token prevToken = null;
3838
while (token.next != null && token.absoluteEnd <= lastToken.absoluteEnd) {
3939
if (!punctuation.contains(token.image)
@@ -49,18 +49,18 @@ public StringBuilder appendTo(StringBuilder builder) {
4949
}
5050

5151
public ASTNodeAccess getParent() {
52-
SimpleNode parent = (SimpleNode) node.jjtGetParent();
52+
Node parent = (Node) node.jjtGetParent();
5353
while (parent.jjtGetValue() == null) {
54-
parent = (SimpleNode) parent.jjtGetParent();
54+
parent = (Node) parent.jjtGetParent();
5555
}
5656

5757
return ASTNodeAccess.class.cast(parent.jjtGetValue());
5858
}
5959

6060
public <T extends ASTNodeAccess> T getParent(Class<T> clazz) {
61-
SimpleNode parent = (SimpleNode) node.jjtGetParent();
61+
Node parent = (Node) node.jjtGetParent();
6262
while (parent.jjtGetValue() == null || !clazz.isInstance(parent.jjtGetValue())) {
63-
parent = (SimpleNode) parent.jjtGetParent();
63+
parent = (Node) parent.jjtGetParent();
6464
}
6565

6666
return clazz.cast(parent.jjtGetValue());

0 commit comments

Comments
 (0)