diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1793bc70..45694cb0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Checkout Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Install Black, PyLint and PyTest run: | @@ -109,7 +109,7 @@ jobs: name: ${{ matrix.name }} steps: - name: Checkout SOM Repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Checkout SOM VM Repository if: matrix.som != 'spec' diff --git a/IntegrationTests/Tests/parse_and_methods.som b/IntegrationTests/Tests/parse_and_methods.som new file mode 100644 index 00000000..cf33078e --- /dev/null +++ b/IntegrationTests/Tests/parse_and_methods.som @@ -0,0 +1,67 @@ +" +VM: + status: success + stdout: + parse_and_methods#run + parse_and_methods#--- + parse_and_methods#func2 + Integer#+ + Integer#- + Integer#* + Integer#/ + Integer#// + Integer#% + Integer#rem: + Integer#& + Integer#<< + Integer#>>> + Integer#bitXor: + Integer#abs + Integer#sqrt + Integer#negated + Integer#raisedTo: + Integer#atRandom + Integer#= + Integer#== + Integer#~= + Integer#< + Integer#> + Integer#>= + Integer#<= + Integer#negative + Integer#between:and: + Integer#asString + Integer#as32BitSignedValue + Integer#as32BitUnsignedValue + Integer#asDouble + Integer#asInteger + Integer#hashcode + Integer#to:do: + Integer#to:by:do: + Integer#downTo:do: + Integer#downTo:by:do: + Integer#timesRepeat: + Integer#to: + Integer#max: + Integer#min: +" + +parse_and_methods = ( + run = ( + parse_and_methods methods do: [ :meth | + meth holder print. + meth signature println. + ]. + Integer methods do: [ :meth | + meth holder print. + meth signature println. + ]. + ) + --- + func = ( + 1 println. + ) + func2 = ( + 2 println. + ) +) diff --git a/IntegrationTests/Tests/unknown_field_write2.som b/IntegrationTests/Tests/unknown_field_write2.som new file mode 100644 index 00000000..75cd59fa --- /dev/null +++ b/IntegrationTests/Tests/unknown_field_write2.som @@ -0,0 +1,16 @@ +" +VM: + status: error + stderr: + ... + No such field 'c' in class +" + +unknown_field_write2 = ( + run = ( + | b | + b := [ 1 println. ]. + c := [ 2 println. ]. + b whileTrue: c. + ) +)