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

KarpelesLab / goro / 26390530579
13%

Build:
DEFAULT BRANCH: master
Ran 25 May 2026 08:12AM 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:11AM UTC coverage: 12.47% (-0.02%) from 12.486%
26390530579

push

github

MagicalTux
vm: lower isset/empty($obj->prop) natively via OP_ISSET_OBJ_PROP / OP_EMPTY_OBJ_PROP

Currently isset($obj->prop) / empty($obj->prop) fall through to
OpClassConst (generic AST.Run delegation). Add native opcodes that
pop the receiver and read the prop name from the const pool, then
dispatch to EvalIssetObjProp / EvalEmptyObjProp.

EvalIssetObjProp / EvalEmptyObjProp mirror checkExistence /
checkEmpty's runObjectVar branches — non-object receiver returns
false/true (no warn), otherwise HasProp + (for empty) ObjectGet +
IsValueEmpty.

IsIssetSupportedArg extended to accept objectVarNode shapes with
static names (non-dollar-prefix, non-nullsafe) and a recursively
supported receiver. Nested forms ($outer->inner->prop) work via
emitIssetContainerRead which now recurses via OP_OBJECT_GET_SAFE
for intermediate object reads.

Bodies that use only the natively-supported isset/empty shapes
(simple-local, array-access on simple container, object prop on
supported receiver) stay slot-safe. Dollar-prefix dyn-name and
nullsafe forms still AST-delegate via OpClassConst.

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

28 of 93 new or added lines in 4 files covered. (30.11%)

38 existing lines in 4 files now uncovered.

14768 of 118424 relevant lines covered (12.47%)

2581.53 hits per line

Uncovered Changes

Lines Coverage ∆ File
25
62.43
-1.51% core/vm/vmcompiler/emit_expr.go
21
5.9
-2.12% core/compiler/compile-isset.go
15
58.67
-0.43% core/vm/vm.go
4
68.53
-0.86% core/compiler/vmaccess.go

Coverage Regressions

Lines Coverage ∆ File
23
5.9
-2.12% core/compiler/compile-isset.go
7
62.43
-1.51% core/vm/vmcompiler/emit_expr.go
4
68.53
-0.86% core/compiler/vmaccess.go
4
47.17
-3.77% core/phpctx/global-array.go
Jobs
ID Job ID Ran Files Coverage
1 26390530579.1 25 May 2026 08:12AM UTC 398
12.47
GitHub Action Run
Source Files on build 26390530579
  • Tree
  • List 398
  • Changed 6
  • Source Changed 5
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26390530579
  • 8558f0ee on github
  • Prev Build on master (#26390158551)
  • Next Build on master (#26390819898)
  • 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