Page MenuHomePhabricator

D7584.diff

diff --git a/src/symbols/PhutilSymbolLoader.php b/src/symbols/PhutilSymbolLoader.php
--- a/src/symbols/PhutilSymbolLoader.php
+++ b/src/symbols/PhutilSymbolLoader.php
@@ -169,6 +169,13 @@
);
}
+ $names = null;
+ if ($this->base) {
+ $names = $this->selectDescendantsOf(
+ $bootloader->getClassTree(),
+ $this->base);
+ }
+
$symbols = array();
foreach ($libraries as $library) {
$map = $bootloader->getLibraryMap($library);
@@ -198,6 +205,13 @@
} else {
$filtered_map = array();
}
+ } else if ($names !== null) {
+ $filtered_map = array();
+ foreach ($names as $name => $ignored) {
+ if (isset($lookup_map[$name])) {
+ $filtered_map[$name] = $lookup_map[$name];
+ }
+ }
} else {
// Otherwise, start with everything.
$filtered_map = $lookup_map;
@@ -223,22 +237,6 @@
}
}
- if ($this->base) {
- $names = $this->selectDescendantsOf(
- $bootloader->getClassTree(),
- $this->base);
-
- foreach ($symbols as $symbol_key => $symbol) {
- $type = $symbol['type'];
- if ($type == 'class' || $type == 'interface') {
- if (isset($names[$symbol['name']])) {
- continue;
- }
- }
- unset($symbols[$symbol_key]);
- }
- }
-
if (!$this->suppressLoad) {
$caught = null;
foreach ($symbols as $symbol) {
@@ -320,6 +318,7 @@
return $objects;
}
+
/* -( Internals )---------------------------------------------------------- */

File Metadata

Mime Type
text/x-diff
Storage Engine
amazon-s3
Storage Format
Raw Data
Storage Handle
phabricator/bt/ai/npc6v5tw3kba5eiw
Default Alt Text
D7584.diff (1 KB)

Event Timeline