Skip to content

Commit 04dbc1a

Browse files
authored
Merge branch 'main' into weigl/codequality
2 parents 82ef399 + a442cdf commit 04dbc1a

File tree

17 files changed

+187
-116
lines changed

17 files changed

+187
-116
lines changed

.github/workflows/code_quality.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
java-version: 21
2020
distribution: 'corretto'
2121
cache: 'gradle'
22+
- name: Setup Gradle
23+
uses: gradle/actions/setup-gradle@v3.3.2
2224
- name: Build with Gradle
23-
uses: gradle/gradle-build-action@v3.3.2
24-
with:
25-
arguments: -DENABLE_NULLNESS=true compileTest
25+
run: ./gradlew -DENABLE_NULLNESS=true compileTest
2626

2727
formatting:
2828
runs-on: ubuntu-latest
@@ -36,4 +36,4 @@ jobs:
3636
- name: Build with Gradle
3737
uses: gradle/gradle-build-action@v3.3.2
3838
with:
39-
arguments: --continue spotlessCheck
39+
arguments: --continue spotlessCheck

.github/workflows/gradle-publish.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,15 @@ jobs:
2121
cache: 'gradle'
2222
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
2323

24+
- name: Setup Gradle
25+
uses: gradle/actions/setup-gradle@v3.3.2
2426
- name: Assemble with Gradle
25-
uses: gradle/gradle-build-action@v3.3.2
26-
with:
27-
arguments: assemble
27+
run: ./gradlew assemble
2828

2929
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
3030
# the publishing section of your build.gradle
3131
- name: Publish to GitHub Packages
32-
uses: gradle/gradle-build-action@v3.3.2
33-
with:
34-
arguments: publish
32+
run: ./gradlew publish
3533
env:
3634
USERNAME: ${{ github.actor }}
3735
TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/javadoc.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ jobs:
1818
java-version: '21'
1919
distribution: 'corretto'
2020
cache: 'gradle'
21-
22-
- name: Build with Gradle
23-
uses: gradle/gradle-build-action@v3.3.2
24-
with:
25-
arguments: alldoc
21+
- name: Setup Gradle
22+
uses: gradle/actions/setup-gradle@v3.3.2
23+
- name: Build Documentation with Gradle
24+
run: ./gradlew alldoc
2625

2726
- name: Package
2827
run: tar cvfj javadoc.tar.bz2 build/docs/javadoc

.github/workflows/nightlydeploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ jobs:
3030
java-version: 17
3131
distribution: 'temurin'
3232

33+
- name: Setup Gradle
34+
uses: gradle/actions/setup-gradle@v3.3.2
3335
- name: Build with Gradle
34-
uses: gradle/gradle-build-action@v3.3.2
35-
with:
36-
arguments: --parallel assemble
36+
run: ./gradlew --parallel assemble
3737

3838
- name: Delete previous nightly release
3939
continue-on-error: true

.github/workflows/opttest.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ jobs:
2424
distribution: 'corretto'
2525
cache: 'gradle'
2626

27-
- name: Build with Gradle
28-
uses: gradle/gradle-build-action@v3.3.2
29-
with:
30-
arguments: --continue ${{ matrix.tests }}
27+
- name: Setup Gradle
28+
uses: gradle/actions/setup-gradle@v3.3.2
29+
- name: Test with Gradle
30+
run: ./gradlew --continue ${{ matrix.tests }}
3131

3232
- name: Upload test results
3333
uses: actions/upload-artifact@v4

.github/workflows/tests.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ jobs:
3737
distribution: 'corretto'
3838
cache: 'gradle'
3939

40-
- name: Build with Gradle
41-
uses: gradle/gradle-build-action@v3.3.2
42-
with:
43-
arguments: --continue -DjacocoEnabled=true -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
40+
- name: Setup Gradle
41+
uses: gradle/actions/setup-gradle@v3.3.2
42+
- name: Test with Gradle
43+
run: ./gradlew --continue -DjacocoEnabled=true -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
4444

4545
- name: Upload test results
4646
uses: actions/upload-artifact@v4
@@ -86,11 +86,10 @@ jobs:
8686
run: .github/dlsmt.sh
8787
shell: bash
8888

89-
89+
- name: Setup Gradle
90+
uses: gradle/actions/setup-gradle@v3.3.2
9091
- name: "Running tests: ${{ matrix.test }}"
91-
uses: gradle/gradle-build-action@v3.3.2
92-
with:
93-
arguments: --continue ${{ matrix.test }}
92+
run: ./gradlew --continue ${{ matrix.test }}
9493

9594
- name: Upload test results
9695
uses: actions/upload-artifact@v4

.github/workflows/tests_winmac.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ jobs:
2828
distribution: 'corretto'
2929
cache: 'gradle'
3030

31-
- name: Build with Gradle
32-
uses: gradle/gradle-build-action@v3.3.2
33-
with:
34-
arguments: --continue -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
31+
- name: Setup Gradle
32+
uses:
33+
gradle/actions/setup-gradle@v3.3.2
34+
- name: Test with Gradle
35+
run: ./gradlew --continue -x :key.core.symbolic_execution:test -x :key.core.proof_references:test test
3536

3637
- name: Upload test results
3738
uses: actions/upload-artifact@v4
@@ -74,10 +75,10 @@ jobs:
7475
- name: Install SMT-Solvers
7576
run: .github/dlsmt.sh
7677

78+
- name: Setup Gradle
79+
uses: gradle/actions/setup-gradle@v3.3.2
7780
- name: "Running tests: ${{ matrix.test }}"
78-
uses: gradle/gradle-build-action@v3.3.2
79-
with:
80-
arguments: --continue ${{ matrix.test }}
81+
run: ./gradlew --continue ${{ matrix.test }}
8182

8283
- name: Upload test results
8384
uses: actions/upload-artifact@v4

key.core/src/main/java/de/uka/ilkd/key/nparser/builder/TacletPBuilder.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -681,6 +681,18 @@ public ChoiceExpr visitOption_expr_paren(KeYParser.Option_expr_parenContext ctx)
681681

682682
@Override
683683
public ChoiceExpr visitOption_expr_prop(KeYParser.Option_expr_propContext ctx) {
684+
String category = ctx.option().cat.getText();
685+
String value = ctx.option().value.getText();
686+
String choiceStr = category + ":" + value;
687+
/*
688+
* Make sure that the choice (category and value!) is known to KeY, i.e. that it is declared
689+
* in the file `optionsDeclarations.key`. This prevents from accidentally deactivating
690+
* (parts of) taclets due to non-existing choices (see
691+
* https://github.com/KeYProject/key/issues/3352).
692+
*/
693+
if (choices().lookup(choiceStr) == null) {
694+
semanticError(ctx, "Could not find choice: %s", category + ":" + choiceStr);
695+
}
684696
return ChoiceExpr.variable(ctx.option().cat.getText(), ctx.option().value.getText());
685697
}
686698

key.core/src/main/java/de/uka/ilkd/key/rule/tacletbuilder/TacletGenerator.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ public Taclet generateRelationalRepresentsTaclet(Name tacletName, Term originalA
166166
new RewriteTacletGoalTemplate(addedSeq, ImmutableSLList.nil(), findTerm);
167167

168168
// choices, rule set
169+
// Be careful that the choices used here is actually declared (see optionsDeclarations.key),
170+
// otherwise the taclet will be unusable!
169171
var choice = ChoiceExpr.variable("modelFields",
170172
satisfiabilityGuard ? "showSatisfiability" : "treatAsAxiom");
171173
final RuleSet ruleSet = new RuleSet(

key.core/src/main/java/de/uka/ilkd/key/speclang/WellDefinednessCheck.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -669,11 +669,10 @@ static RewriteTaclet createTaclet(String name, Term find1, Term find2, Term goal
669669
assert find1.sub(0).op().name().equals(find2.sub(0).op().name());
670670
assert find1.sub(0).arity() == find2.sub(0).arity();
671671

672-
Map<ProgramVariable, ProgramVariable> map =
673-
new LinkedHashMap<>();
672+
Map<Operator, Operator> map = new LinkedHashMap<>();
674673
int i = 0;
675674
for (Term sub : find1.sub(0).subs()) {
676-
map.put((ProgramVariable) find2.sub(0).sub(i).op(), (ProgramVariable) sub.op());
675+
map.put(find2.sub(0).sub(i).op(), sub.op());
677676
i++;
678677
}
679678
final OpReplacer or = new OpReplacer(map, services.getTermFactory());

0 commit comments

Comments
 (0)