• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

KarpelesLab / goro / 26391790448
13%

Build:
DEFAULT BRANCH: master
Ran 25 May 2026 08:44AM UTC
Jobs 1
Files 398
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 May 2026 08:43AM UTC coverage: 12.553% (-0.003%) from 12.556%
26391790448

push

github

MagicalTux
vm: lower isset/empty on static prop + fix bug44660 inc/dec error verb

Two related changes:

1) Lower isset(Foo::\$bar) / empty(Foo::\$bar) natively.

   New helpers in compile-isset.go:
     EvalIssetStaticProp — mirrors checkExistence's *runClassStaticVarRef
       branch (class lookup, IsStaticPropAccessible, FindStaticProp,
       non-null check). Errors are swallowed.
     EvalEmptyStaticProp — wraps EvalClassStaticVarRead; any error or
       missing prop is treated as empty (matches checkEmpty's default).

   New opcodes:
     OP_ISSET_STATIC_PROP — A = name-const-idx. Pops class-source,
       pushes bool.
     OP_EMPTY_STATIC_PROP — same shape, calls EvalEmptyStaticProp.

   IsIssetSupportedArg now accepts *runClassStaticVarRef so
   IssetEmptyAllSupported routes the whole isset(a, b, c) chain
   natively when all args are static-prop reads.

2) Fix bug44660 regression introduced by OP_INC_DEC_OBJ_PROP.

   The native inc/dec handler bypassed runObjectVar.Run's
   incDecCtx branch, so \$a->p++ on a non-object receiver threw
   "Attempt to assign property" instead of the expected
   "Attempt to increment/decrement property". Mirror the
   compile-object.go:1316 branch directly in the opcode handler
   by checking the receiver before objectGet.

   This brings the failing-test set back from 81 to 80 on the
   commit that introduced the inc/dec opcode (fc96192d) plus
   the new isset/empty static-prop coverage.

Verified locally:
  - isset/empty on declared / null / falsy / undeclared / private
    static props
  - isset(Foo::\$a, Foo::\$nul) chain
  - \$a->p++ on bool/int/array/null receiver -> correct
    "Attempt to increment/decrement" Error
  - existing prop / static-prop / LSB inc/dec smoke tests
    still pass

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

8 of 96 new or added lines in 4 files covered. (8.33%)

2 existing lines in 1 file now uncovered.

14919 of 118849 relevant lines covered (12.55%)

2572.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
30
5.72
-0.18% core/compiler/compile-isset.go
28
57.95
-0.87% core/vm/vm.go
25
61.44
-1.32% core/vm/vmcompiler/emit_expr.go
5
67.12
-0.52% core/compiler/vmaccess.go

Coverage Regressions

Lines Coverage ∆ File
2
61.44
-1.32% core/vm/vmcompiler/emit_expr.go
Jobs
ID Job ID Ran Files Coverage
1 26391790448.1 25 May 2026 08:44AM UTC 398
12.55
GitHub Action Run
Source Files on build 26391790448
  • Tree
  • List 398
  • Changed 5
  • Source Changed 5
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26391790448
  • 49ceec73 on github
  • Prev Build on master (#26391575478)
  • Next Build on master (#26392427217)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc