Page MenuHomePhabricator

Let PhutilTypeLexer support qualified names
ClosedPublic

Authored by wjiang on Dec 1 2016, 1:05 AM.
Tags
None
Referenced Files
F13080755: D16967.id40835.diff
Wed, Apr 24, 10:39 AM
F13080754: D16967.id40834.diff
Wed, Apr 24, 10:39 AM
F13080753: D16967.id40833.diff
Wed, Apr 24, 10:39 AM
F13080752: D16967.id40832.diff
Wed, Apr 24, 10:39 AM
F13080751: D16967.id.diff
Wed, Apr 24, 10:39 AM
F13080750: D16967.diff
Wed, Apr 24, 10:39 AM
Unknown Object (File)
Fri, Apr 19, 5:47 PM
Unknown Object (File)
Thu, Apr 18, 11:06 PM
Subscribers

Details

Summary

Ref T11933. This lets PhutilTypeLexer support qualified names.

Test Plan

Unit test

Diff Detail

Repository
rPHU libphutil
Branch
phutil_type_ns
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 14720
Build 19233: arc lint + arc unit

Event Timeline

wjiang retitled this revision from to Let PhutilTypeLexer support qualified names.
wjiang updated this object.
wjiang edited the test plan for this revision. (Show Details)
wjiang added a reviewer: joshuaspence.
epriestley added a reviewer: epriestley.

This change is fine, but I think the new expression is too permissive. Let's add these "good" test cases:

\SomeClass
\Namespace\SomeClass
A\B\C
\A\B\C

And these "bad" test cases:

\
\\
\SomeClass\
SomeClass\

I think some of those won't pass; adjust the regular expression until they do.

(I think all those bad cases are actually illegal, but I haven't used namespaces in PHP very much so my understanding of the syntax may be incorrect.)

This revision now requires changes to proceed.Dec 1 2016, 1:15 AM
wjiang edited edge metadata.
  • Add more tests and fix regex
wjiang edited edge metadata.
  • fix tests
This revision is now accepted and ready to land.Dec 1 2016, 1:50 AM
This revision was automatically updated to reflect the committed changes.