Skip to content

Commit a2b1d9a

Browse files
committed
Merge remote-tracking branch 'origin/main' into weigl/pckgreworked
# By Tobias Reinhold (27) and others # Via GitHub (35) and others * origin/main: (78 commits) spotless update removed default implementations for AbstractExternalSolverRuleApp around RULE field small formatting change Bump the gradle-deps group with 6 updates Bump JetBrains/qodana-action in the github-actions-deps group set version to 2.12.4-dev increase java version to 21 added missing conversion rules from javaUnaryMinusFloat/Double to negFloat/Double add AbstractExternalSolverRuleApp to allow other external solvers to close goals fixes NullPointerException, when using compareTo with locations that dont have a URI or position Bump the github-actions-deps group with 2 updates Bump the gradle-deps group with 5 updates formatting Bump the github-actions-deps group with 2 updates Bump the gradle-deps group with 8 updates spotless generating ProofTree tooltips lazily, options to disable them completely fix for visual bug with overlapping/unreadable text in color settings Fox copyright year Bump the gradle-deps group with 6 updates ... # Conflicts: # .github/workflows/code_quality.yml # build.gradle # key.ui/src/main/java/de/uka/ilkd/key/gui/WindowUserInterfaceControl.java # key.ui/src/main/java/de/uka/ilkd/key/ui/util/DoNothingCaret.java
2 parents 3ffa09d + c19bb8e commit a2b1d9a

File tree

70 files changed

+2340
-637
lines changed

Some content is hidden

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

70 files changed

+2340
-637
lines changed

.github/workflows/code_quality.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ jobs:
1919
java-version: 21
2020
distribution: 'corretto'
2121
cache: 'gradle'
22+
- name: Setup Gradle
23+
uses: gradle/actions/setup-gradle@v4.1.0
2224
- name: Build with Gradle
2325
uses: gradle/gradle-build-action@v3.3.2
2426
with:
@@ -34,6 +36,6 @@ jobs:
3436
java-version: '21'
3537
cache: 'gradle'
3638
- name: Build with Gradle
37-
uses: gradle/gradle-build-action@v3.3.2
39+
uses: gradle/gradle-build-action@v4.1.0
3840
with:
3941
arguments: --continue spotlessCheck

.github/workflows/gradle-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
2323

2424
- name: Setup Gradle
25-
uses: gradle/actions/setup-gradle@v3.3.2
25+
uses: gradle/actions/setup-gradle@v4.1.0
2626
- name: Assemble with Gradle
2727
run: ./gradlew assemble
2828

.github/workflows/javadoc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
distribution: 'corretto'
2020
cache: 'gradle'
2121
- name: Setup Gradle
22-
uses: gradle/actions/setup-gradle@v3.3.2
22+
uses: gradle/actions/setup-gradle@v4.1.0
2323
- name: Build Documentation with Gradle
2424
run: ./gradlew alldoc
2525

.github/workflows/nightlydeploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
distribution: 'temurin'
3232

3333
- name: Setup Gradle
34-
uses: gradle/actions/setup-gradle@v3.3.2
34+
uses: gradle/actions/setup-gradle@v4.1.0
3535
- name: Build with Gradle
3636
run: ./gradlew --parallel assemble
3737

.github/workflows/opttest.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
cache: 'gradle'
2626

2727
- name: Setup Gradle
28-
uses: gradle/actions/setup-gradle@v3.3.2
28+
uses: gradle/actions/setup-gradle@v4.1.0
2929
- name: Test with Gradle
3030
run: ./gradlew --continue ${{ matrix.tests }}
3131

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
cache: 'gradle'
3939

4040
- name: Setup Gradle
41-
uses: gradle/actions/setup-gradle@v3.3.2
41+
uses: gradle/actions/setup-gradle@v4.1.0
4242
- name: Test with Gradle
4343
run: ./gradlew --continue -DjacocoEnabled=true -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
4444

@@ -87,7 +87,7 @@ jobs:
8787
shell: bash
8888

8989
- name: Setup Gradle
90-
uses: gradle/actions/setup-gradle@v3.3.2
90+
uses: gradle/actions/setup-gradle@v4.1.0
9191
- name: "Running tests: ${{ matrix.test }}"
9292
run: ./gradlew --continue ${{ matrix.test }}
9393

.github/workflows/tests_winmac.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030

3131
- name: Setup Gradle
3232
uses:
33-
gradle/actions/setup-gradle@v3.3.2
33+
gradle/actions/setup-gradle@v4.1.0
3434
- name: Test with Gradle
3535
run: ./gradlew --continue -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
3636

@@ -76,7 +76,7 @@ jobs:
7676
run: .github/dlsmt.sh
7777

7878
- name: Setup Gradle
79-
uses: gradle/actions/setup-gradle@v3.3.2
79+
uses: gradle/actions/setup-gradle@v4.1.0
8080
- name: "Running tests: ${{ matrix.test }}"
8181
run: ./gradlew --continue ${{ matrix.test }}
8282

build.gradle

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ plugins {
2525

2626
// EISOP Checker Framework
2727

28-
id "org.checkerframework" version "0.6.41"
28+
id "org.checkerframework" version "0.6.45"
2929

3030
id("org.sonarqube") version "5.0.0.4638"
3131
}
@@ -52,10 +52,10 @@ static def getDate() {
5252
}
5353

5454
// The $BUILD_NUMBER is an environment variable set by Jenkins.
55-
def build = System.env.BUILD_NUMBER == null ? "" : "-${System.env.BUILD_NUMBER}"
55+
def build = System.env.BUILD_NUMBER == null ? "-dev" : "-${System.env.BUILD_NUMBER}"
5656

5757
group = "org.key-project"
58-
version = "2.13.0$build"
58+
version = "2.12.4$build"
5959

6060
subprojects {
6161
apply plugin: "java"
@@ -74,13 +74,13 @@ subprojects {
7474
version = rootProject.version
7575

7676
java {
77-
sourceCompatibility = 17
78-
targetCompatibility = 17
77+
sourceCompatibility = 21
78+
targetCompatibility = 21
7979
}
8080

8181
repositories {
8282
mavenCentral()
83-
maven { // cleary if needed?!
83+
maven {
8484
url 'https://git.key-project.org/api/v4/projects/35/packages/maven'
8585
}
8686
maven { // remove if docking frames 1.1.3p2 on Maven Central
@@ -89,44 +89,42 @@ subprojects {
8989
}
9090

9191
dependencies {
92-
implementation("org.slf4j:slf4j-api:2.0.13")
93-
implementation("org.slf4j:slf4j-api:2.0.13")
94-
testImplementation("ch.qos.logback:logback-classic:1.5.6")
92+
implementation("org.slf4j:slf4j-api:2.0.16")
93+
implementation("org.slf4j:slf4j-api:2.0.16")
94+
testImplementation("ch.qos.logback:logback-classic:1.5.12")
9595

9696
//compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.12.0'
9797
//compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.12.0'
9898

99-
compileOnly("org.jspecify:jspecify:0.3.0")
100-
testCompileOnly("org.jspecify:jspecify:0.3.0")
101-
def eisop_version = "3.42.0-eisop3"
99+
compileOnly("org.jspecify:jspecify:1.0.0")
100+
testCompileOnly("org.jspecify:jspecify:1.0.0")
101+
def eisop_version = "3.42.0-eisop4"
102102
compileOnly "io.github.eisop:checker-qual:$eisop_version"
103103
compileOnly "io.github.eisop:checker-util:$eisop_version"
104104
testCompileOnly "io.github.eisop:checker-qual:$eisop_version"
105105
checkerFramework "io.github.eisop:checker:$eisop_version"
106106

107-
testImplementation("ch.qos.logback:logback-classic:1.5.6")
108-
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.3'
109-
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.10.3'
107+
testImplementation("ch.qos.logback:logback-classic:1.5.12")
108+
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.11.3'
109+
testImplementation 'org.junit.jupiter:junit-jupiter-params:5.11.3'
110110
testImplementation project(':key.util')
111111

112-
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.3'
112+
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.11.3'
113113
}
114114

115115
tasks.withType(JavaCompile) {
116116
// Setting UTF-8 as the java source encoding.
117117
options.encoding = "UTF-8"
118-
// Setting the release to Java 17
119-
options.release = 17
118+
// Setting the release to Java 21
119+
options.release = 21
120120
}
121121

122122
tasks.withType(Javadoc) {
123123
failOnError = false
124124
options.addBooleanOption 'Xdoclint:none', true
125125
//options.verbose()
126126
options.encoding = 'UTF-8'
127-
if (JavaVersion.current().isJava9Compatible()) {
128-
options.addBooleanOption('html5', true)
129-
}
127+
options.addBooleanOption('html5', true)
130128
}
131129

132130
tasks.withType(Test) {//Configure all tests
@@ -349,6 +347,8 @@ subprojects {
349347
targetExclude 'build/**'
350348

351349
// allows us to use spotless:off / spotless:on to keep pre-formatted sections
350+
// MU: Only ... because of the eclipse(...) below, it is "@formatter:off" and "@formatter:on"
351+
// that must be used instead.
352352
toggleOffOn()
353353

354354
removeUnusedImports()

key.core/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ dependencies {
1919
javacc group: 'net.java.dev.javacc', name: 'javacc', version: '4.0'
2020
antlr group: 'org.antlr', name: 'antlr', version: '3.5.3' // use ANTLR version 3
2121

22-
antlr4 "org.antlr:antlr4:4.13.1"
23-
api "org.antlr:antlr4-runtime:4.13.1"
22+
antlr4 "org.antlr:antlr4:4.13.2"
23+
api "org.antlr:antlr4-runtime:4.13.2"
2424
//implementation group: 'com.google.guava', name: 'guava', version: '28.1-jre'
2525
}
2626

key.core/src/main/java/de/uka/ilkd/key/logic/equality/IrrelevantTermLabelsProperty.java

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import de.uka.ilkd.key.logic.Term;
77
import de.uka.ilkd.key.logic.label.TermLabel;
8+
import de.uka.ilkd.key.logic.util.EqualityUtils;
89

910
import org.key_project.util.collection.ImmutableArray;
1011

@@ -82,9 +83,29 @@ public <V> boolean equalsModThisProperty(Term term1, Term term2, V... v) {
8283
return true;
8384
}
8485

86+
/**
87+
* Computes the hash code of {@code term} while ignoring irrelevant labels.
88+
*
89+
* @param term the term to compute the hash code for
90+
* @return the hash code
91+
*/
8592
@Override
8693
public int hashCodeModThisProperty(Term term) {
87-
throw new UnsupportedOperationException(
88-
"Hashing of terms modulo irrelevant term labels not yet implemented!");
94+
int hashcode = 5;
95+
hashcode = hashcode * 17 + term.op().hashCode();
96+
hashcode = hashcode * 17 + EqualityUtils
97+
.hashCodeModPropertyOfIterable(IRRELEVANT_TERM_LABELS_PROPERTY, term.subs());
98+
hashcode = hashcode * 17 + term.boundVars().hashCode();
99+
hashcode = hashcode * 17 + term.javaBlock().hashCode();
100+
101+
final ImmutableArray<TermLabel> labels = term.getLabels();
102+
for (int i = 0, sz = labels.size(); i < sz; i++) {
103+
final TermLabel currentLabel = labels.get(i);
104+
if (currentLabel.isProofRelevant()) {
105+
hashcode += 7 * currentLabel.hashCode();
106+
}
107+
}
108+
109+
return hashcode;
89110
}
90111
}

0 commit comments

Comments
 (0)