From 3f4ec3a0602a809cd4c20048390b9230b5885a05 Mon Sep 17 00:00:00 2001 From: Yilun Date: Wed, 23 Jul 2025 18:00:50 +0800 Subject: [PATCH] feat: add new JSON file for minor change tracking in @rightcapital/php-parser --- ...-cd87dc5c-d5d4-4cfb-8d82-92d609348145.json | 7 +++ src/php-parser/helpers/cli-helpers.ts | 48 +++++++++++++++++-- .../helpers/type-generation-helpers.ts | 37 +++++++++++--- src/php-parser/types/types.ts | 24 +++++----- 4 files changed, 94 insertions(+), 22 deletions(-) create mode 100644 change/@rightcapital-php-parser-cd87dc5c-d5d4-4cfb-8d82-92d609348145.json diff --git a/change/@rightcapital-php-parser-cd87dc5c-d5d4-4cfb-8d82-92d609348145.json b/change/@rightcapital-php-parser-cd87dc5c-d5d4-4cfb-8d82-92d609348145.json new file mode 100644 index 00000000..5f9cb0c7 --- /dev/null +++ b/change/@rightcapital-php-parser-cd87dc5c-d5d4-4cfb-8d82-92d609348145.json @@ -0,0 +1,7 @@ +{ + "type": "minor", + "comment": "feat(cli-helpers): add async PHP file parsing method and refactor path resolution", + "packageName": "@rightcapital/php-parser", + "email": "yilunsun11@yeah.net", + "dependentChangeType": "patch" +} diff --git a/src/php-parser/helpers/cli-helpers.ts b/src/php-parser/helpers/cli-helpers.ts index 0cbea865..c9511633 100644 --- a/src/php-parser/helpers/cli-helpers.ts +++ b/src/php-parser/helpers/cli-helpers.ts @@ -1,12 +1,12 @@ -import { execSync } from 'node:child_process'; +import { execFile, execSync } from 'node:child_process'; import * as fs from 'node:fs'; import { tmpdir } from 'node:os'; -import { resolve } from 'node:path'; +import * as path from 'node:path'; import { PROJECT_ROOT } from '../../constants'; import type { NodeTypeInheritingFromNodeAbstract } from '../types/types'; -const defaultPhpParserBinaryPath = resolve( +const defaultPhpParserBinaryPath = path.resolve( PROJECT_ROOT, 'vendor', 'bin', @@ -42,6 +42,46 @@ export class CliHelpers { ) as NodeTypeInheritingFromNodeAbstract[]; } + /** + * Using PHP version php phaser to Parse PHP File to AST (Async version) + * + * @param phpFilePath The PHP file path to parse + * @returns Promise resolving to an AST in JSON format from php parser + */ + public static async parsePhpFileToAstAsync( + phpFilePath: string, + ): Promise { + return new Promise((resolve, reject) => { + execFile( + PHP_PARSER_BINARY, + [phpFilePath, '-j'], + { + encoding: 'utf8', + maxBuffer: MAX_BUFFER_SIZE_FOR_PHP_BINARY_OUTPUT, + }, + (error, stdout) => { + if (error) { + reject(new Error(`Failed to parse PHP file: ${error.message}`)); + return; + } + + try { + const result = JSON.parse( + stdout, + ) as NodeTypeInheritingFromNodeAbstract[]; + resolve(result); + } catch (parseError) { + reject( + new Error( + `Failed to parse JSON output: ${parseError instanceof Error ? parseError.message : String(parseError)}`, + ), + ); + } + }, + ); + }); + } + /** * Parse a PHP Code string to AST in JSON format * Because we are invoking PHP parser to parse the string @@ -56,7 +96,7 @@ export class CliHelpers { /** * Temp file like "php-parser-{current time}.tmp" + */ - const temporaryFilename = resolve( + const temporaryFilename = path.resolve( tmpdir(), `${currentDate.getTime()}.${currentDate.getMilliseconds()}.tmp`, ); diff --git a/src/php-parser/helpers/type-generation-helpers.ts b/src/php-parser/helpers/type-generation-helpers.ts index 8b581b4d..cd9c1b30 100644 --- a/src/php-parser/helpers/type-generation-helpers.ts +++ b/src/php-parser/helpers/type-generation-helpers.ts @@ -32,14 +32,39 @@ export class TypeGenerationHelpers { const combinationTypesPart = Object.entries(allNodes) .map(([name, nodeItem]) => { + const validSubNodeTypes = nodeItem.subNodeNames + .filter((subNodeName) => { + const subNode = allNodes[subNodeName]; + const hasNodeType = + subNode && + subNode.nodeType !== undefined && + subNode.nodeType !== ''; + const isUnionType = + subNode && + subNode.subNodeNames && + subNode.subNodeNames.length > 0; + + return hasNodeType || isUnionType; + }) + .map((subNodeName) => + TypeGenerationHelpers.getGroupedTypeNameForNode(subNodeName), + ); + + const shouldIncludeSelf = + nodeItem.nodeType !== undefined && nodeItem.nodeType !== ''; + + const typeComponents = [ + ...(shouldIncludeSelf ? [name] : []), + ...validSubNodeTypes, + ]; + + if (typeComponents.length === 0) { + typeComponents.push(name); + } + return `export type ${TypeGenerationHelpers.getGroupedTypeNameForNode( name, - )} = ${[ - name, - ...nodeItem.subNodeNames.map((subNodeName) => - TypeGenerationHelpers.getGroupedTypeNameForNode(subNodeName), - ), - ].join(' | ')};`; + )} = ${typeComponents.join(' | ')};`; }) .join('\n'); diff --git a/src/php-parser/types/types.ts b/src/php-parser/types/types.ts index 6d22b84f..a7379f28 100644 --- a/src/php-parser/types/types.ts +++ b/src/php-parser/types/types.ts @@ -181,21 +181,21 @@ import type { FullyQualifiedVarLikeIdentifier } from './node/var-like-identifier import type { FullyQualifiedVariadicPlaceholder } from './node/variadic-placeholder'; export type NodeTypeInheritingFromFullyQualifiedArg = FullyQualifiedArg; -export type NodeTypeInheritingFromNodeAbstract = NodeAbstract | NodeTypeInheritingFromFullyQualifiedArg | NodeTypeInheritingFromFullyQualifiedArrayItem | NodeTypeInheritingFromFullyQualifiedAttribute | NodeTypeInheritingFromFullyQualifiedAttributeGroup | NodeTypeInheritingFromFullyQualifiedClosureUse | NodeTypeInheritingFromFullyQualifiedComplexType | NodeTypeInheritingFromFullyQualifiedConst | NodeTypeInheritingFromFullyQualifiedDeclareItem | NodeTypeInheritingFromFullyQualifiedExpr | NodeTypeInheritingFromFullyQualifiedIdentifier | NodeTypeInheritingFromFullyQualifiedInterpolatedStringPart | NodeTypeInheritingFromFullyQualifiedMatchArm | NodeTypeInheritingFromFullyQualifiedName | NodeTypeInheritingFromFullyQualifiedParam | NodeTypeInheritingFromFullyQualifiedPropertyHook | NodeTypeInheritingFromFullyQualifiedPropertyItem | NodeTypeInheritingFromFullyQualifiedStaticVar | NodeTypeInheritingFromFullyQualifiedStmt | NodeTypeInheritingFromFullyQualifiedUseItem | NodeTypeInheritingFromFullyQualifiedVariadicPlaceholder; +export type NodeTypeInheritingFromNodeAbstract = NodeTypeInheritingFromFullyQualifiedArg | NodeTypeInheritingFromFullyQualifiedArrayItem | NodeTypeInheritingFromFullyQualifiedAttribute | NodeTypeInheritingFromFullyQualifiedAttributeGroup | NodeTypeInheritingFromFullyQualifiedClosureUse | NodeTypeInheritingFromFullyQualifiedComplexType | NodeTypeInheritingFromFullyQualifiedConst | NodeTypeInheritingFromFullyQualifiedDeclareItem | NodeTypeInheritingFromFullyQualifiedExpr | NodeTypeInheritingFromFullyQualifiedIdentifier | NodeTypeInheritingFromFullyQualifiedInterpolatedStringPart | NodeTypeInheritingFromFullyQualifiedMatchArm | NodeTypeInheritingFromFullyQualifiedName | NodeTypeInheritingFromFullyQualifiedParam | NodeTypeInheritingFromFullyQualifiedPropertyHook | NodeTypeInheritingFromFullyQualifiedPropertyItem | NodeTypeInheritingFromFullyQualifiedStaticVar | NodeTypeInheritingFromFullyQualifiedStmt | NodeTypeInheritingFromFullyQualifiedUseItem | NodeTypeInheritingFromFullyQualifiedVariadicPlaceholder; export type NodeTypeInheritingFromFullyQualifiedArrayItem = FullyQualifiedArrayItem; export type NodeTypeInheritingFromFullyQualifiedAttribute = FullyQualifiedAttribute; export type NodeTypeInheritingFromFullyQualifiedAttributeGroup = FullyQualifiedAttributeGroup; export type NodeTypeInheritingFromFullyQualifiedClosureUse = FullyQualifiedClosureUse; -export type NodeTypeInheritingFromFullyQualifiedComplexType = FullyQualifiedComplexType | NodeTypeInheritingFromFullyQualifiedIntersectionType | NodeTypeInheritingFromFullyQualifiedNullableType | NodeTypeInheritingFromFullyQualifiedUnionType; +export type NodeTypeInheritingFromFullyQualifiedComplexType = NodeTypeInheritingFromFullyQualifiedIntersectionType | NodeTypeInheritingFromFullyQualifiedNullableType | NodeTypeInheritingFromFullyQualifiedUnionType; export type NodeTypeInheritingFromFullyQualifiedConst = FullyQualifiedConst; export type NodeTypeInheritingFromFullyQualifiedDeclareItem = FullyQualifiedDeclareItem; export type NodeTypeInheritingFromFullyQualifiedExprArrayDimFetch = FullyQualifiedExprArrayDimFetch; -export type NodeTypeInheritingFromFullyQualifiedExpr = FullyQualifiedExpr | NodeTypeInheritingFromFullyQualifiedExprArrayDimFetch | NodeTypeInheritingFromFullyQualifiedExprArray | NodeTypeInheritingFromFullyQualifiedExprArrowFunction | NodeTypeInheritingFromFullyQualifiedExprAssign | NodeTypeInheritingFromFullyQualifiedExprAssignOp | NodeTypeInheritingFromFullyQualifiedExprAssignRef | NodeTypeInheritingFromFullyQualifiedExprBinaryOp | NodeTypeInheritingFromFullyQualifiedExprBitwiseNot | NodeTypeInheritingFromFullyQualifiedExprBooleanNot | NodeTypeInheritingFromFullyQualifiedExprCallLike | NodeTypeInheritingFromFullyQualifiedExprCast | NodeTypeInheritingFromFullyQualifiedExprClassConstFetch | NodeTypeInheritingFromFullyQualifiedExprClone | NodeTypeInheritingFromFullyQualifiedExprClosure | NodeTypeInheritingFromFullyQualifiedExprConstFetch | NodeTypeInheritingFromFullyQualifiedExprEmpty | NodeTypeInheritingFromFullyQualifiedExprError | NodeTypeInheritingFromFullyQualifiedExprErrorSuppress | NodeTypeInheritingFromFullyQualifiedExprEval | NodeTypeInheritingFromFullyQualifiedExprExit | NodeTypeInheritingFromFullyQualifiedExprInclude | NodeTypeInheritingFromFullyQualifiedExprInstanceof | NodeTypeInheritingFromFullyQualifiedExprIsset | NodeTypeInheritingFromFullyQualifiedExprList | NodeTypeInheritingFromFullyQualifiedExprMatch | NodeTypeInheritingFromFullyQualifiedExprNullsafePropertyFetch | NodeTypeInheritingFromFullyQualifiedExprPostDec | NodeTypeInheritingFromFullyQualifiedExprPostInc | NodeTypeInheritingFromFullyQualifiedExprPreDec | NodeTypeInheritingFromFullyQualifiedExprPreInc | NodeTypeInheritingFromFullyQualifiedExprPrint | NodeTypeInheritingFromFullyQualifiedExprPropertyFetch | NodeTypeInheritingFromFullyQualifiedExprShellExec | NodeTypeInheritingFromFullyQualifiedExprStaticPropertyFetch | NodeTypeInheritingFromFullyQualifiedExprTernary | NodeTypeInheritingFromFullyQualifiedExprThrow | NodeTypeInheritingFromFullyQualifiedExprUnaryMinus | NodeTypeInheritingFromFullyQualifiedExprUnaryPlus | NodeTypeInheritingFromFullyQualifiedExprVariable | NodeTypeInheritingFromFullyQualifiedExprYieldFrom | NodeTypeInheritingFromFullyQualifiedExprYield | NodeTypeInheritingFromFullyQualifiedScalar; +export type NodeTypeInheritingFromFullyQualifiedExpr = NodeTypeInheritingFromFullyQualifiedExprArrayDimFetch | NodeTypeInheritingFromFullyQualifiedExprArray | NodeTypeInheritingFromFullyQualifiedExprArrowFunction | NodeTypeInheritingFromFullyQualifiedExprAssign | NodeTypeInheritingFromFullyQualifiedExprAssignOp | NodeTypeInheritingFromFullyQualifiedExprAssignRef | NodeTypeInheritingFromFullyQualifiedExprBinaryOp | NodeTypeInheritingFromFullyQualifiedExprBitwiseNot | NodeTypeInheritingFromFullyQualifiedExprBooleanNot | NodeTypeInheritingFromFullyQualifiedExprCallLike | NodeTypeInheritingFromFullyQualifiedExprCast | NodeTypeInheritingFromFullyQualifiedExprClassConstFetch | NodeTypeInheritingFromFullyQualifiedExprClone | NodeTypeInheritingFromFullyQualifiedExprClosure | NodeTypeInheritingFromFullyQualifiedExprConstFetch | NodeTypeInheritingFromFullyQualifiedExprEmpty | NodeTypeInheritingFromFullyQualifiedExprError | NodeTypeInheritingFromFullyQualifiedExprErrorSuppress | NodeTypeInheritingFromFullyQualifiedExprEval | NodeTypeInheritingFromFullyQualifiedExprExit | NodeTypeInheritingFromFullyQualifiedExprInclude | NodeTypeInheritingFromFullyQualifiedExprInstanceof | NodeTypeInheritingFromFullyQualifiedExprIsset | NodeTypeInheritingFromFullyQualifiedExprList | NodeTypeInheritingFromFullyQualifiedExprMatch | NodeTypeInheritingFromFullyQualifiedExprNullsafePropertyFetch | NodeTypeInheritingFromFullyQualifiedExprPostDec | NodeTypeInheritingFromFullyQualifiedExprPostInc | NodeTypeInheritingFromFullyQualifiedExprPreDec | NodeTypeInheritingFromFullyQualifiedExprPreInc | NodeTypeInheritingFromFullyQualifiedExprPrint | NodeTypeInheritingFromFullyQualifiedExprPropertyFetch | NodeTypeInheritingFromFullyQualifiedExprShellExec | NodeTypeInheritingFromFullyQualifiedExprStaticPropertyFetch | NodeTypeInheritingFromFullyQualifiedExprTernary | NodeTypeInheritingFromFullyQualifiedExprThrow | NodeTypeInheritingFromFullyQualifiedExprUnaryMinus | NodeTypeInheritingFromFullyQualifiedExprUnaryPlus | NodeTypeInheritingFromFullyQualifiedExprVariable | NodeTypeInheritingFromFullyQualifiedExprYieldFrom | NodeTypeInheritingFromFullyQualifiedExprYield | NodeTypeInheritingFromFullyQualifiedScalar; export type NodeTypeInheritingFromFullyQualifiedExprArray = FullyQualifiedExprArray; export type NodeTypeInheritingFromFullyQualifiedExprArrowFunction = FullyQualifiedExprArrowFunction; export type NodeTypeInheritingFromFullyQualifiedExprAssign = FullyQualifiedExprAssign; export type NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseAnd = FullyQualifiedExprAssignOpBitwiseAnd; -export type NodeTypeInheritingFromFullyQualifiedExprAssignOp = FullyQualifiedExprAssignOp | NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseAnd | NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseOr | NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseXor | NodeTypeInheritingFromFullyQualifiedExprAssignOpCoalesce | NodeTypeInheritingFromFullyQualifiedExprAssignOpConcat | NodeTypeInheritingFromFullyQualifiedExprAssignOpDiv | NodeTypeInheritingFromFullyQualifiedExprAssignOpMinus | NodeTypeInheritingFromFullyQualifiedExprAssignOpMod | NodeTypeInheritingFromFullyQualifiedExprAssignOpMul | NodeTypeInheritingFromFullyQualifiedExprAssignOpPlus | NodeTypeInheritingFromFullyQualifiedExprAssignOpPow | NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftLeft | NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftRight; +export type NodeTypeInheritingFromFullyQualifiedExprAssignOp = NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseAnd | NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseOr | NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseXor | NodeTypeInheritingFromFullyQualifiedExprAssignOpCoalesce | NodeTypeInheritingFromFullyQualifiedExprAssignOpConcat | NodeTypeInheritingFromFullyQualifiedExprAssignOpDiv | NodeTypeInheritingFromFullyQualifiedExprAssignOpMinus | NodeTypeInheritingFromFullyQualifiedExprAssignOpMod | NodeTypeInheritingFromFullyQualifiedExprAssignOpMul | NodeTypeInheritingFromFullyQualifiedExprAssignOpPlus | NodeTypeInheritingFromFullyQualifiedExprAssignOpPow | NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftLeft | NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftRight; export type NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseOr = FullyQualifiedExprAssignOpBitwiseOr; export type NodeTypeInheritingFromFullyQualifiedExprAssignOpBitwiseXor = FullyQualifiedExprAssignOpBitwiseXor; export type NodeTypeInheritingFromFullyQualifiedExprAssignOpCoalesce = FullyQualifiedExprAssignOpCoalesce; @@ -210,7 +210,7 @@ export type NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftLeft = FullyQua export type NodeTypeInheritingFromFullyQualifiedExprAssignOpShiftRight = FullyQualifiedExprAssignOpShiftRight; export type NodeTypeInheritingFromFullyQualifiedExprAssignRef = FullyQualifiedExprAssignRef; export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseAnd = FullyQualifiedExprBinaryOpBitwiseAnd; -export type NodeTypeInheritingFromFullyQualifiedExprBinaryOp = FullyQualifiedExprBinaryOp | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseXor | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBooleanAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBooleanOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpCoalesce | NodeTypeInheritingFromFullyQualifiedExprBinaryOpConcat | NodeTypeInheritingFromFullyQualifiedExprBinaryOpDiv | NodeTypeInheritingFromFullyQualifiedExprBinaryOpEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpGreater | NodeTypeInheritingFromFullyQualifiedExprBinaryOpGreaterOrEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpIdentical | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalXor | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMinus | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMod | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMul | NodeTypeInheritingFromFullyQualifiedExprBinaryOpNotEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpNotIdentical | NodeTypeInheritingFromFullyQualifiedExprBinaryOpPlus | NodeTypeInheritingFromFullyQualifiedExprBinaryOpPow | NodeTypeInheritingFromFullyQualifiedExprBinaryOpShiftLeft | NodeTypeInheritingFromFullyQualifiedExprBinaryOpShiftRight | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSmaller | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSmallerOrEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSpaceship; +export type NodeTypeInheritingFromFullyQualifiedExprBinaryOp = NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseXor | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBooleanAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpBooleanOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpCoalesce | NodeTypeInheritingFromFullyQualifiedExprBinaryOpConcat | NodeTypeInheritingFromFullyQualifiedExprBinaryOpDiv | NodeTypeInheritingFromFullyQualifiedExprBinaryOpEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpGreater | NodeTypeInheritingFromFullyQualifiedExprBinaryOpGreaterOrEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpIdentical | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalAnd | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalOr | NodeTypeInheritingFromFullyQualifiedExprBinaryOpLogicalXor | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMinus | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMod | NodeTypeInheritingFromFullyQualifiedExprBinaryOpMul | NodeTypeInheritingFromFullyQualifiedExprBinaryOpNotEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpNotIdentical | NodeTypeInheritingFromFullyQualifiedExprBinaryOpPlus | NodeTypeInheritingFromFullyQualifiedExprBinaryOpPow | NodeTypeInheritingFromFullyQualifiedExprBinaryOpShiftLeft | NodeTypeInheritingFromFullyQualifiedExprBinaryOpShiftRight | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSmaller | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSmallerOrEqual | NodeTypeInheritingFromFullyQualifiedExprBinaryOpSpaceship; export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseOr = FullyQualifiedExprBinaryOpBitwiseOr; export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpBitwiseXor = FullyQualifiedExprBinaryOpBitwiseXor; export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpBooleanAnd = FullyQualifiedExprBinaryOpBooleanAnd; @@ -239,9 +239,9 @@ export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpSmallerOrEqual = Ful export type NodeTypeInheritingFromFullyQualifiedExprBinaryOpSpaceship = FullyQualifiedExprBinaryOpSpaceship; export type NodeTypeInheritingFromFullyQualifiedExprBitwiseNot = FullyQualifiedExprBitwiseNot; export type NodeTypeInheritingFromFullyQualifiedExprBooleanNot = FullyQualifiedExprBooleanNot; -export type NodeTypeInheritingFromFullyQualifiedExprCallLike = FullyQualifiedExprCallLike | NodeTypeInheritingFromFullyQualifiedExprFuncCall | NodeTypeInheritingFromFullyQualifiedExprMethodCall | NodeTypeInheritingFromFullyQualifiedExprNew | NodeTypeInheritingFromFullyQualifiedExprNullsafeMethodCall | NodeTypeInheritingFromFullyQualifiedExprStaticCall; +export type NodeTypeInheritingFromFullyQualifiedExprCallLike = NodeTypeInheritingFromFullyQualifiedExprFuncCall | NodeTypeInheritingFromFullyQualifiedExprMethodCall | NodeTypeInheritingFromFullyQualifiedExprNew | NodeTypeInheritingFromFullyQualifiedExprNullsafeMethodCall | NodeTypeInheritingFromFullyQualifiedExprStaticCall; export type NodeTypeInheritingFromFullyQualifiedExprCastArray = FullyQualifiedExprCastArray; -export type NodeTypeInheritingFromFullyQualifiedExprCast = FullyQualifiedExprCast | NodeTypeInheritingFromFullyQualifiedExprCastArray | NodeTypeInheritingFromFullyQualifiedExprCastBool | NodeTypeInheritingFromFullyQualifiedExprCastDouble | NodeTypeInheritingFromFullyQualifiedExprCastInt | NodeTypeInheritingFromFullyQualifiedExprCastObject | NodeTypeInheritingFromFullyQualifiedExprCastString | NodeTypeInheritingFromFullyQualifiedExprCastUnset; +export type NodeTypeInheritingFromFullyQualifiedExprCast = NodeTypeInheritingFromFullyQualifiedExprCastArray | NodeTypeInheritingFromFullyQualifiedExprCastBool | NodeTypeInheritingFromFullyQualifiedExprCastDouble | NodeTypeInheritingFromFullyQualifiedExprCastInt | NodeTypeInheritingFromFullyQualifiedExprCastObject | NodeTypeInheritingFromFullyQualifiedExprCastString | NodeTypeInheritingFromFullyQualifiedExprCastUnset; export type NodeTypeInheritingFromFullyQualifiedExprCastBool = FullyQualifiedExprCastBool; export type NodeTypeInheritingFromFullyQualifiedExprCastDouble = FullyQualifiedExprCastDouble; export type NodeTypeInheritingFromFullyQualifiedExprCastInt = FullyQualifiedExprCastInt; @@ -295,11 +295,11 @@ export type NodeTypeInheritingFromFullyQualifiedParam = FullyQualifiedParam; export type NodeTypeInheritingFromFullyQualifiedPropertyHook = FullyQualifiedPropertyHook; export type NodeTypeInheritingFromFullyQualifiedPropertyItem = FullyQualifiedPropertyItem; export type NodeTypeInheritingFromFullyQualifiedScalarFloat = FullyQualifiedScalarFloat; -export type NodeTypeInheritingFromFullyQualifiedScalar = FullyQualifiedScalar | NodeTypeInheritingFromFullyQualifiedScalarFloat | NodeTypeInheritingFromFullyQualifiedScalarInt | NodeTypeInheritingFromFullyQualifiedScalarInterpolatedString | NodeTypeInheritingFromFullyQualifiedScalarMagicConst | NodeTypeInheritingFromFullyQualifiedScalarString; +export type NodeTypeInheritingFromFullyQualifiedScalar = NodeTypeInheritingFromFullyQualifiedScalarFloat | NodeTypeInheritingFromFullyQualifiedScalarInt | NodeTypeInheritingFromFullyQualifiedScalarInterpolatedString | NodeTypeInheritingFromFullyQualifiedScalarMagicConst | NodeTypeInheritingFromFullyQualifiedScalarString; export type NodeTypeInheritingFromFullyQualifiedScalarInt = FullyQualifiedScalarInt; export type NodeTypeInheritingFromFullyQualifiedScalarInterpolatedString = FullyQualifiedScalarInterpolatedString; export type NodeTypeInheritingFromFullyQualifiedScalarMagicConstClass = FullyQualifiedScalarMagicConstClass; -export type NodeTypeInheritingFromFullyQualifiedScalarMagicConst = FullyQualifiedScalarMagicConst | NodeTypeInheritingFromFullyQualifiedScalarMagicConstClass | NodeTypeInheritingFromFullyQualifiedScalarMagicConstDir | NodeTypeInheritingFromFullyQualifiedScalarMagicConstFile | NodeTypeInheritingFromFullyQualifiedScalarMagicConstFunction | NodeTypeInheritingFromFullyQualifiedScalarMagicConstLine | NodeTypeInheritingFromFullyQualifiedScalarMagicConstMethod | NodeTypeInheritingFromFullyQualifiedScalarMagicConstNamespace | NodeTypeInheritingFromFullyQualifiedScalarMagicConstProperty | NodeTypeInheritingFromFullyQualifiedScalarMagicConstTrait; +export type NodeTypeInheritingFromFullyQualifiedScalarMagicConst = NodeTypeInheritingFromFullyQualifiedScalarMagicConstClass | NodeTypeInheritingFromFullyQualifiedScalarMagicConstDir | NodeTypeInheritingFromFullyQualifiedScalarMagicConstFile | NodeTypeInheritingFromFullyQualifiedScalarMagicConstFunction | NodeTypeInheritingFromFullyQualifiedScalarMagicConstLine | NodeTypeInheritingFromFullyQualifiedScalarMagicConstMethod | NodeTypeInheritingFromFullyQualifiedScalarMagicConstNamespace | NodeTypeInheritingFromFullyQualifiedScalarMagicConstProperty | NodeTypeInheritingFromFullyQualifiedScalarMagicConstTrait; export type NodeTypeInheritingFromFullyQualifiedScalarMagicConstDir = FullyQualifiedScalarMagicConstDir; export type NodeTypeInheritingFromFullyQualifiedScalarMagicConstFile = FullyQualifiedScalarMagicConstFile; export type NodeTypeInheritingFromFullyQualifiedScalarMagicConstFunction = FullyQualifiedScalarMagicConstFunction; @@ -311,12 +311,12 @@ export type NodeTypeInheritingFromFullyQualifiedScalarMagicConstTrait = FullyQua export type NodeTypeInheritingFromFullyQualifiedScalarString = FullyQualifiedScalarString; export type NodeTypeInheritingFromFullyQualifiedStaticVar = FullyQualifiedStaticVar; export type NodeTypeInheritingFromFullyQualifiedStmtBlock = FullyQualifiedStmtBlock; -export type NodeTypeInheritingFromFullyQualifiedStmt = FullyQualifiedStmt | NodeTypeInheritingFromFullyQualifiedStmtBlock | NodeTypeInheritingFromFullyQualifiedStmtBreak | NodeTypeInheritingFromFullyQualifiedStmtCase | NodeTypeInheritingFromFullyQualifiedStmtCatch | NodeTypeInheritingFromFullyQualifiedStmtClassConst | NodeTypeInheritingFromFullyQualifiedStmtClassLike | NodeTypeInheritingFromFullyQualifiedStmtClassMethod | NodeTypeInheritingFromFullyQualifiedStmtConst | NodeTypeInheritingFromFullyQualifiedStmtContinue | NodeTypeInheritingFromFullyQualifiedStmtDeclare | NodeTypeInheritingFromFullyQualifiedStmtDo | NodeTypeInheritingFromFullyQualifiedStmtEcho | NodeTypeInheritingFromFullyQualifiedStmtElseIf | NodeTypeInheritingFromFullyQualifiedStmtElse | NodeTypeInheritingFromFullyQualifiedStmtEnumCase | NodeTypeInheritingFromFullyQualifiedStmtExpression | NodeTypeInheritingFromFullyQualifiedStmtFinally | NodeTypeInheritingFromFullyQualifiedStmtFor | NodeTypeInheritingFromFullyQualifiedStmtForeach | NodeTypeInheritingFromFullyQualifiedStmtFunction | NodeTypeInheritingFromFullyQualifiedStmtGlobal | NodeTypeInheritingFromFullyQualifiedStmtGoto | NodeTypeInheritingFromFullyQualifiedStmtGroupUse | NodeTypeInheritingFromFullyQualifiedStmtHaltCompiler | NodeTypeInheritingFromFullyQualifiedStmtIf | NodeTypeInheritingFromFullyQualifiedStmtInlineHtml | NodeTypeInheritingFromFullyQualifiedStmtLabel | NodeTypeInheritingFromFullyQualifiedStmtNamespace | NodeTypeInheritingFromFullyQualifiedStmtNop | NodeTypeInheritingFromFullyQualifiedStmtProperty | NodeTypeInheritingFromFullyQualifiedStmtReturn | NodeTypeInheritingFromFullyQualifiedStmtStatic | NodeTypeInheritingFromFullyQualifiedStmtSwitch | NodeTypeInheritingFromFullyQualifiedStmtTraitUse | NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptation | NodeTypeInheritingFromFullyQualifiedStmtTryCatch | NodeTypeInheritingFromFullyQualifiedStmtUnset | NodeTypeInheritingFromFullyQualifiedStmtUse | NodeTypeInheritingFromFullyQualifiedStmtWhile; +export type NodeTypeInheritingFromFullyQualifiedStmt = NodeTypeInheritingFromFullyQualifiedStmtBlock | NodeTypeInheritingFromFullyQualifiedStmtBreak | NodeTypeInheritingFromFullyQualifiedStmtCase | NodeTypeInheritingFromFullyQualifiedStmtCatch | NodeTypeInheritingFromFullyQualifiedStmtClassConst | NodeTypeInheritingFromFullyQualifiedStmtClassLike | NodeTypeInheritingFromFullyQualifiedStmtClassMethod | NodeTypeInheritingFromFullyQualifiedStmtConst | NodeTypeInheritingFromFullyQualifiedStmtContinue | NodeTypeInheritingFromFullyQualifiedStmtDeclare | NodeTypeInheritingFromFullyQualifiedStmtDo | NodeTypeInheritingFromFullyQualifiedStmtEcho | NodeTypeInheritingFromFullyQualifiedStmtElseIf | NodeTypeInheritingFromFullyQualifiedStmtElse | NodeTypeInheritingFromFullyQualifiedStmtEnumCase | NodeTypeInheritingFromFullyQualifiedStmtExpression | NodeTypeInheritingFromFullyQualifiedStmtFinally | NodeTypeInheritingFromFullyQualifiedStmtFor | NodeTypeInheritingFromFullyQualifiedStmtForeach | NodeTypeInheritingFromFullyQualifiedStmtFunction | NodeTypeInheritingFromFullyQualifiedStmtGlobal | NodeTypeInheritingFromFullyQualifiedStmtGoto | NodeTypeInheritingFromFullyQualifiedStmtGroupUse | NodeTypeInheritingFromFullyQualifiedStmtHaltCompiler | NodeTypeInheritingFromFullyQualifiedStmtIf | NodeTypeInheritingFromFullyQualifiedStmtInlineHtml | NodeTypeInheritingFromFullyQualifiedStmtLabel | NodeTypeInheritingFromFullyQualifiedStmtNamespace | NodeTypeInheritingFromFullyQualifiedStmtNop | NodeTypeInheritingFromFullyQualifiedStmtProperty | NodeTypeInheritingFromFullyQualifiedStmtReturn | NodeTypeInheritingFromFullyQualifiedStmtStatic | NodeTypeInheritingFromFullyQualifiedStmtSwitch | NodeTypeInheritingFromFullyQualifiedStmtTraitUse | NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptation | NodeTypeInheritingFromFullyQualifiedStmtTryCatch | NodeTypeInheritingFromFullyQualifiedStmtUnset | NodeTypeInheritingFromFullyQualifiedStmtUse | NodeTypeInheritingFromFullyQualifiedStmtWhile; export type NodeTypeInheritingFromFullyQualifiedStmtBreak = FullyQualifiedStmtBreak; export type NodeTypeInheritingFromFullyQualifiedStmtCase = FullyQualifiedStmtCase; export type NodeTypeInheritingFromFullyQualifiedStmtCatch = FullyQualifiedStmtCatch; export type NodeTypeInheritingFromFullyQualifiedStmtClassConst = FullyQualifiedStmtClassConst; -export type NodeTypeInheritingFromFullyQualifiedStmtClassLike = FullyQualifiedStmtClassLike | NodeTypeInheritingFromFullyQualifiedStmtClass | NodeTypeInheritingFromFullyQualifiedStmtEnum | NodeTypeInheritingFromFullyQualifiedStmtInterface | NodeTypeInheritingFromFullyQualifiedStmtTrait; +export type NodeTypeInheritingFromFullyQualifiedStmtClassLike = NodeTypeInheritingFromFullyQualifiedStmtClass | NodeTypeInheritingFromFullyQualifiedStmtEnum | NodeTypeInheritingFromFullyQualifiedStmtInterface | NodeTypeInheritingFromFullyQualifiedStmtTrait; export type NodeTypeInheritingFromFullyQualifiedStmtClassMethod = FullyQualifiedStmtClassMethod; export type NodeTypeInheritingFromFullyQualifiedStmtClass = FullyQualifiedStmtClass; export type NodeTypeInheritingFromFullyQualifiedStmtConst = FullyQualifiedStmtConst; @@ -349,7 +349,7 @@ export type NodeTypeInheritingFromFullyQualifiedStmtStatic = FullyQualifiedStmtS export type NodeTypeInheritingFromFullyQualifiedStmtSwitch = FullyQualifiedStmtSwitch; export type NodeTypeInheritingFromFullyQualifiedStmtTraitUse = FullyQualifiedStmtTraitUse; export type NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationAlias = FullyQualifiedStmtTraitUseAdaptationAlias; -export type NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptation = FullyQualifiedStmtTraitUseAdaptation | NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationAlias | NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationPrecedence; +export type NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptation = NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationAlias | NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationPrecedence; export type NodeTypeInheritingFromFullyQualifiedStmtTraitUseAdaptationPrecedence = FullyQualifiedStmtTraitUseAdaptationPrecedence; export type NodeTypeInheritingFromFullyQualifiedStmtTrait = FullyQualifiedStmtTrait; export type NodeTypeInheritingFromFullyQualifiedStmtTryCatch = FullyQualifiedStmtTryCatch;