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

KarpelesLab / goro / 25354859519
13%

Build:
DEFAULT BRANCH: master
Ran 05 May 2026 02:38AM 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

05 May 2026 02:36AM UTC coverage: 9.158% (+0.2%) from 8.966%
25354859519

push

github

MagicalTux
vm: native class const / static / ::class access

Adds OP_CLASS_CONST and a SubASTs side-table on Function.
The opcode delegates to the AST runner for the four
class-level access node types: *runClassDynConst (the
\$obj->class form), *runClassStaticObjRef (Foo::CONST and
Foo::method), *runClassStaticVarRef (Foo::\$bar), and
*runClassNameOf (Foo::class).

Constant resolution involves CompileDelayed expressions,
visibility checks (private/protected with caller-class
verification), interface and parent walking, and the
[constant expression] decoration on rethrown errors —
all 200+ lines of intricate logic. Lowering each piece
into bytecode would duplicate that code; delegating the
whole node is correct, simple, and isolated to a single
opcode that does Run() on the embedded AST.

This is the same pattern OP_MAKE_CLOSURE already uses for
*ZClosure (which has its own dup + capture + Spawn flow).
The two side tables (SubClosures, SubASTs) keep the
delegation typed so OP_CLASS_CONST can never grow into a
generic AST fallback.

phpt under GORO_VM=1: 14 regressions (unchanged — these
tests already passed via AST fall-back since the function
bodies use other unsupported features alongside class
const access; the new opcode unblocks more code that
previously fell back).

Bench unchanged at the macro level (none of the
benchmarks use class constants).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

27 of 35 new or added lines in 4 files covered. (77.14%)

10519 of 114864 relevant lines covered (9.16%)

1099.54 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
76.42
-1.26% core/compiler/vmaccess.go
4
62.23
-0.04% core/vm/vm.go
Jobs
ID Job ID Ran Files Coverage
1 25354859519.1 05 May 2026 02:38AM UTC 398
9.16
GitHub Action Run
Source Files on build 25354859519
  • Tree
  • List 398
  • Changed 14
  • Source Changed 6
  • Coverage Changed 14
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25354859519
  • 91f10912 on github
  • Prev Build on master (#25354718639)
  • Next Build on master (#25354974735)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc