Compare commits

...

6 Commits

Author SHA1 Message Date
Dan Chao a6b02692bb Enforce that abstract members are implemented
This adds a check that abstract members must be implemented.
If any members lack an implementation, an error is thrown describing
the missing members.

Also: we have a bug in `pkl:base`; class `Set` does not implement all
members of class `Collection`.
2026-06-14 21:15:52 -07:00
Aditya Singh a9c98e4396 Fix incorrect Facts in pkl:base doc comments (#1669)
Several `Facts:` examples in the `pkl:base` standard library docs assert
statements that are false when evaluated. Since these examples are not
run by any test, the mistakes went unnoticed and are rendered verbatim
into the generated API docs, where they mislead readers.

The corrected examples:

- `String.isNotBlank`: `"\t\n\r".isNotBlank` was listed as holding, but
a string of only whitespace is blank, so it is false. Negated it to
match the neighboring `!"".isNotBlank` and `!" ".isNotBlank` examples.
- `DataSize.toBinaryUnit` / `toDecimalUnit`: the `mb`/`mib` lines
mirrored the `kb`/`kib` lines, but the identity only holds for adjacent
units. `1024.kb == 1000.kib` (both 1,024,000 b), whereas `1024.mb` is
1,024,000,000 b and `1000.mib` is 1,048,576,000 b, so they are not
equal. There is no clean round-number equivalent at this magnitude, so I
removed the two false lines; the remaining examples still demonstrate
the conversion.
- `Collection.any`: `!List(1, 2, 3).any((n) -> n.isEven)` is false
because 2 is even. Changed the list to `List(1, 3, 5)` so the negation
holds.
- `IntSeq.end`: the example read `IntSeq(2, 5).start == 5`, which
documents the wrong property and is false (`start` is 2). Corrected it
to `IntSeq(2, 5).end == 5`.
- `List.isDistinctBy` / `distinctBy`: `List("a", "b", "abc")` is not
distinct by length, since `"a"` and `"b"` both have length 1. Switched
to `List("a", "bb", "ccc")` so the distinctness examples hold.
- `Map`: `Map(...).values` returns a `List`, not a `Set`. Corrected the
expected type.

I verified that each corrected example evaluates to `true`, and that the
neighboring examples I kept still pass, using the released Pkl 0.31.1
binary. The changes are confined to doc-comment text, so formatting is
unaffected.

---------

Signed-off-by: Aditya Singh <adisin650@gmail.com>
2026-06-11 17:10:14 +00:00
dependabot[bot] 8be37ae606 Bump github/codeql-action from 4.36.0 to 4.36.2 (#1676)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@7211b7c...8aad20d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 16:06:18 +00:00
dependabot[bot] e012266372 Bump actions/checkout from 6.0.2 to 6.0.3 (#1677)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@de0fac2...df4cb1c)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 08:52:25 -07:00
dependabot[bot] b3a12cb138 Bump nu.validator:validator from 26.5.22 to 26.5.29 (#1679)
Bumps [nu.validator:validator](https://github.com/validator/validator) from 26.5.22 to 26.5.29.
- [Release notes](https://github.com/validator/validator/releases)
- [Commits](validator/validator@26.5.22...26.5.29)

---
updated-dependencies:
- dependency-name: nu.validator:validator
  dependency-version: 26.5.29
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 08:51:45 -07:00
dependabot[bot] 1fa4e5e761 Bump com.palantir.javapoet:javapoet from 0.15.0 to 0.16.0 (#1680)
Bumps [com.palantir.javapoet:javapoet](https://github.com/palantir/javapoet) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/palantir/javapoet/releases)
- [Commits](palantir/javapoet@0.15.0...0.16.0)

---
updated-dependencies:
- dependency-name: com.palantir.javapoet:javapoet
  dependency-version: 0.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-11 08:50:46 -07:00
24 changed files with 375 additions and 121 deletions
+3 -3
View File
@@ -19,7 +19,7 @@ jobs:
- name: EnricoMi/publish-unit-test-result-action@v2 - name: EnricoMi/publish-unit-test-result-action@v2
uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2 uses: EnricoMi/publish-unit-test-result-action@c950f6fb443cb5af20a377fd0dfaa78838901040 # v2
- name: actions/checkout@v6 - name: actions/checkout@v6
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
- name: actions/create-github-app-token@v2 - name: actions/create-github-app-token@v2
uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2 uses: actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2
- name: actions/download-artifact@v6 - name: actions/download-artifact@v6
@@ -31,9 +31,9 @@ jobs:
- name: dawidd6/action-download-artifact@v11 - name: dawidd6/action-download-artifact@v11
uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11 uses: dawidd6/action-download-artifact@ac66b43f0e6a346234dd65d4d0c8fbb31cb316e5 # v11
- name: github/codeql-action/analyze@v4 - name: github/codeql-action/analyze@v4
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
- name: github/codeql-action/init@v4 - name: github/codeql-action/init@v4
uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
- name: gradle/actions/dependency-submission@v6 - name: gradle/actions/dependency-submission@v6
uses: gradle/actions/dependency-submission@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6 uses: gradle/actions/dependency-submission@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6
- name: gradle/actions/setup-gradle@v5 - name: gradle/actions/setup-gradle@v5
+18 -18
View File
@@ -19,7 +19,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -60,7 +60,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -100,7 +100,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -126,7 +126,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -166,7 +166,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -185,7 +185,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- name: gradle build java executables - name: gradle build java executables
@@ -217,7 +217,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -263,7 +263,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -314,7 +314,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -360,7 +360,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -408,7 +408,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -526,7 +526,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -573,7 +573,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -619,7 +619,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -670,7 +670,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -716,7 +716,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -764,7 +764,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -882,7 +882,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
+9 -9
View File
@@ -15,15 +15,15 @@ jobs:
security-events: write security-events: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
languages: actions languages: actions
build-mode: none build-mode: none
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
category: /language:actions category: /language:actions
analyze-java-kotlin: analyze-java-kotlin:
@@ -32,15 +32,15 @@ jobs:
security-events: write security-events: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
languages: java-kotlin languages: java-kotlin
build-mode: autobuild build-mode: autobuild
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
category: /language:java-kotlin category: /language:java-kotlin
analyze-javascript-typescript: analyze-javascript-typescript:
@@ -49,14 +49,14 @@ jobs:
security-events: write security-events: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 - uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
languages: javascript-typescript languages: javascript-typescript
build-mode: none build-mode: none
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4 uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v4
with: with:
category: /language:javascript-typescript category: /language:javascript-typescript
+21 -21
View File
@@ -17,7 +17,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -58,7 +58,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -98,7 +98,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -124,7 +124,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -164,7 +164,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -183,7 +183,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- name: gradle build java executables - name: gradle build java executables
@@ -215,7 +215,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -261,7 +261,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -312,7 +312,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -358,7 +358,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -406,7 +406,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -524,7 +524,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -571,7 +571,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -617,7 +617,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -668,7 +668,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -714,7 +714,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -762,7 +762,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -880,7 +880,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -943,7 +943,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
environment: maven-release environment: maven-release
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -961,7 +961,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6 - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
@@ -980,7 +980,7 @@ jobs:
contents: write contents: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
+15 -15
View File
@@ -13,7 +13,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -56,7 +56,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -100,7 +100,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -148,7 +148,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -200,7 +200,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -248,7 +248,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -298,7 +298,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -418,7 +418,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -466,7 +466,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -514,7 +514,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -566,7 +566,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -614,7 +614,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -664,7 +664,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -784,7 +784,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -861,7 +861,7 @@ jobs:
check-pkl-github-actions: check-pkl-github-actions:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- name: Setup Pkl - name: Setup Pkl
+18 -18
View File
@@ -17,7 +17,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -58,7 +58,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -98,7 +98,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -124,7 +124,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -164,7 +164,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -183,7 +183,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- name: gradle build java executables - name: gradle build java executables
@@ -215,7 +215,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -261,7 +261,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -312,7 +312,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -358,7 +358,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -406,7 +406,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -524,7 +524,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -571,7 +571,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -617,7 +617,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -668,7 +668,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -714,7 +714,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -762,7 +762,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -880,7 +880,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
+20 -20
View File
@@ -17,7 +17,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -58,7 +58,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -98,7 +98,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -124,7 +124,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -164,7 +164,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
@@ -184,7 +184,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- name: gradle build java executables - name: gradle build java executables
@@ -216,7 +216,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -263,7 +263,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -315,7 +315,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -362,7 +362,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -411,7 +411,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -530,7 +530,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -578,7 +578,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -625,7 +625,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -677,7 +677,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -724,7 +724,7 @@ jobs:
steps: steps:
- name: Install deps - name: Install deps
run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -773,7 +773,7 @@ jobs:
env: env:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -892,7 +892,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
JAVA_HOME: /jdk JAVA_HOME: /jdk
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -956,7 +956,7 @@ jobs:
LANG: en_US.UTF-8 LANG: en_US.UTF-8
environment: maven-release environment: maven-release
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5 - uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5
@@ -975,7 +975,7 @@ jobs:
if [[ "$RUNNER_DEBUG" -eq 1 ]]; then if [[ "$RUNNER_DEBUG" -eq 1 ]]; then
echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV
fi fi
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with: with:
persist-credentials: false persist-credentials: false
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6 - uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6
+2 -2
View File
@@ -29,7 +29,7 @@ graalVmSha256-windows-x64 = "fde83c5ceec2c75560c747ccd9f314f90e4cf5c5287416e67c4
#noinspection UnusedVersionCatalogEntry #noinspection UnusedVersionCatalogEntry
graalVmSha256-windows-aarch64 = "unavailable" graalVmSha256-windows-aarch64 = "unavailable"
ideaExtPlugin = "1.4.1" ideaExtPlugin = "1.4.1"
javaPoet = "0.15.0" javaPoet = "0.16.0"
javaxInject = "1" javaxInject = "1"
jimfs = "1.3.1" jimfs = "1.3.1"
jline = "4.1.3" jline = "4.1.3"
@@ -56,7 +56,7 @@ msgpack = "0.9.12"
nexusPublishPlugin = "2.0.0" nexusPublishPlugin = "2.0.0"
nullaway = "0.13.4" nullaway = "0.13.4"
nullawayPlugin = "3.0.0" nullawayPlugin = "3.0.0"
nuValidator = "26.5.22" nuValidator = "26.5.29"
paguro = "3.10.3" paguro = "3.10.3"
shadowPlugin = "9.4.2" shadowPlugin = "9.4.2"
slf4j = "2.0.18" slf4j = "2.0.18"
@@ -24,7 +24,7 @@ import org.pkl.core.ast.VmModifier;
import org.pkl.core.runtime.*; import org.pkl.core.runtime.*;
public final class ClassProperty extends ClassMember { public final class ClassProperty extends ClassMember {
private final @Nullable PropertyTypeNode typeNode; private @Nullable PropertyTypeNode typeNode;
private final ObjectMember initializer; private final ObjectMember initializer;
public ClassProperty( public ClassProperty(
@@ -64,6 +64,11 @@ public final class ClassProperty extends ClassMember {
return VmModifier.getMirrors(mods, false); return VmModifier.getMirrors(mods, false);
} }
public void lateInitTypeNodeAndModifiers(@Nullable PropertyTypeNode typeNode, int modifiers) {
this.typeNode = typeNode;
this.modifiers = modifiers;
}
public @Nullable PropertyTypeNode getTypeNode() { public @Nullable PropertyTypeNode getTypeNode() {
return typeNode; return typeNode;
} }
@@ -25,7 +25,7 @@ public abstract class Member {
protected final SourceSection headerSection; protected final SourceSection headerSection;
protected final int modifiers; protected int modifiers;
protected final @Nullable Identifier name; protected final @Nullable Identifier name;
@@ -22,6 +22,7 @@ import com.oracle.truffle.api.dsl.Idempotent;
import com.oracle.truffle.api.frame.FrameDescriptor; import com.oracle.truffle.api.frame.FrameDescriptor;
import com.oracle.truffle.api.source.SourceSection; import com.oracle.truffle.api.source.SourceSection;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.*; import java.util.function.*;
import org.graalvm.collections.*; import org.graalvm.collections.*;
import org.jspecify.annotations.Nullable; import org.jspecify.annotations.Nullable;
@@ -84,6 +85,13 @@ public final class VmClass extends VmValue {
private final Object allHiddenPropertyNamesLock = new Object(); private final Object allHiddenPropertyNamesLock = new Object();
@GuardedBy("finalizersLock")
private @Nullable List<Runnable> __finalizers = null;
private final Object finalizersLock = new Object();
private final AtomicInteger uninitializedSuperclassCount = new AtomicInteger(0);
// Helps to overcome recursive initialization issues // Helps to overcome recursive initialization issues
// between classes and annotations in pkl.base. // between classes and annotations in pkl.base.
@CompilationFinal private volatile boolean isInitialized; @CompilationFinal private volatile boolean isInitialized;
@@ -150,6 +158,83 @@ public final class VmClass extends VmValue {
prototype.lateInitParent(superclass.getPrototype()); prototype.lateInitParent(superclass.getPrototype());
} }
@TruffleBoundary
private void checkAbstractMembers() {
if (this.isAbstract()) return;
// minimize allocations in the non-error case
if (!hasAbstractMember()) return;
var abstractMembers = getAbstractMembers();
if (abstractMembers.size() == 1) {
var member = abstractMembers.get(0);
var message =
member instanceof ClassProperty
? "noImplementationForAbstractProperty"
: "noImplementationForAbstractMethod";
throw new VmExceptionBuilder()
.evalError(message, getDisplayName(), member.getName().toString())
.withSourceSection(getHeaderSection())
.build();
}
var memberList = new StringBuilder();
var isFirst = true;
for (var member : abstractMembers) {
if (isFirst) {
isFirst = false;
} else {
memberList.append('\n');
}
memberList.append("* ");
if (member instanceof ClassProperty) {
memberList.append("property ");
} else {
memberList.append("method ");
}
memberList.append('`').append(member.getName()).append('`');
}
throw new VmExceptionBuilder()
.evalError("noImplementationForAbstractMembers", getDisplayName(), memberList.toString())
.withSourceSection(getHeaderSection())
.build();
}
private boolean hasAbstractMember() {
var propertyCursor = getAllProperties().getEntries();
while (propertyCursor.advance()) {
var property = propertyCursor.getValue();
if (property.isAbstract()) {
return true;
}
}
var methodCursor = getAllMethods().getEntries();
while (methodCursor.advance()) {
var method = methodCursor.getValue();
if (method.isAbstract()) {
return true;
}
}
return false;
}
private List<ClassMember> getAbstractMembers() {
assert this.superclass != null;
var result = new ArrayList<ClassMember>();
var propertyCursor = getAllProperties().getEntries();
while (propertyCursor.advance()) {
var property = propertyCursor.getValue();
if (property.isAbstract()) {
result.add(property);
}
}
var methodCursor = getAllMethods().getEntries();
while (methodCursor.advance()) {
var method = methodCursor.getValue();
if (method.isAbstract()) {
result.add(method);
}
}
return result;
}
@TruffleBoundary @TruffleBoundary
public void addProperty(ClassProperty property) { public void addProperty(ClassProperty property) {
prototype.addProperty(property.getInitializer()); prototype.addProperty(property.getInitializer());
@@ -190,8 +275,46 @@ public final class VmClass extends VmValue {
} }
} }
private void onInitialized(Runnable runnable) {
synchronized (finalizersLock) {
if (this.__finalizers == null) {
this.__finalizers = new ArrayList<>();
}
this.__finalizers.add(runnable);
}
}
// Note: Superclasses may not have finished their initialization when this method is called. // Note: Superclasses may not have finished their initialization when this method is called.
public void notifyInitialized() { public void notifyInitialized() {
var sc = superclass;
var isAllInitialized = true;
var uninitializedCount = 0;
while (sc != null) {
if (!sc.isInitialized) {
sc.onInitialized(
() -> {
var count = uninitializedSuperclassCount.decrementAndGet();
if (count == 0) {
checkAbstractMembers();
}
});
uninitializedCount++;
isAllInitialized = false;
}
sc = sc.superclass;
}
uninitializedSuperclassCount.set(uninitializedCount);
if (isAllInitialized) {
checkAbstractMembers();
}
lock:
synchronized (finalizersLock) {
if (__finalizers == null) break lock;
for (var finalizer : __finalizers) {
finalizer.run();
}
this.__finalizers = null;
}
isInitialized = true; isInitialized = true;
} }
@@ -735,13 +858,27 @@ public final class VmClass extends VmValue {
for (var property : EconomicMaps.getValues(declaredProperties)) { for (var property : EconomicMaps.getValues(declaredProperties)) {
if (property.isLocal()) continue; if (property.isLocal()) continue;
// A property is considered a class property definition // A property is considered a class property definition if any of the following are true:
// if it has a type annotation or has no superdefinition (ad-hoc case). //
// 1. It has a type annotation.
// 2. It has no superdefinition.
// 3. It is not abstract but its superclass is.
//
// Otherwise, it is considered an object property definition, // Otherwise, it is considered an object property definition,
// which means it affects the class prototype but not the class itself. // which means it affects the class prototype but not the class itself.
// An example for the latter is when `Module.output` is overridden with `output { ... }`. // An example for the latter is when `Module.output` is overridden with `output { ... }`.
if (property.getTypeNode() != null || !EconomicMaps.containsKey(result, property.getName())) { if (property.getTypeNode() != null) {
EconomicMaps.put(result, property.getName(), property); EconomicMaps.put(result, property.getName(), property);
} else {
var existingProperty = EconomicMaps.get(result, property.getName());
if (existingProperty != null && existingProperty.isAbstract() && !this.isAbstract()) {
property.lateInitTypeNodeAndModifiers(
existingProperty.getTypeNode(),
existingProperty.getModifiers() & ~VmModifier.ABSTRACT);
EconomicMaps.put(result, property.getName(), property);
} else if (existingProperty == null) {
EconomicMaps.put(result, property.getName(), property);
}
} }
} }
@@ -1176,3 +1176,13 @@ Cannot follow redirect from ''https:'' URL to ''http:'' URL.\
\n\ \n\
HTTP Request: `GET {0}`\n\ HTTP Request: `GET {0}`\n\
Redirected to: `{1}` Redirected to: `{1}`
noImplementationForAbstractProperty=\
Class `{0}` should either be declared `abstract`, or should implement property `{1}`.
noImplementationForAbstractMethod=\
Class `{0}` should either be declared `abstract`, or should implement method `{1}`.
noImplementationForAbstractMembers=\
Class `{0}` should either be declared `abstract`, or implement the following members:\n\
{1}
@@ -0,0 +1,3 @@
abstract module Foo
abstract bar: Int
@@ -0,0 +1,19 @@
abstract class AbstractProperty {
abstract foo: Int
}
abstract class AbstractMethod {
abstract function foo(): Int
}
abstract class AbstractPropertiesAndMethods {
abstract foo: Int
abstract bar: Int
abstract function foo(): Int
abstract function bar(): Int
}
class MyClass extends AbstractProperty {
}
foo: MyClass
@@ -0,0 +1,9 @@
abstract class AbstractMethod {
abstract function foo(): Int
}
class MyClass extends AbstractMethod {
}
foo: MyClass
@@ -0,0 +1,10 @@
abstract class AbstractPropertiesAndMethods {
abstract foo: Int
abstract bar: Int
abstract function foo(): Int
abstract function bar(): Int
}
class MyClass extends AbstractPropertiesAndMethods {}
foo: MyClass
@@ -0,0 +1 @@
extends "../../input-helper/classes/AbstractModule.pkl"
@@ -889,7 +889,7 @@ alias {
``` ```
!"".isNotBlank !"".isNotBlank
!" ".isNotBlank !" ".isNotBlank
"\\t\\n\\r".isNotBlank !"\\t\\n\\r".isNotBlank
"abc".isNotBlank "abc".isNotBlank
``` ```
""" """
@@ -1254,7 +1254,7 @@ alias {
``` ```
!"".isNotBlank !"".isNotBlank
!" ".isNotBlank !" ".isNotBlank
"\\t\\n\\r".isNotBlank !"\\t\\n\\r".isNotBlank
"abc".isNotBlank "abc".isNotBlank
``` ```
""" """
@@ -0,0 +1,10 @@
–– Pkl Error ––
Class `abstractMemberNotImplemented1#MyClass` should either be declared `abstract`, or should implement property `foo`.
xx | class MyClass extends AbstractProperty {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at abstractMemberNotImplemented1#MyClass (file:///$snippetsDir/input/errors/abstractMemberNotImplemented1.pkl)
xx | foo: MyClass
^^^^^^^
at abstractMemberNotImplemented1 (file:///$snippetsDir/input/errors/abstractMemberNotImplemented1.pkl)
@@ -0,0 +1,10 @@
–– Pkl Error ––
Class `abstractMemberNotImplemented2#MyClass` should either be declared `abstract`, or should implement method `foo`.
x | class MyClass extends AbstractMethod {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at abstractMemberNotImplemented2#MyClass (file:///$snippetsDir/input/errors/abstractMemberNotImplemented2.pkl)
x | foo: MyClass
^^^^^^^
at abstractMemberNotImplemented2 (file:///$snippetsDir/input/errors/abstractMemberNotImplemented2.pkl)
@@ -0,0 +1,14 @@
–– Pkl Error ––
Class `abstractMemberNotImplemented3#MyClass` should either be declared `abstract`, or implement the following members:
* property `foo`
* property `bar`
* method `foo`
* method `bar`
x | class MyClass extends AbstractPropertiesAndMethods {}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at abstractMemberNotImplemented3#MyClass (file:///$snippetsDir/input/errors/abstractMemberNotImplemented3.pkl)
xx | foo: MyClass
^^^^^^^
at abstractMemberNotImplemented3 (file:///$snippetsDir/input/errors/abstractMemberNotImplemented3.pkl)
@@ -0,0 +1,6 @@
–– Pkl Error ––
Class `abstractMemberNotImplemented4` should either be declared `abstract`, or should implement property `bar`.
x | extends "../../input-helper/classes/AbstractModule.pkl"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at abstractMemberNotImplemented4 (file:///$snippetsDir/input/errors/abstractMemberNotImplemented4.pkl)
@@ -0,0 +1,10 @@
–– Pkl Error ––
Class `abstractMethodsNotImplemented#MyClass` either needs to be abstract, or should implement property `foo`.
x | class MyClass extends MyAbstractClass {
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
at abstractMethodsNotImplemented#MyClass (file:///$snippetsDir/input/errors/abstractMethodsNotImplemented.pkl)
x | foo: MyClass
^^^^^^^
at abstractMethodsNotImplemented (file:///$snippetsDir/input/errors/abstractMethodsNotImplemented.pkl)
+18 -8
View File
@@ -1314,7 +1314,7 @@ external class String extends Any {
/// ``` /// ```
/// !"".isNotBlank /// !"".isNotBlank
/// !" ".isNotBlank /// !" ".isNotBlank
/// "\t\n\r".isNotBlank /// !"\t\n\r".isNotBlank
/// "abc".isNotBlank /// "abc".isNotBlank
/// ``` /// ```
@Since { version = "0.31.0" } @Since { version = "0.31.0" }
@@ -1904,7 +1904,6 @@ external class DataSize extends Any {
/// Facts: /// Facts:
/// ``` /// ```
/// 1024.kb.toBinaryUnit() == 1000.kib /// 1024.kb.toBinaryUnit() == 1000.kib
/// 1024.mb.toBinaryUnit() == 1000.mib
/// ///
/// 1000.kib.toBinaryUnit() == 1000.kib /// 1000.kib.toBinaryUnit() == 1000.kib
/// 1000.b.toBinaryUnit() == 1000.b /// 1000.b.toBinaryUnit() == 1000.b
@@ -1918,7 +1917,6 @@ external class DataSize extends Any {
/// Facts: /// Facts:
/// ``` /// ```
/// 1000.kib.toDecimalUnit() == 1024.kb /// 1000.kib.toDecimalUnit() == 1024.kb
/// 1000.mib.toDecimalUnit() == 1024.mb
/// ///
/// 1000.kb.toDecimalUnit() == 1000.kb /// 1000.kb.toDecimalUnit() == 1000.kb
/// 1000.b.toDecimalUnit() == 1000.b /// 1000.b.toDecimalUnit() == 1000.b
@@ -2673,7 +2671,7 @@ abstract external class Collection<out Element> extends Any {
/// Facts: /// Facts:
/// ``` /// ```
/// List(1, 2, 3).any((n) -> n.isEven) /// List(1, 2, 3).any((n) -> n.isEven)
/// !List(1, 2, 3).any((n) -> n.isEven) /// !List(1, 3, 5).any((n) -> n.isEven)
/// !List().any((n) -> n.isEven) /// !List().any((n) -> n.isEven)
/// ``` /// ```
@AlsoKnownAs { names { "exists" } } @AlsoKnownAs { names { "exists" } }
@@ -3066,7 +3064,7 @@ external class IntSeq extends Any {
/// ///
/// Facts: /// Facts:
/// ``` /// ```
/// IntSeq(2, 5).start == 5 /// IntSeq(2, 5).end == 5
/// ``` /// ```
external end: Int external end: Int
@@ -3249,7 +3247,7 @@ external class List<out Element> extends Collection<Element> {
/// ///
/// Facts: /// Facts:
/// ``` /// ```
/// List("a", "b", "abc").isDistinctBy((it) -> it.length) /// List("a", "bb", "ccc").isDistinctBy((it) -> it.length)
/// !List("a", "ab", "c").isDistinctBy((it) -> it.length) /// !List("a", "ab", "c").isDistinctBy((it) -> it.length)
/// ``` /// ```
@AlsoKnownAs { names { "isUniqueBy" } } @AlsoKnownAs { names { "isUniqueBy" } }
@@ -3272,7 +3270,7 @@ external class List<out Element> extends Collection<Element> {
/// ///
/// Facts: /// Facts:
/// ``` /// ```
/// List("a", "b", "abc").distinctBy((it) -> it.length) == List("a", "b", "abc") /// List("a", "bb", "ccc").distinctBy((it) -> it.length) == List("a", "bb", "ccc")
/// List("a", "ab", "c").distinctBy((it) -> it.length) == List("a", "ab") /// List("a", "ab", "c").distinctBy((it) -> it.length) == List("a", "ab")
/// ``` /// ```
@AlsoKnownAs { names { "uniqueBy" } } @AlsoKnownAs { names { "uniqueBy" } }
@@ -3564,6 +3562,18 @@ external class Set<out Element> extends Collection<Element> {
/// The difference of this set and [other]. /// The difference of this set and [other].
external function difference(other: Set): Set<Element> external function difference(other: Set): Set<Element>
function indexOf(_): Int = throw("Set does not implement `indexOf`")
function indexOfOrNull(_): Int? = throw("Set does not implement `indexOfOrNull`")
function lastIndexOf(_): Int = throw("Set does not implement `lastIndexOf`")
function lastIndexOfOrNull(_): Int? = throw("Set does not implement `lastIndexOfOrNull`")
function findIndex(_): Int = throw("Set does not implement `findIndex`")
function findIndexOrNull(_): Int? = throw("Set does not implement `findIndexOrNull`")
function findLastIndex(_): Int = throw("Set does not implement `findLastIndex`")
function findLastIndexOrNull(_): Int? = throw("Set does not implement `findLastIndexOrNull`")
} }
/// Creates a map containing the given alternating [keysAndValues]. /// Creates a map containing the given alternating [keysAndValues].
@@ -3573,7 +3583,7 @@ external class Set<out Element> extends Collection<Element> {
/// ``` /// ```
/// Map().isEmpty /// Map().isEmpty
/// Map("name", "Pigeon", "age", 42).keys == Set("name", "age") /// Map("name", "Pigeon", "age", 42).keys == Set("name", "age")
/// Map("name", "Pigeon", "age", 42).values == Set("Pigeon", 42) /// Map("name", "Pigeon", "age", 42).values == List("Pigeon", 42)
/// ``` /// ```
external const function Map<Key, Value>(keysAndValues: VarArgs<Key | Value>): Map<Key, Value> external const function Map<Key, Value>(keysAndValues: VarArgs<Key | Value>): Map<Key, Value>