2017-03-05 02:36:17 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace LanguageServer;
|
|
|
|
|
|
|
|
use Microsoft\PhpParser as Tolerant;
|
|
|
|
use LanguageServer\Index\ReadableIndex;
|
|
|
|
|
|
|
|
class ParserResourceFactory {
|
2017-03-05 04:56:01 +00:00
|
|
|
const PARSER_KIND = ParserKind::TOLERANT_PHP_PARSER;
|
2017-03-05 02:36:17 +00:00
|
|
|
|
|
|
|
public function getParser() {
|
|
|
|
if (self::PARSER_KIND === ParserKind::PHP_PARSER) {
|
|
|
|
return new Parser;
|
|
|
|
} else {
|
|
|
|
return new Tolerant\Parser;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getDefinitionResolver(ReadableIndex $index) {
|
|
|
|
if (self::PARSER_KIND === ParserKind::PHP_PARSER) {
|
|
|
|
return new DefinitionResolver($index);
|
|
|
|
} else {
|
|
|
|
return new TolerantDefinitionResolver($index);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|