1
0
Fork 0
php-language-server/src/ParserResourceFactory.php

36 lines
1.1 KiB
PHP
Raw Normal View History

2017-03-05 02:36:17 +00:00
<?php
namespace LanguageServer;
use Microsoft\PhpParser as Tolerant;
use LanguageServer\Index\ReadableIndex;
class ParserResourceFactory {
const PARSER_KIND = ParserKind::TOLERANT_PHP_PARSER;
2017-03-05 02:36:17 +00:00
public static function getParser() {
2017-03-05 02:36:17 +00:00
if (self::PARSER_KIND === ParserKind::PHP_PARSER) {
return new Parser;
} else {
return new Tolerant\Parser;
}
}
public static function getDefinitionResolver(ReadableIndex $index) {
2017-03-05 02:36:17 +00:00
if (self::PARSER_KIND === ParserKind::PHP_PARSER) {
return new DefinitionResolver($index);
} else {
return new TolerantDefinitionResolver($index);
}
}
public static function getTreeAnalyzer($parser, $content, $docBlockFactory, $definitionResolver, $uri)
{
if (self::PARSER_KIND === ParserKind::PHP_PARSER) {
return new TreeAnalyzer($parser, $content, $docBlockFactory, $definitionResolver, $uri);
} else {
return new TolerantTreeAnalyzer($parser, $content, $docBlockFactory, $definitionResolver, $uri);
}
}
2017-03-05 02:36:17 +00:00
}