Fix #97 - add questionToken for parsing nullable types, update test baseline
This commit is contained in:
Родитель
96fca7638f
Коммит
2cc3701de5
|
@ -35,6 +35,7 @@ class AnonymousFunctionCreationExpression extends Expression {
|
|||
|
||||
// FunctionReturnType
|
||||
'colonToken',
|
||||
'questionToken',
|
||||
'returnType',
|
||||
|
||||
// FunctionBody
|
||||
|
|
|
@ -11,6 +11,8 @@ use Microsoft\PhpParser\Token;
|
|||
trait FunctionReturnType {
|
||||
/** @var Token */
|
||||
public $colonToken;
|
||||
/** @var Token|null */
|
||||
public $questionToken;
|
||||
/** @var Token | QualifiedName */
|
||||
public $returnType;
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ class MethodDeclaration extends Node {
|
|||
|
||||
// FunctionReturnType
|
||||
'colonToken',
|
||||
'questionToken',
|
||||
'returnType',
|
||||
|
||||
// FunctionBody
|
||||
|
|
|
@ -10,23 +10,23 @@ use Microsoft\PhpParser\Node;
|
|||
use Microsoft\PhpParser\Token;
|
||||
|
||||
class Parameter extends Node {
|
||||
/** @var Token|null */
|
||||
public $questionToken;
|
||||
/** @var QualifiedName | Token | null */
|
||||
public $typeDeclaration;
|
||||
/** @var Token | null */
|
||||
public $byRefToken;
|
||||
/** @var Token | null */
|
||||
public $dotDotDotToken;
|
||||
|
||||
/** @var Token */
|
||||
public $variableName;
|
||||
|
||||
/** @var Token | null */
|
||||
public $equalsToken;
|
||||
|
||||
/** @var null | Expression */
|
||||
public $default;
|
||||
|
||||
const CHILD_NAMES = [
|
||||
'questionToken',
|
||||
'typeDeclaration',
|
||||
'byRefToken',
|
||||
'dotDotDotToken',
|
||||
|
|
|
@ -28,6 +28,7 @@ class FunctionDeclaration extends StatementNode implements NamespacedNameInterfa
|
|||
|
||||
// FunctionReturnType
|
||||
'colonToken',
|
||||
'questionToken',
|
||||
'returnType',
|
||||
|
||||
// FunctionBody
|
||||
|
|
|
@ -598,6 +598,7 @@ class Parser {
|
|||
return function ($parentNode) {
|
||||
$parameter = new Parameter();
|
||||
$parameter->parent = $parentNode;
|
||||
$parameter->questionToken = $this->eatOptional(TokenKind::QuestionToken);
|
||||
$parameter->typeDeclaration = $this->tryParseParameterTypeDeclaration($parameter);
|
||||
$parameter->byRefToken = $this->eatOptional(TokenKind::AmpersandToken);
|
||||
// TODO add post-parse rule that prevents assignment
|
||||
|
@ -1086,6 +1087,10 @@ class Parser {
|
|||
|
||||
case TokenKind::VariableName:
|
||||
return true;
|
||||
|
||||
// nullable-type
|
||||
case TokenKind::QuestionToken:
|
||||
return true;
|
||||
}
|
||||
|
||||
// scalar-type
|
||||
|
@ -1195,45 +1200,46 @@ class Parser {
|
|||
return null;
|
||||
}
|
||||
|
||||
private function parseFunctionType(Node $functionDefinition, $canBeAbstract = false, $isAnonymous = false) {
|
||||
$functionDefinition->functionKeyword = $this->eat(TokenKind::FunctionKeyword);
|
||||
$functionDefinition->byRefToken = $this->eatOptional(TokenKind::AmpersandToken);
|
||||
$functionDefinition->name = $isAnonymous
|
||||
private function parseFunctionType(Node $functionDeclaration, $canBeAbstract = false, $isAnonymous = false) {
|
||||
$functionDeclaration->functionKeyword = $this->eat(TokenKind::FunctionKeyword);
|
||||
$functionDeclaration->byRefToken = $this->eatOptional(TokenKind::AmpersandToken);
|
||||
$functionDeclaration->name = $isAnonymous
|
||||
? $this->eatOptional($this->nameOrKeywordOrReservedWordTokens)
|
||||
: $this->eat($this->nameOrKeywordOrReservedWordTokens);
|
||||
|
||||
if (isset($functionDefinition->name)) {
|
||||
$functionDefinition->name->kind = TokenKind::Name;
|
||||
if (isset($functionDeclaration->name)) {
|
||||
$functionDeclaration->name->kind = TokenKind::Name;
|
||||
}
|
||||
|
||||
if ($isAnonymous && isset($functionDefinition->name)) {
|
||||
if ($isAnonymous && isset($functionDeclaration->name)) {
|
||||
// Anonymous functions should not have names
|
||||
$functionDefinition->name = new SkippedToken($functionDefinition->name); // TODO instaed handle this during post-walk
|
||||
$functionDeclaration->name = new SkippedToken($functionDeclaration->name); // TODO instaed handle this during post-walk
|
||||
}
|
||||
|
||||
$functionDefinition->openParen = $this->eat(TokenKind::OpenParenToken);
|
||||
$functionDefinition->parameters = $this->parseDelimitedList(
|
||||
$functionDeclaration->openParen = $this->eat(TokenKind::OpenParenToken);
|
||||
$functionDeclaration->parameters = $this->parseDelimitedList(
|
||||
DelimitedList\ParameterDeclarationList::class,
|
||||
TokenKind::CommaToken,
|
||||
$this->isParameterStartFn(),
|
||||
$this->parseParameterFn(),
|
||||
$functionDefinition);
|
||||
$functionDefinition->closeParen = $this->eat(TokenKind::CloseParenToken);
|
||||
$functionDeclaration);
|
||||
$functionDeclaration->closeParen = $this->eat(TokenKind::CloseParenToken);
|
||||
if ($isAnonymous) {
|
||||
$functionDefinition->anonymousFunctionUseClause = $this->parseAnonymousFunctionUseClause($functionDefinition);
|
||||
$functionDeclaration->anonymousFunctionUseClause = $this->parseAnonymousFunctionUseClause($functionDeclaration);
|
||||
}
|
||||
|
||||
if ($this->checkToken(TokenKind::ColonToken)) {
|
||||
$functionDefinition->colonToken = $this->eat(TokenKind::ColonToken);
|
||||
$functionDefinition->returnType = $this->parseReturnTypeDeclaration($functionDefinition);
|
||||
$functionDeclaration->colonToken = $this->eat(TokenKind::ColonToken);
|
||||
$functionDeclaration->questionToken = $this->eatOptional(TokenKind::QuestionToken);
|
||||
$functionDeclaration->returnType = $this->parseReturnTypeDeclaration($functionDeclaration);
|
||||
}
|
||||
|
||||
if ($canBeAbstract) {
|
||||
$functionDefinition->compoundStatementOrSemicolon = $this->eatOptional(TokenKind::SemicolonToken);
|
||||
$functionDeclaration->compoundStatementOrSemicolon = $this->eatOptional(TokenKind::SemicolonToken);
|
||||
}
|
||||
|
||||
if (!isset($functionDefinition->compoundStatementOrSemicolon)) {
|
||||
$functionDefinition->compoundStatementOrSemicolon = $this->parseCompoundStatement($functionDefinition);
|
||||
if (!isset($functionDeclaration->compoundStatementOrSemicolon)) {
|
||||
$functionDeclaration->compoundStatementOrSemicolon = $this->parseCompoundStatement($functionDeclaration);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -65,6 +65,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -65,6 +65,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "BoolReservedWord",
|
||||
"textLength": 4
|
||||
|
|
|
@ -69,6 +69,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "BoolReservedWord",
|
||||
"textLength": 4
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "VoidReservedWord",
|
||||
"textLength": 4
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
},
|
||||
"anonymousFunctionUseClause": null,
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -92,6 +92,7 @@
|
|||
}
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -74,6 +75,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -93,6 +95,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -57,6 +57,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -74,6 +75,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -96,6 +98,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
@ -102,6 +103,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": {
|
||||
"kind": "AmpersandToken",
|
||||
|
@ -73,6 +75,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -84,6 +86,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -81,6 +83,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -85,6 +87,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -79,6 +81,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -98,6 +101,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -79,6 +81,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": {
|
||||
|
@ -101,6 +104,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -50,6 +51,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
|
||||
function b(?MyClass $x, ?int $y): int {
|
||||
return 1;
|
||||
}
|
|
@ -0,0 +1,142 @@
|
|||
{
|
||||
"SourceFileNode": {
|
||||
"statementList": [
|
||||
{
|
||||
"InlineHtml": {
|
||||
"scriptSectionEndTag": null,
|
||||
"text": null,
|
||||
"scriptSectionStartTag": {
|
||||
"kind": "ScriptSectionStartTag",
|
||||
"textLength": 6
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"FunctionDeclaration": {
|
||||
"functionKeyword": {
|
||||
"kind": "FunctionKeyword",
|
||||
"textLength": 8
|
||||
},
|
||||
"byRefToken": null,
|
||||
"name": {
|
||||
"kind": "Name",
|
||||
"textLength": 1
|
||||
},
|
||||
"openParen": {
|
||||
"kind": "OpenParenToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"parameters": {
|
||||
"ParameterDeclarationList": {
|
||||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": {
|
||||
"kind": "QuestionToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
"relativeSpecifier": null,
|
||||
"nameParts": [
|
||||
{
|
||||
"kind": "Name",
|
||||
"textLength": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
"variableName": {
|
||||
"kind": "VariableName",
|
||||
"textLength": 2
|
||||
},
|
||||
"equalsToken": null,
|
||||
"default": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "CommaToken",
|
||||
"textLength": 1
|
||||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": {
|
||||
"kind": "QuestionToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"typeDeclaration": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
},
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
"variableName": {
|
||||
"kind": "VariableName",
|
||||
"textLength": 2
|
||||
},
|
||||
"equalsToken": null,
|
||||
"default": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"closeParen": {
|
||||
"kind": "CloseParenToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"colonToken": {
|
||||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
},
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
"openBrace": {
|
||||
"kind": "OpenBraceToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"ReturnStatement": {
|
||||
"returnKeyword": {
|
||||
"kind": "ReturnKeyword",
|
||||
"textLength": 6
|
||||
},
|
||||
"expression": {
|
||||
"NumericLiteral": {
|
||||
"children": {
|
||||
"kind": "IntegerLiteralToken",
|
||||
"textLength": 1
|
||||
}
|
||||
}
|
||||
},
|
||||
"semicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
"textLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"closeBrace": {
|
||||
"kind": "CloseBraceToken",
|
||||
"textLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"endOfFileToken": {
|
||||
"kind": "EndOfFileToken",
|
||||
"textLength": 0
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
<?php
|
||||
|
||||
function b(MyClass $x, int $y): ?int {
|
||||
return null;
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
{
|
||||
"SourceFileNode": {
|
||||
"statementList": [
|
||||
{
|
||||
"InlineHtml": {
|
||||
"scriptSectionEndTag": null,
|
||||
"text": null,
|
||||
"scriptSectionStartTag": {
|
||||
"kind": "ScriptSectionStartTag",
|
||||
"textLength": 6
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"FunctionDeclaration": {
|
||||
"functionKeyword": {
|
||||
"kind": "FunctionKeyword",
|
||||
"textLength": 8
|
||||
},
|
||||
"byRefToken": null,
|
||||
"name": {
|
||||
"kind": "Name",
|
||||
"textLength": 1
|
||||
},
|
||||
"openParen": {
|
||||
"kind": "OpenParenToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"parameters": {
|
||||
"ParameterDeclarationList": {
|
||||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
"relativeSpecifier": null,
|
||||
"nameParts": [
|
||||
{
|
||||
"kind": "Name",
|
||||
"textLength": 7
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
"variableName": {
|
||||
"kind": "VariableName",
|
||||
"textLength": 2
|
||||
},
|
||||
"equalsToken": null,
|
||||
"default": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "CommaToken",
|
||||
"textLength": 1
|
||||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
},
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
"variableName": {
|
||||
"kind": "VariableName",
|
||||
"textLength": 2
|
||||
},
|
||||
"equalsToken": null,
|
||||
"default": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"closeParen": {
|
||||
"kind": "CloseParenToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"colonToken": {
|
||||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": {
|
||||
"kind": "QuestionToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"returnType": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
},
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
"openBrace": {
|
||||
"kind": "OpenBraceToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"statements": [
|
||||
{
|
||||
"ReturnStatement": {
|
||||
"returnKeyword": {
|
||||
"kind": "ReturnKeyword",
|
||||
"textLength": 6
|
||||
},
|
||||
"expression": {
|
||||
"ReservedWord": {
|
||||
"children": {
|
||||
"kind": "NullReservedWord",
|
||||
"textLength": 4
|
||||
}
|
||||
}
|
||||
},
|
||||
"semicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
"textLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"closeBrace": {
|
||||
"kind": "CloseBraceToken",
|
||||
"textLength": 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"endOfFileToken": {
|
||||
"kind": "EndOfFileToken",
|
||||
"textLength": 0
|
||||
}
|
||||
}
|
||||
}
|
|
@ -35,6 +35,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
@ -59,6 +60,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
|
@ -84,6 +86,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "IntReservedWord",
|
||||
"textLength": 3
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -59,6 +60,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -78,6 +80,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -55,6 +56,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -74,6 +76,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -70,6 +72,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"error": "MissingToken",
|
||||
"kind": "ReturnType",
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -48,6 +49,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": {
|
||||
|
@ -70,6 +72,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -72,6 +73,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -104,6 +106,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"kind": "BoolReservedWord",
|
||||
"textLength": 4
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
@ -90,6 +91,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
@ -101,6 +102,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -72,6 +73,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -91,6 +93,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
"children": [
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -72,6 +73,7 @@
|
|||
},
|
||||
{
|
||||
"Parameter": {
|
||||
"questionToken": null,
|
||||
"typeDeclaration": null,
|
||||
"byRefToken": null,
|
||||
"dotDotDotToken": null,
|
||||
|
@ -101,6 +103,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"kind": "SemicolonToken",
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": {
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
|
|
@ -56,6 +56,7 @@
|
|||
"kind": "ColonToken",
|
||||
"textLength": 1
|
||||
},
|
||||
"questionToken": null,
|
||||
"returnType": {
|
||||
"QualifiedName": {
|
||||
"globalSpecifier": null,
|
||||
|
|
|
@ -68,6 +68,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -73,6 +73,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
@ -176,6 +177,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
"textLength": 1
|
||||
},
|
||||
"colonToken": null,
|
||||
"questionToken": null,
|
||||
"returnType": null,
|
||||
"compoundStatementOrSemicolon": {
|
||||
"CompoundStatementNode": {
|
||||
|
|
Загрузка…
Ссылка в новой задаче