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

nikic / PHP-Parser
93%

Build:
DEFAULT BRANCH: master
Repo Added 13 Feb 2016 10:31PM UTC
Files 271
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

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 2.x
  • 3.x
  • 4.x
  • add-get-visitors-for-node
  • attributes
  • attributes-on-constants
  • br-alias
  • br-alias-5x
  • calebdw/push-tqntykytzkvo
  • clone-all-syntax
  • clone-function
  • deprecate-double-cast
  • do-not-try-to-re-clone
  • drop-unreachable-traverse-assertion
  • errorHandler
  • feature/cast_kinds
  • final_param
  • fix-array-unpack-keys
  • fix-invalid-unicode-escapes
  • fix-name-context
  • fix-pretty-print-label-map
  • fix/concat-precedence-php8
  • fix/prefix-op-chain-printing
  • fix/typo-defaul-in-pretty-printing-docs
  • fix_PrettyPrinterAbstract
  • fixb
  • flag-helper-methods
  • formatPreservingPrint
  • function-named-fn
  • handle-crash-readonly-atttributed-anon
  • identifiersAsNodes
  • iter
  • list
  • list-types
  • master
  • nameString
  • orest/print-custom-raw-value
  • patch-1
  • perf-by-category-name
  • perf-comment
  • perf-escape
  • perf-read-lexer
  • perf/parser-tables-in-locals
  • phpdoc
  • prevent-param-void-type
  • promoted-param
  • reject-multi-hooked-property
  • remove-assert-get-args
  • remove-key
  • remove-useless-cast-doc
  • res
  • security/emulation-and-unicode-conformance
  • simple
  • tv-add-stmts-iterable
  • tv-array-types
  • tv-trailing-variadic
  • union-types
  • use-colon-instead-of-semicolon-for-case-statements
  • use-deprecated
  • v2.0.1
  • v2.1.0
  • v2.1.1
  • v3.0.0
  • v3.0.0alpha1
  • v3.0.0beta1
  • v3.0.0beta2
  • v3.0.1
  • v3.0.2
  • v3.0.3
  • v3.0.4
  • v3.0.5
  • v3.0.6
  • v3.1.0
  • v3.1.1
  • v3.1.2
  • v3.1.3
  • v3.1.4
  • v3.1.5
  • v4.0.0
  • v4.0.0alpha1
  • v4.0.0alpha2
  • v4.0.0alpha3
  • v4.0.0beta1
  • v4.0.1
  • v4.0.2
  • v4.0.3
  • v4.0.4
  • v4.1.0
  • v4.1.1
  • v4.10.4
  • v4.10.5
  • v4.11.0
  • v4.12.0
  • v4.13.1
  • v4.13.2
  • v4.14.0
  • v4.15.0
  • v4.15.1
  • v4.15.2
  • v4.15.3
  • v4.15.4
  • v4.15.5
  • v4.16.0
  • v4.17.0
  • v4.17.1
  • v4.18.0
  • v4.19.0
  • v4.19.1
  • v4.19.2
  • v4.19.3
  • v4.19.4
  • v4.19.5
  • v4.2.0
  • v4.2.1
  • v4.2.2
  • v4.2.3
  • v4.2.4
  • v4.2.5
  • v4.3.0
  • v4.4.0
  • v4.5.0
  • v4.6.0
  • v4.7.0
  • v4.8.0
  • v5.0.0
  • v5.0.0alpha1
  • v5.0.0alpha2
  • v5.0.0alpha3
  • v5.0.0beta1
  • v5.0.0rc1
  • v5.0.1
  • v5.0.2
  • v5.2.0
  • v5.3.0
  • v5.3.1
  • v5.4.0
  • v5.5.0
  • v5.6.0
  • v5.6.1
  • v5.6.2
  • v5.7.0
  • v5.8.0
  • v5.9.0
  • variadic-no-trailing-comma
  • weak

05 Nov 2026 11:53AM UTC coverage: 92.931%. Remained the same
42022666504

push

github

web-flow
Drop an assertion that never runs in testInvalidDeepArray (#1183)

`testInvalidDeepArray` expects `traverse()` to throw, then wraps that
same call in an assertion:

```php
$this->expectException(\LogicException::class);
$this->expectExceptionMessage('Invalid node structure: Contains nested arrays');
...
$this->assertEquals($stmts, $traverser->traverse($stmts));
```

`traverse()` raises, so the assertion is never reached, and it could not
hold anyway since the call never returns. `testInvalidReturn` a few
tests below already does it the other way, with a bare
`$traverser->traverse($stmts);`, so this just matches that.

7809 of 8403 relevant lines covered (92.93%)

236.72 hits per line

Relevant lines Covered
Build:
Build:
8403 RELEVANT LINES 7809 COVERED LINES
236.72 HITS PER LINE
Source Files on master
  • Tree
  • List 271
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
42022666504 master Drop an assertion that never runs in testInvalidDeepArray (#1183) `testInvalidDeepArray` expects `traverse()` to throw, then wraps that same call in an assertion: ```php $this->expectException(\LogicException::class); $this->expectExceptionMessa... push 05 Nov 2026 11:54AM UTC web-flow github
92.93
41958882051 drop-unreachable-traverse-assertion Merge c75cce204 into 1ee86c89e Pull #1183 05 Nov 2026 08:34AM UTC web-flow github
92.93
40575238339 master perf: Use local variables for parser tables in ParserAbstract::doParse() (#1182) `ParserAbstract::doParse()` reads the action and goto tables on every iteration of its loop, and each of those reads is a property fetch (`$this->actionBase[...]`, `... push 27 Oct 2026 08:08PM UTC web-flow github
92.93
40563952226 perf/parser-tables-in-locals Merge a8c20e268 into 8d2b672af Pull #1182 27 Oct 2026 07:48PM UTC web-flow github
92.93
38834910950 handle-crash-readonly-atttributed-anon Merge fd163c9a7 into 8d2b672af Pull #1179 16 Oct 2026 01:24AM UTC web-flow github
92.92
37275967941 master Reject malformed Unicode escape sequences (#1176) `String_` only matches complete hexadecimal Unicode escapes, leaving malformed sequences as literal text instead of reporting an error: ```php String_::parse('"\u{zz}"'); // Before: literal \u{zz... push 05 Oct 2026 07:07AM UTC web-flow github
92.91
37271476468 fix-invalid-unicode-escapes Merge cbd65c153 into 651e7a90c Pull #1176 05 Oct 2026 07:02AM UTC web-flow github
92.91
37275102599 master Fix integer key renumbering in constant array unpacking (#1174) `ConstExprEvaluator` uses `array_merge()` for array unpacking, which renumbers existing integer keys: ```php $expr = $parser->parse('<?php [5 => "a", ...[1, 2]];')[0]->expr; $evalua... push 05 Oct 2026 06:58AM UTC web-flow github
92.91
37271159797 fix-array-unpack-keys Merge a7c141538 into 651e7a90c Pull #1174 05 Oct 2026 06:56AM UTC web-flow github
92.91
36812158477 fix-invalid-unicode-escapes Merge 457d901ca into 651e7a90c Pull #1176 04 Oct 2026 03:30PM UTC web-flow github
92.91
See All Builds (1678)
  • Repo on GitHub
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