1
0
Fork 0

Merge branch 'master' into remove-formatting

pull/504/head
Felix Becker 2017-11-01 18:06:03 -07:00 committed by GitHub
commit f23ecd5736
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
72 changed files with 258 additions and 209 deletions

View File

@ -8,6 +8,10 @@ php:
services:
- docker
env:
global:
- BUILD_LEADER_ID=1
cache:
directories:
- $HOME/.composer/cache

View File

@ -1,7 +1,8 @@
# PHP Language Server
[![Version](https://img.shields.io/packagist/v/felixfbecker/language-server.svg)](https://packagist.org/packages/felixfbecker/language-server)
[![Build Status](https://travis-ci.org/felixfbecker/php-language-server.svg?branch=master)](https://travis-ci.org/felixfbecker/php-language-server)
[![Linux Build Status](https://travis-ci.org/felixfbecker/php-language-server.svg?branch=master)](https://travis-ci.org/felixfbecker/php-language-server)
[![Windows Build status](https://ci.appveyor.com/api/projects/status/2sp5ll052wdjqmdm/branch/master?svg=true)](https://ci.appveyor.com/project/felixfbecker/php-language-server/branch/master)
[![Coverage](https://codecov.io/gh/felixfbecker/php-language-server/branch/master/graph/badge.svg)](https://codecov.io/gh/felixfbecker/php-language-server)
[![Dependency Status](https://gemnasium.com/badges/github.com/felixfbecker/php-language-server.svg)](https://gemnasium.com/github.com/felixfbecker/php-language-server)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)
@ -188,9 +189,6 @@ Clone the repository and run
composer install
to install dependencies.
Then parse the stubs with
composer run-script parse-stubs
Run the tests with
@ -199,3 +197,7 @@ Run the tests with
Lint with
composer lint
The project parses PHPStorm's PHP stubs to get support for PHP builtins. It re-parses them as needed after Composer processes, but after some code changes (such as ones involving the index or parsing) you may have to explicitly re-parse them:
composer run-script parse-stubs

53
appveyor.yml Normal file
View File

@ -0,0 +1,53 @@
version: '{build}'
platform:
- x64
skip_tags: true
skip_branch_with_pr: true
clone_depth: 1
max_jobs: 3
cache:
- '%LOCALAPPDATA%\Composer'
- '%LOCALAPPDATA%\Temp\Chocolatey'
environment:
ANSICON: 121x90 (121x90)
matrix:
- { PHP_VERSION: '7.1.11', VC_VERSION: '14', XDEBUG_VERSION: '2.5.5' }
install:
# Enable Windows Update service, needed to install vcredist2015 (dependency of php)
- ps: Set-Service wuauserv -StartupType Manual
- choco config set cacheLocation %LOCALAPPDATA%\Temp\Chocolatey
- choco install -y php --version %PHP_VERSION%
- choco install -y composer
- refreshenv
- composer install --no-interaction --no-progress --prefer-dist
# Install XDebug for code coverage
- ps: |
$client = New-Object System.Net.WebClient
$phpMinorVersion = $env:PHP_VERSION -replace '\.\d+$'
$xdebugUrl = "https://xdebug.org/files/php_xdebug-$env:XDEBUG_VERSION-$phpMinorVersion-vc14-nts-x86_64.dll"
$phpDir = (Get-Item (Get-Command php).Source).Directory.FullName
$xdebugPath = Join-Path $phpDir ext\xdebug.dll
$client.DownloadFile($xdebugUrl, $xdebugPath)
$phpIniPath = Join-Path $phpDir php.ini
Add-Content $phpIniPath @"
zend_extension=$xdebugPath
"@
build: off
test_script:
- vendor\bin\phpunit --coverage-clover=coverage/coverage.xml
after_test:
- ps: |
# Delete vendor because it causes problems with codecovs report search
# https://github.com/codecov/codecov-bash/issues/96
Remove-Item -Recurse -Force vendor
$env:PATH = 'C:\msys64\usr\bin;' + $env:PATH
Invoke-WebRequest -Uri 'https://codecov.io/bash' -OutFile codecov.sh
bash codecov.sh -f 'coverage/coverage.xml'

View File

@ -25,7 +25,7 @@
"composer/composer": "^1.3",
"felixfbecker/advanced-json-rpc": "^3.0.0",
"jetbrains/phpstorm-stubs": "dev-master",
"microsoft/tolerant-php-parser": "^0.0.6",
"microsoft/tolerant-php-parser": "0.0.*",
"netresearch/jsonmapper": "^1.0",
"phpdocumentor/reflection-docblock": "^4.0.0",
"sabre/event": "^5.0",

View File

@ -4,7 +4,7 @@
"private": true,
"scripts": {
"commitmsg": "validate-commit-msg",
"semantic-release": "semantic-release pre && ./release-docker.sh && semantic-release post"
"semantic-release": "semantic-release pre && php release-docker.php && semantic-release post"
},
"devDependencies": {
"cz-conventional-changelog": "^2.0.0",

10
release-docker.php Executable file
View File

@ -0,0 +1,10 @@
<?php
$dockerEmail = getenv('DOCKER_EMAIL');
$dockerUsername = getenv('DOCKER_USERNAME');
$dockerPassword = getenv('DOCKER_PASSWORD');
$version = json_decode(file_get_contents(__DIR__ . '/package.json'))->version;
system("docker login -e=$dockerEmail -u=$dockerUsername -p=$dockerPassword");
system("docker build -t felixfbecker/php-language-server:$version .");
system("docker push felixfbecker/php-language-server:$version");

View File

@ -1,6 +0,0 @@
#!/bin/bash
set -e
docker build -t felixfbecker/php-language-server:${TRAVIS_TAG:1} .
docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
docker push felixfbecker/php-language-server:${TRAVIS_TAG:1}

View File

@ -210,7 +210,7 @@ class CompletionProvider
// Collect all definitions that match any of the prefixes
foreach ($this->index->getDefinitions() as $fqn => $def) {
foreach ($prefixes as $prefix) {
if (substr($fqn, 0, strlen($prefix)) === $prefix && !$def->isGlobal) {
if (substr($fqn, 0, strlen($prefix)) === $prefix && $def->isMember) {
$list->items[] = CompletionItem::fromDefinition($def);
}
}
@ -243,7 +243,7 @@ class CompletionProvider
// Collect all definitions that match any of the prefixes
foreach ($this->index->getDefinitions() as $fqn => $def) {
foreach ($prefixes as $prefix) {
if (substr(strtolower($fqn), 0, strlen($prefix)) === strtolower($prefix) && !$def->isGlobal) {
if (substr(strtolower($fqn), 0, strlen($prefix)) === strtolower($prefix) && $def->isMember) {
$list->items[] = CompletionItem::fromDefinition($def);
}
}
@ -316,7 +316,7 @@ class CompletionProvider
if (
// Exclude methods, properties etc.
$def->isGlobal
!$def->isMember
&& (
!$prefix
|| (
@ -415,7 +415,7 @@ class CompletionProvider
// Walk the AST upwards until a scope boundary is met
$level = $node;
while ($level && !ParserHelpers\isFunctionLike($level)) {
while ($level && !($level instanceof PhpParser\FunctionLike)) {
// Walk siblings before the node
$sibling = $level;
while ($sibling = $sibling->getPreviousSibling()) {
@ -429,7 +429,7 @@ class CompletionProvider
// If the traversal ended because a function was met,
// also add its parameters and closure uses to the result list
if ($level && ParserHelpers\isFunctionLike($level) && $level->parameters !== null) {
if ($level && $level instanceof PhpParser\FunctionLike && $level->parameters !== null) {
foreach ($level->parameters->getValues() as $param) {
$paramName = $param->getName();
if (empty($namePrefix) || strpos($paramName, $namePrefix) !== false) {

View File

@ -39,12 +39,13 @@ class Definition
public $extends;
/**
* Only true for classes, interfaces, traits, functions and non-class constants
* False for classes, interfaces, traits, functions and non-class constants
* True for methods, properties and class constants
* This is so methods and properties are not suggested in the global scope
*
* @var bool
*/
public $isGlobal;
public $isMember;
/**
* True if this definition is affected by global namespace fallback (global function or global constant)

View File

@ -181,10 +181,8 @@ class DefinitionResolver
);
// Interfaces, classes, traits, namespaces, functions, and global const elements
$def->isGlobal = (
$node instanceof Node\Statement\InterfaceDeclaration ||
$node instanceof Node\Statement\ClassDeclaration ||
$node instanceof Node\Statement\TraitDeclaration ||
$def->isMember = !(
$node instanceof PhpParser\ClassLike ||
($node instanceof Node\Statement\NamespaceDefinition && $node->name !== null) ||
@ -511,7 +509,7 @@ class DefinitionResolver
// Traverse the AST up
do {
// If a function is met, check the parameters and use statements
if (ParserHelpers\isFunctionLike($n)) {
if ($n instanceof PhpParser\FunctionLike) {
if ($n->parameters !== null) {
foreach ($n->parameters->getElements() as $param) {
if ($param->getName() === $name) {
@ -1020,7 +1018,7 @@ class DefinitionResolver
// 1. doc block
// 2. return type hint
// 3. TODO: infer from return statements
if (ParserHelpers\isFunctionLike($node)) {
if ($node instanceof PhpParser\FunctionLike) {
// Functions/methods
$docBlock = $this->getDocBlock($node);
if (
@ -1101,9 +1099,7 @@ class DefinitionResolver
// interface C { } A\B\C
// trait C { } A\B\C
if (
$node instanceof Node\Statement\ClassDeclaration ||
$node instanceof Node\Statement\InterfaceDeclaration ||
$node instanceof Node\Statement\TraitDeclaration
$node instanceof PhpParser\ClassLike
) {
return (string) $node->getNamespacedName();
}
@ -1134,9 +1130,7 @@ class DefinitionResolver
// Class method: use ClassName->methodName() as name
$class = $node->getFirstAncestor(
Node\Expression\ObjectCreationExpression::class,
Node\Statement\ClassDeclaration::class,
Node\Statement\InterfaceDeclaration::class,
Node\Statement\TraitDeclaration::class
PhpParser\ClassLike::class
);
if (!isset($class->name)) {
// Ignore anonymous classes
@ -1160,9 +1154,7 @@ class DefinitionResolver
($classDeclaration =
$node->getFirstAncestor(
Node\Expression\ObjectCreationExpression::class,
Node\Statement\ClassDeclaration::class,
Node\Statement\InterfaceDeclaration::class,
Node\Statement\TraitDeclaration::class
PhpParser\ClassLike::class
)
) !== null && isset($classDeclaration->name)) {
$name = $node->getName();
@ -1190,9 +1182,7 @@ class DefinitionResolver
// Class constant: use ClassName::CONSTANT_NAME as name
$classDeclaration = $constDeclaration->getFirstAncestor(
Node\Expression\ObjectCreationExpression::class,
Node\Statement\ClassDeclaration::class,
Node\Statement\InterfaceDeclaration::class,
Node\Statement\TraitDeclaration::class
PhpParser\ClassLike::class
);
if (!isset($classDeclaration->name)) {

View File

@ -16,9 +16,9 @@ use function Sabre\Event\coroutine;
class Indexer
{
/**
* @var The prefix for every cache item
* @var int The prefix for every cache item
*/
const CACHE_VERSION = 1;
const CACHE_VERSION = 2;
/**
* @var FilesFinder

View File

@ -25,7 +25,7 @@ function isConstantFetch(Node $node) : bool
$parent instanceof Node\Expression\CallExpression ||
$parent instanceof Node\Expression\ObjectCreationExpression ||
$parent instanceof Node\Expression\ScopedPropertyAccessExpression ||
isFunctionLike($parent) ||
$parent instanceof PhpParser\FunctionLike ||
(
$parent instanceof Node\Expression\BinaryExpression &&
$parent->operator->kind === PhpParser\TokenKind::InstanceOfKeyword
@ -38,14 +38,6 @@ function getFunctionLikeDeclarationFromParameter(Node\Parameter $node)
return $node->parent->parent;
}
function isFunctionLike(Node $node)
{
return
$node instanceof Node\Statement\FunctionDeclaration ||
$node instanceof Node\MethodDeclaration ||
$node instanceof Node\Expression\AnonymousFunctionCreationExpression;
}
function isBooleanExpression($expression) : bool
{
if (!($expression instanceof Node\Expression\BinaryExpression)) {

View File

@ -72,10 +72,10 @@ class TreeAnalyzer
$range = PhpParser\PositionUtilities::getRangeFromPosition($error->start, $error->length, $this->sourceFileNode->fileContents);
switch ($error->kind) {
case \Microsoft\PhpParser\DiagnosticKind::Error:
case PhpParser\DiagnosticKind::Error:
$severity = DiagnosticSeverity::ERROR;
break;
case \Microsoft\PhpParser\DiagnosticKind::Warning:
case PhpParser\DiagnosticKind::Warning:
default:
$severity = DiagnosticSeverity::WARNING;
break;

View File

@ -96,7 +96,9 @@ class ValidationTest extends TestCase
$testCasesDir = realpath(__DIR__ . '/cases');
foreach ($refsAndDefs['references'] as $key => $list) {
$fixedPathRefs = array_map(function ($ref) use ($testCasesDir) {
return str_replace($testCasesDir, '.', $ref);
$ref = str_replace($testCasesDir, '.', $ref);
$ref = str_replace(DIRECTORY_SEPARATOR, '/', $ref);
return $ref;
}, $list);
$refsAndDefs['references']->$key = $fixedPathRefs;
@ -107,6 +109,7 @@ class ValidationTest extends TestCase
if ($def !== null && $def->symbolInformation !== null &&
$def->symbolInformation->location !== null && $def->symbolInformation->location->uri !== null) {
$def->symbolInformation->location->uri = str_replace($testCasesDir, '.', $def->symbolInformation->location->uri);
$def->symbolInformation->location->uri = str_replace(DIRECTORY_SEPARATOR, '/', $def->symbolInformation->location->uri);
}
}

View File

@ -20,7 +20,7 @@
"Fixtures\\Prophecy": {
"fqn": "Fixtures\\Prophecy",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -41,7 +41,7 @@
"extends": [
"Fixtures\\Prophecy\\EmptyClass"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -60,7 +60,7 @@
"Fixtures\\Prophecy\\WithReturnTypehints->getSelf()": {
"fqn": "Fixtures\\Prophecy\\WithReturnTypehints->getSelf()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -80,7 +80,7 @@
"Fixtures\\Prophecy\\WithReturnTypehints->getName()": {
"fqn": "Fixtures\\Prophecy\\WithReturnTypehints->getName()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -100,7 +100,7 @@
"Fixtures\\Prophecy\\WithReturnTypehints->getParent()": {
"fqn": "Fixtures\\Prophecy\\WithReturnTypehints->getParent()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -23,7 +23,7 @@
"A->foo": {
"fqn": "A->foo",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"TestNamespace": {
"fqn": "TestNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"TestNamespace\\A": {
"fqn": "TestNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"TestNamespace\\A->a": {
"fqn": "TestNamespace\\A->a",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"TestNamespace": {
"fqn": "TestNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"TestNamespace\\TestClass": {
"fqn": "TestNamespace\\TestClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"TestNamespace\\TestClass->testProperty": {
"fqn": "TestNamespace\\TestClass->testProperty",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -69,7 +69,7 @@
"TestNamespace\\TestClass->testMethod()": {
"fqn": "TestNamespace\\TestClass->testMethod()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::suite()": {
"fqn": "MyNamespace\\A::suite()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::suite()": {
"fqn": "MyNamespace\\A::suite()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::suite()": {
"fqn": "MyNamespace\\A::suite()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A->suite()": {
"fqn": "MyNamespace\\A->suite()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"MyNamespace\\Mbstring": {
"fqn": "MyNamespace\\Mbstring",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -46,7 +46,7 @@
"MyNamespace\\Mbstring::MB_CASE_FOLD": {
"fqn": "MyNamespace\\Mbstring::MB_CASE_FOLD",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"A->b()": {
"fqn": "A->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"B": {
"fqn": "B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -27,7 +27,7 @@
"A::$deprecationsTriggered": {
"fqn": "A::$deprecationsTriggered",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::a()": {
"fqn": "MyNamespace\\A::a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::a()": {
"fqn": "MyNamespace\\A::a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -26,7 +26,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -45,7 +45,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -64,7 +64,7 @@
"MyNamespace\\A::getInitializer()": {
"fqn": "MyNamespace\\A::getInitializer()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -17,7 +17,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -36,7 +36,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -55,7 +55,7 @@
"MyNamespace\\A->testRequest()": {
"fqn": "MyNamespace\\A->testRequest()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"MyNamespace\\ParseErrorsTest": {
"fqn": "MyNamespace\\ParseErrorsTest",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -46,7 +46,7 @@
"MyNamespace\\ParseErrorsTest->setUp()": {
"fqn": "MyNamespace\\ParseErrorsTest->setUp()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\ParseErrorsTest": {
"fqn": "MyNamespace\\ParseErrorsTest",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\ParseErrorsTest->setAccount()": {
"fqn": "MyNamespace\\ParseErrorsTest->setAccount()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"FooClass": {
"fqn": "FooClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -27,7 +27,7 @@
"FooClass->foo()": {
"fqn": "FooClass->foo()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -17,7 +17,7 @@
"MyNamespace1": {
"fqn": "MyNamespace1",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -36,7 +36,7 @@
"MyNamespace1\\B": {
"fqn": "MyNamespace1\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -55,7 +55,7 @@
"MyNamespace1\\B->b()": {
"fqn": "MyNamespace1\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -75,7 +75,7 @@
"MyNamespace2": {
"fqn": "MyNamespace2",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -96,7 +96,7 @@
"extends": [
"MyNamespace2\\MyNamespace1\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -115,7 +115,7 @@
"MyNamespace2\\A->a()": {
"fqn": "MyNamespace2\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"Foo": {
"fqn": "Foo",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -23,7 +23,7 @@
"Foo->fn()": {
"fqn": "Foo->fn()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -23,7 +23,7 @@
"A->b()": {
"fqn": "A->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -17,7 +17,7 @@
"MyNamespace1": {
"fqn": "MyNamespace1",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -26,7 +26,7 @@
"B": {
"fqn": "B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"A\\B": {
"fqn": "A\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"LanguageServer\\Tests\\Utils": {
"fqn": "LanguageServer\\Tests\\Utils",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -46,7 +46,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -68,7 +68,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -27,7 +27,7 @@
"A->a()": {
"fqn": "A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"MyNamespace\\init()": {
"fqn": "MyNamespace\\init()",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -71,7 +71,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -90,7 +90,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"MyClass": {
"fqn": "MyClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -23,7 +23,7 @@
"MyClass->mainPropertyName": {
"fqn": "MyClass->mainPropertyName",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -4,7 +4,7 @@
"MyClass": {
"fqn": "MyClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -23,7 +23,7 @@
"MyClass->mainPropertyName": {
"fqn": "MyClass->mainPropertyName",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"TestNamespace": {
"fqn": "TestNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"TestNamespace\\whatever()": {
"fqn": "TestNamespace\\whatever()",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -30,7 +30,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -49,7 +49,7 @@
"MyNamespace\\A::a()": {
"fqn": "MyNamespace\\A::a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"A": {
"fqn": "A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -30,7 +30,7 @@
"A::$a": {
"fqn": "A::$a",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -17,7 +17,7 @@
"TestClass": {
"fqn": "TestClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -36,7 +36,7 @@
"TestClass::$testProperty": {
"fqn": "TestClass::$testProperty",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -23,7 +23,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -42,7 +42,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -61,7 +61,7 @@
"MyNamespace\\A::suite()": {
"fqn": "MyNamespace\\A::suite()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -27,7 +27,7 @@
"MyNamespace\\A": {
"fqn": "MyNamespace\\A",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -46,7 +46,7 @@
"MyNamespace\\A->typesProvider()": {
"fqn": "MyNamespace\\A->typesProvider()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -14,7 +14,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -33,7 +33,7 @@
"MyNamespace\\B": {
"fqn": "MyNamespace\\B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -52,7 +52,7 @@
"MyNamespace\\B->b()": {
"fqn": "MyNamespace\\B->b()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -74,7 +74,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -93,7 +93,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"MyNamespace": {
"fqn": "MyNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -29,7 +29,7 @@
"extends": [
"MyNamespace\\B"
],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -48,7 +48,7 @@
"MyNamespace\\A->a()": {
"fqn": "MyNamespace\\A->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"FooClass": {
"fqn": "FooClass",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -27,7 +27,7 @@
"FooClass::staticFoo()": {
"fqn": "FooClass::staticFoo()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": true,
"canBeInstantiated": false,
@ -47,7 +47,7 @@
"FooClass->bar()": {
"fqn": "FooClass->bar()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"B": {
"fqn": "B",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -27,7 +27,7 @@
"B->hi": {
"fqn": "B->hi",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -47,7 +47,7 @@
"B->a()": {
"fqn": "B->a()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -8,7 +8,7 @@
"SomeNamespace": {
"fqn": "SomeNamespace",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,

View File

@ -11,7 +11,7 @@
"Foo": {
"fqn": "Foo",
"extends": [],
"isGlobal": true,
"isMember": false,
"roamed": false,
"isStatic": false,
"canBeInstantiated": true,
@ -30,7 +30,7 @@
"Foo->bar": {
"fqn": "Foo->bar",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,
@ -50,7 +50,7 @@
"Foo->foo()": {
"fqn": "Foo->foo()",
"extends": [],
"isGlobal": false,
"isMember": true,
"roamed": false,
"isStatic": false,
"canBeInstantiated": false,