Page MenuHomePhabricator

Extend nodes in both directions in XHPAST
ClosedPublic

Authored by epriestley on Jan 7 2015, 1:38 PM.
Tags
None
Referenced Files
F15440518: D11268.diff
Wed, Mar 26, 1:08 PM
F15418500: D11268.id27071.diff
Thu, Mar 20, 11:40 PM
F15412064: D11268.id27070.diff
Wed, Mar 19, 11:06 AM
F15411362: D11268.id.diff
Wed, Mar 19, 9:12 AM
F15405135: D11268.diff
Tue, Mar 18, 10:25 AM
F15389152: D11268.diff
Sat, Mar 15, 4:56 AM
F15381294: D11268.diff
Fri, Mar 14, 6:54 AM
F15330589: D11268.id27070.diff
Fri, Mar 7, 7:48 AM
Subscribers

Details

Summary

Currently, appendChild() extends tokens only to the right, so this produces the wrong result:

NLMORE($$, $2);
$$->apppendChild($1);

Instead of separate setBegin() + setEnd() operations, just always extend both sides of the range if applicable. This reduces NLMORE to NMORE and removes the pitfall from the codebase.

(I retained NEXTEND() because I think it makes the code a little more clear.)

Test Plan
  • Unit tests.
  • Parsed a snippet with methods-with-modifiers and methods-without-modifiers and saw the whole method definition end up in the n_METHOD_DECLARATION node.

Diff Detail

Repository
rPHU libphutil
Branch
nlmore
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 3664
Build 3674: [Placeholder Plan] Wait for 30 Seconds