@appthreat/atom-parsetools 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +78 -0
- package/astgen.js +421 -0
- package/index.js +1 -0
- package/package.json +53 -0
- package/phpastgen.js +33 -0
- package/plugins/.gitkeep +0 -0
- package/plugins/autoload.php +22 -0
- package/plugins/bin/bundler +14 -0
- package/plugins/bin/php-parse +119 -0
- package/plugins/bin/ruby_ast_gen +14 -0
- package/plugins/composer/ClassLoader.php +579 -0
- package/plugins/composer/InstalledVersions.php +396 -0
- package/plugins/composer/LICENSE +21 -0
- package/plugins/composer/autoload_classmap.php +260 -0
- package/plugins/composer/autoload_namespaces.php +9 -0
- package/plugins/composer/autoload_psr4.php +10 -0
- package/plugins/composer/autoload_real.php +36 -0
- package/plugins/composer/autoload_static.php +286 -0
- package/plugins/composer/installed.json +65 -0
- package/plugins/composer/installed.php +32 -0
- package/plugins/log4j2.xml +13 -0
- package/plugins/nikic/php-parser/LICENSE +29 -0
- package/plugins/nikic/php-parser/README.md +225 -0
- package/plugins/nikic/php-parser/bin/php-parse +205 -0
- package/plugins/nikic/php-parser/composer.json +41 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +148 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Class_.php +146 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +43 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +85 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +117 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +73 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Function_.php +67 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +93 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Method.php +146 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Param.php +168 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Property.php +161 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +64 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +148 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +78 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Builder.php +13 -0
- package/plugins/nikic/php-parser/lib/PhpParser/BuilderFactory.php +399 -0
- package/plugins/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +335 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Comment/Doc.php +7 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Comment.php +239 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +229 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Error.php +180 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +46 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +18 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ErrorHandler.php +13 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +27 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/Differ.php +164 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +64 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +286 -0
- package/plugins/nikic/php-parser/lib/PhpParser/JsonDecoder.php +103 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +251 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +56 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +47 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +44 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +76 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +23 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +62 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +23 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +67 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +105 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +36 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +36 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +25 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Lexer.php +560 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NameContext.php +285 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Arg.php +46 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Attribute.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +29 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +14 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Const_.php +37 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +41 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +79 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +40 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +39 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +17 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +12 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +26 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +79 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +39 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +39 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +45 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +41 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +45 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +35 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +46 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +38 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Expr.php +9 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +43 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Identifier.php +75 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +50 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +50 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Name.php +254 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/NullableType.php +28 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Param.php +60 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +77 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +80 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +16 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +28 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +157 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Scalar.php +7 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +41 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +85 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +109 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +161 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +137 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +37 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +40 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +33 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +43 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +47 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +77 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +39 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +43 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +37 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +31 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +38 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +17 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +91 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +37 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +38 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +13 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +32 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +38 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +30 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +52 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +34 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/Stmt.php +9 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/UnionType.php +28 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +17 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Node.php +151 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeAbstract.php +178 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeDumper.php +206 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeFinder.php +81 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverser.php +291 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +29 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +20 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +48 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +50 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +260 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +52 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +41 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitor.php +72 -0
- package/plugins/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +25 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2682 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2898 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +148 -0
- package/plugins/nikic/php-parser/lib/PhpParser/Parser.php +18 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1060 -0
- package/plugins/nikic/php-parser/lib/PhpParser/ParserFactory.php +76 -0
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +1126 -0
- package/plugins/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1576 -0
- package/plugins/rubyastgen/.bundle/config +5 -0
- package/plugins/rubyastgen/Gemfile +12 -0
- package/plugins/rubyastgen/Gemfile.lock +34 -0
- package/plugins/rubyastgen/bundle/bundler/setup.rb +42 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/racc +29 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby-parse +29 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby-rewrite +29 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bin/ruby_ast_gen +29 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/.rspec +3 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/Gemfile +10 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/LICENSE.txt +213 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/README.md +46 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/Rakefile +8 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/bin/console +11 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/bin/setup +6 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/exe/ruby_ast_gen +59 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen/node_handling.rb +232 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen/version.rb +5 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/lib/ruby_ast_gen.rb +140 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/ruby_ast_gen.gemspec +25 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/spec/ruby_ast_gen_spec.rb +175 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/spec/spec_helper.rb +15 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/bundler/gems/ruby_ast_gen-d8b5c5740b5a/update_version.rb +36 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem.build_complete +0 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/gem_make.out +18 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/racc-1.8.1/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/README.YARD.md +12 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/node.rb +268 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/processor/mixin.rb +288 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/processor.rb +12 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast/sexp.rb +30 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ast-2.4.3/lib/ast.rb +17 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/BSDL +22 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/COPYING +56 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/Gemfile +10 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/README.md +69 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/Rakefile +18 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/bin/console +14 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/bin/setup +8 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/lib/ostruct.rb +489 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/ostruct-0.6.1/ostruct.gemspec +24 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/LICENSE.txt +26 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/bin/ruby-parse +7 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/bin/ruby-rewrite +7 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/gauntlet_parser.rb +123 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/all.rb +17 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ast/node.rb +40 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ast/processor.rb +293 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/base.rb +294 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/builders/default.rb +2351 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/clobbering_error.rb +13 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/color.rb +32 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/context.rb +51 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/current.rb +146 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/current_arg_stack.rb +46 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/deprecation.rb +13 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/diagnostic/engine.rb +104 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/diagnostic.rb +163 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/dedenter.rb +88 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/explanation.rb +55 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/literal.rb +284 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer/stack_state.rb +49 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-F0.rb +12931 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-F1.rb +14884 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/lexer-strings.rb +5433 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/macruby.rb +9634 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/max_numparam_stack.rb +56 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/messages.rb +125 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/meta.rb +48 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/rewriter.rb +105 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby18.rb +9272 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby19.rb +9558 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby20.rb +10229 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby21.rb +10203 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby22.rb +10302 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby23.rb +10322 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby24.rb +10454 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby25.rb +10374 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby26.rb +10352 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby27.rb +11948 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby30.rb +12244 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby31.rb +12717 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby32.rb +12705 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby33.rb +12590 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/ruby34.rb +12597 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/rubymotion.rb +9515 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner/ruby_parse.rb +157 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner/ruby_rewrite.rb +101 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/runner.rb +299 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/buffer.rb +369 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/comment/associator.rb +233 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/comment.rb +134 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/collection.rb +18 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/condition.rb +21 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/constant.rb +32 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/definition.rb +23 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/for.rb +19 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/heredoc.rb +19 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/index.rb +33 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/keyword.rb +20 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/method_definition.rb +25 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/objc_kwarg.rb +19 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/operator.rb +17 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/rescue_body.rb +21 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/send.rb +36 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/ternary.rb +18 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map/variable.rb +31 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/map.rb +186 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/range.rb +326 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/rewriter/action.rb +44 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/rewriter.rb +513 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/tree_rewriter/action.rb +243 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/source/tree_rewriter.rb +431 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/static_environment.rb +134 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/syntax_error.rb +21 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/tree_rewriter.rb +133 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/unknown_encoding_in_magic_comment_error.rb +15 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/variables_stack.rb +36 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser/version.rb +5 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/lib/parser.rb +91 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/parser-3.3.8.0/parser.gemspec +43 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/BSDL +22 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/COPYING +56 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/TODO +5 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/bin/racc +320 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/Makefile +273 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/cparse.so +0 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/gems/racc-1.8.1/lib/racc.rb +6 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/ast-2.4.3.gemspec +29 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/ostruct-0.6.1.gemspec +21 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/parser-3.3.8.0.gemspec +37 -0
- package/plugins/rubyastgen/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
- package/plugins/rubyastgen/setup.ps1 +4 -0
- package/plugins/rubyastgen/setup.sh +6 -0
- package/rbastgen.js +53 -0
- package/scalasem.js +365 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Builder;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Builder;
|
|
6
|
+
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Node;
|
|
8
|
+
use PhpParser\Node\Stmt;
|
|
9
|
+
|
|
10
|
+
class TraitUseAdaptation implements Builder
|
|
11
|
+
{
|
|
12
|
+
const TYPE_UNDEFINED = 0;
|
|
13
|
+
const TYPE_ALIAS = 1;
|
|
14
|
+
const TYPE_PRECEDENCE = 2;
|
|
15
|
+
|
|
16
|
+
/** @var int Type of building adaptation */
|
|
17
|
+
protected $type;
|
|
18
|
+
|
|
19
|
+
protected $trait;
|
|
20
|
+
protected $method;
|
|
21
|
+
|
|
22
|
+
protected $modifier = null;
|
|
23
|
+
protected $alias = null;
|
|
24
|
+
|
|
25
|
+
protected $insteadof = [];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Creates a trait use adaptation builder.
|
|
29
|
+
*
|
|
30
|
+
* @param Node\Name|string|null $trait Name of adaptated trait
|
|
31
|
+
* @param Node\Identifier|string $method Name of adaptated method
|
|
32
|
+
*/
|
|
33
|
+
public function __construct($trait, $method) {
|
|
34
|
+
$this->type = self::TYPE_UNDEFINED;
|
|
35
|
+
|
|
36
|
+
$this->trait = is_null($trait)? null: BuilderHelpers::normalizeName($trait);
|
|
37
|
+
$this->method = BuilderHelpers::normalizeIdentifier($method);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Sets alias of method.
|
|
42
|
+
*
|
|
43
|
+
* @param Node\Identifier|string $alias Alias for adaptated method
|
|
44
|
+
*
|
|
45
|
+
* @return $this The builder instance (for fluid interface)
|
|
46
|
+
*/
|
|
47
|
+
public function as($alias) {
|
|
48
|
+
if ($this->type === self::TYPE_UNDEFINED) {
|
|
49
|
+
$this->type = self::TYPE_ALIAS;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if ($this->type !== self::TYPE_ALIAS) {
|
|
53
|
+
throw new \LogicException('Cannot set alias for not alias adaptation buider');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
$this->alias = $alias;
|
|
57
|
+
return $this;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Sets adaptated method public.
|
|
62
|
+
*
|
|
63
|
+
* @return $this The builder instance (for fluid interface)
|
|
64
|
+
*/
|
|
65
|
+
public function makePublic() {
|
|
66
|
+
$this->setModifier(Stmt\Class_::MODIFIER_PUBLIC);
|
|
67
|
+
return $this;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Sets adaptated method protected.
|
|
72
|
+
*
|
|
73
|
+
* @return $this The builder instance (for fluid interface)
|
|
74
|
+
*/
|
|
75
|
+
public function makeProtected() {
|
|
76
|
+
$this->setModifier(Stmt\Class_::MODIFIER_PROTECTED);
|
|
77
|
+
return $this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Sets adaptated method private.
|
|
82
|
+
*
|
|
83
|
+
* @return $this The builder instance (for fluid interface)
|
|
84
|
+
*/
|
|
85
|
+
public function makePrivate() {
|
|
86
|
+
$this->setModifier(Stmt\Class_::MODIFIER_PRIVATE);
|
|
87
|
+
return $this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Adds overwritten traits.
|
|
92
|
+
*
|
|
93
|
+
* @param Node\Name|string ...$traits Traits for overwrite
|
|
94
|
+
*
|
|
95
|
+
* @return $this The builder instance (for fluid interface)
|
|
96
|
+
*/
|
|
97
|
+
public function insteadof(...$traits) {
|
|
98
|
+
if ($this->type === self::TYPE_UNDEFINED) {
|
|
99
|
+
if (is_null($this->trait)) {
|
|
100
|
+
throw new \LogicException('Precedence adaptation must have trait');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
$this->type = self::TYPE_PRECEDENCE;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if ($this->type !== self::TYPE_PRECEDENCE) {
|
|
107
|
+
throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
foreach ($traits as $trait) {
|
|
111
|
+
$this->insteadof[] = BuilderHelpers::normalizeName($trait);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
return $this;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
protected function setModifier(int $modifier) {
|
|
118
|
+
if ($this->type === self::TYPE_UNDEFINED) {
|
|
119
|
+
$this->type = self::TYPE_ALIAS;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if ($this->type !== self::TYPE_ALIAS) {
|
|
123
|
+
throw new \LogicException('Cannot set access modifier for not alias adaptation buider');
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
if (is_null($this->modifier)) {
|
|
127
|
+
$this->modifier = $modifier;
|
|
128
|
+
} else {
|
|
129
|
+
throw new \LogicException('Multiple access type modifiers are not allowed');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Returns the built node.
|
|
135
|
+
*
|
|
136
|
+
* @return Node The built node
|
|
137
|
+
*/
|
|
138
|
+
public function getNode() : Node {
|
|
139
|
+
switch ($this->type) {
|
|
140
|
+
case self::TYPE_ALIAS:
|
|
141
|
+
return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias);
|
|
142
|
+
case self::TYPE_PRECEDENCE:
|
|
143
|
+
return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof);
|
|
144
|
+
default:
|
|
145
|
+
throw new \LogicException('Type of adaptation is not defined');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Builder;
|
|
4
|
+
|
|
5
|
+
use PhpParser;
|
|
6
|
+
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Node;
|
|
8
|
+
use PhpParser\Node\Stmt;
|
|
9
|
+
|
|
10
|
+
class Trait_ extends Declaration
|
|
11
|
+
{
|
|
12
|
+
protected $name;
|
|
13
|
+
protected $uses = [];
|
|
14
|
+
protected $properties = [];
|
|
15
|
+
protected $methods = [];
|
|
16
|
+
|
|
17
|
+
/** @var Node\AttributeGroup[] */
|
|
18
|
+
protected $attributeGroups = [];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Creates an interface builder.
|
|
22
|
+
*
|
|
23
|
+
* @param string $name Name of the interface
|
|
24
|
+
*/
|
|
25
|
+
public function __construct(string $name) {
|
|
26
|
+
$this->name = $name;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Adds a statement.
|
|
31
|
+
*
|
|
32
|
+
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
33
|
+
*
|
|
34
|
+
* @return $this The builder instance (for fluid interface)
|
|
35
|
+
*/
|
|
36
|
+
public function addStmt($stmt) {
|
|
37
|
+
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
38
|
+
|
|
39
|
+
if ($stmt instanceof Stmt\Property) {
|
|
40
|
+
$this->properties[] = $stmt;
|
|
41
|
+
} elseif ($stmt instanceof Stmt\ClassMethod) {
|
|
42
|
+
$this->methods[] = $stmt;
|
|
43
|
+
} elseif ($stmt instanceof Stmt\TraitUse) {
|
|
44
|
+
$this->uses[] = $stmt;
|
|
45
|
+
} else {
|
|
46
|
+
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return $this;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Adds an attribute group.
|
|
54
|
+
*
|
|
55
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
56
|
+
*
|
|
57
|
+
* @return $this The builder instance (for fluid interface)
|
|
58
|
+
*/
|
|
59
|
+
public function addAttribute($attribute) {
|
|
60
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
61
|
+
|
|
62
|
+
return $this;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Returns the built trait node.
|
|
67
|
+
*
|
|
68
|
+
* @return Stmt\Trait_ The built interface node
|
|
69
|
+
*/
|
|
70
|
+
public function getNode() : PhpParser\Node {
|
|
71
|
+
return new Stmt\Trait_(
|
|
72
|
+
$this->name, [
|
|
73
|
+
'stmts' => array_merge($this->uses, $this->properties, $this->methods),
|
|
74
|
+
'attrGroups' => $this->attributeGroups,
|
|
75
|
+
], $this->attributes
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Builder;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Builder;
|
|
6
|
+
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Node;
|
|
8
|
+
use PhpParser\Node\Stmt;
|
|
9
|
+
|
|
10
|
+
class Use_ implements Builder
|
|
11
|
+
{
|
|
12
|
+
protected $name;
|
|
13
|
+
protected $type;
|
|
14
|
+
protected $alias = null;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Creates a name use (alias) builder.
|
|
18
|
+
*
|
|
19
|
+
* @param Node\Name|string $name Name of the entity (namespace, class, function, constant) to alias
|
|
20
|
+
* @param int $type One of the Stmt\Use_::TYPE_* constants
|
|
21
|
+
*/
|
|
22
|
+
public function __construct($name, int $type) {
|
|
23
|
+
$this->name = BuilderHelpers::normalizeName($name);
|
|
24
|
+
$this->type = $type;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Sets alias for used name.
|
|
29
|
+
*
|
|
30
|
+
* @param string $alias Alias to use (last component of full name by default)
|
|
31
|
+
*
|
|
32
|
+
* @return $this The builder instance (for fluid interface)
|
|
33
|
+
*/
|
|
34
|
+
public function as(string $alias) {
|
|
35
|
+
$this->alias = $alias;
|
|
36
|
+
return $this;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Returns the built node.
|
|
41
|
+
*
|
|
42
|
+
* @return Stmt\Use_ The built node
|
|
43
|
+
*/
|
|
44
|
+
public function getNode() : Node {
|
|
45
|
+
return new Stmt\Use_([
|
|
46
|
+
new Stmt\UseUse($this->name, $this->alias)
|
|
47
|
+
], $this->type);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Node\Arg;
|
|
6
|
+
use PhpParser\Node\Expr;
|
|
7
|
+
use PhpParser\Node\Expr\BinaryOp\Concat;
|
|
8
|
+
use PhpParser\Node\Identifier;
|
|
9
|
+
use PhpParser\Node\Name;
|
|
10
|
+
use PhpParser\Node\Scalar\String_;
|
|
11
|
+
use PhpParser\Node\Stmt\Use_;
|
|
12
|
+
|
|
13
|
+
class BuilderFactory
|
|
14
|
+
{
|
|
15
|
+
/**
|
|
16
|
+
* Creates an attribute node.
|
|
17
|
+
*
|
|
18
|
+
* @param string|Name $name Name of the attribute
|
|
19
|
+
* @param array $args Attribute named arguments
|
|
20
|
+
*
|
|
21
|
+
* @return Node\Attribute
|
|
22
|
+
*/
|
|
23
|
+
public function attribute($name, array $args = []) : Node\Attribute {
|
|
24
|
+
return new Node\Attribute(
|
|
25
|
+
BuilderHelpers::normalizeName($name),
|
|
26
|
+
$this->args($args)
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Creates a namespace builder.
|
|
32
|
+
*
|
|
33
|
+
* @param null|string|Node\Name $name Name of the namespace
|
|
34
|
+
*
|
|
35
|
+
* @return Builder\Namespace_ The created namespace builder
|
|
36
|
+
*/
|
|
37
|
+
public function namespace($name) : Builder\Namespace_ {
|
|
38
|
+
return new Builder\Namespace_($name);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Creates a class builder.
|
|
43
|
+
*
|
|
44
|
+
* @param string $name Name of the class
|
|
45
|
+
*
|
|
46
|
+
* @return Builder\Class_ The created class builder
|
|
47
|
+
*/
|
|
48
|
+
public function class(string $name) : Builder\Class_ {
|
|
49
|
+
return new Builder\Class_($name);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Creates an interface builder.
|
|
54
|
+
*
|
|
55
|
+
* @param string $name Name of the interface
|
|
56
|
+
*
|
|
57
|
+
* @return Builder\Interface_ The created interface builder
|
|
58
|
+
*/
|
|
59
|
+
public function interface(string $name) : Builder\Interface_ {
|
|
60
|
+
return new Builder\Interface_($name);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Creates a trait builder.
|
|
65
|
+
*
|
|
66
|
+
* @param string $name Name of the trait
|
|
67
|
+
*
|
|
68
|
+
* @return Builder\Trait_ The created trait builder
|
|
69
|
+
*/
|
|
70
|
+
public function trait(string $name) : Builder\Trait_ {
|
|
71
|
+
return new Builder\Trait_($name);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Creates an enum builder.
|
|
76
|
+
*
|
|
77
|
+
* @param string $name Name of the enum
|
|
78
|
+
*
|
|
79
|
+
* @return Builder\Enum_ The created enum builder
|
|
80
|
+
*/
|
|
81
|
+
public function enum(string $name) : Builder\Enum_ {
|
|
82
|
+
return new Builder\Enum_($name);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Creates a trait use builder.
|
|
87
|
+
*
|
|
88
|
+
* @param Node\Name|string ...$traits Trait names
|
|
89
|
+
*
|
|
90
|
+
* @return Builder\TraitUse The create trait use builder
|
|
91
|
+
*/
|
|
92
|
+
public function useTrait(...$traits) : Builder\TraitUse {
|
|
93
|
+
return new Builder\TraitUse(...$traits);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Creates a trait use adaptation builder.
|
|
98
|
+
*
|
|
99
|
+
* @param Node\Name|string|null $trait Trait name
|
|
100
|
+
* @param Node\Identifier|string $method Method name
|
|
101
|
+
*
|
|
102
|
+
* @return Builder\TraitUseAdaptation The create trait use adaptation builder
|
|
103
|
+
*/
|
|
104
|
+
public function traitUseAdaptation($trait, $method = null) : Builder\TraitUseAdaptation {
|
|
105
|
+
if ($method === null) {
|
|
106
|
+
$method = $trait;
|
|
107
|
+
$trait = null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return new Builder\TraitUseAdaptation($trait, $method);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Creates a method builder.
|
|
115
|
+
*
|
|
116
|
+
* @param string $name Name of the method
|
|
117
|
+
*
|
|
118
|
+
* @return Builder\Method The created method builder
|
|
119
|
+
*/
|
|
120
|
+
public function method(string $name) : Builder\Method {
|
|
121
|
+
return new Builder\Method($name);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Creates a parameter builder.
|
|
126
|
+
*
|
|
127
|
+
* @param string $name Name of the parameter
|
|
128
|
+
*
|
|
129
|
+
* @return Builder\Param The created parameter builder
|
|
130
|
+
*/
|
|
131
|
+
public function param(string $name) : Builder\Param {
|
|
132
|
+
return new Builder\Param($name);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Creates a property builder.
|
|
137
|
+
*
|
|
138
|
+
* @param string $name Name of the property
|
|
139
|
+
*
|
|
140
|
+
* @return Builder\Property The created property builder
|
|
141
|
+
*/
|
|
142
|
+
public function property(string $name) : Builder\Property {
|
|
143
|
+
return new Builder\Property($name);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Creates a function builder.
|
|
148
|
+
*
|
|
149
|
+
* @param string $name Name of the function
|
|
150
|
+
*
|
|
151
|
+
* @return Builder\Function_ The created function builder
|
|
152
|
+
*/
|
|
153
|
+
public function function(string $name) : Builder\Function_ {
|
|
154
|
+
return new Builder\Function_($name);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Creates a namespace/class use builder.
|
|
159
|
+
*
|
|
160
|
+
* @param Node\Name|string $name Name of the entity (namespace or class) to alias
|
|
161
|
+
*
|
|
162
|
+
* @return Builder\Use_ The created use builder
|
|
163
|
+
*/
|
|
164
|
+
public function use($name) : Builder\Use_ {
|
|
165
|
+
return new Builder\Use_($name, Use_::TYPE_NORMAL);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Creates a function use builder.
|
|
170
|
+
*
|
|
171
|
+
* @param Node\Name|string $name Name of the function to alias
|
|
172
|
+
*
|
|
173
|
+
* @return Builder\Use_ The created use function builder
|
|
174
|
+
*/
|
|
175
|
+
public function useFunction($name) : Builder\Use_ {
|
|
176
|
+
return new Builder\Use_($name, Use_::TYPE_FUNCTION);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Creates a constant use builder.
|
|
181
|
+
*
|
|
182
|
+
* @param Node\Name|string $name Name of the const to alias
|
|
183
|
+
*
|
|
184
|
+
* @return Builder\Use_ The created use const builder
|
|
185
|
+
*/
|
|
186
|
+
public function useConst($name) : Builder\Use_ {
|
|
187
|
+
return new Builder\Use_($name, Use_::TYPE_CONSTANT);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Creates a class constant builder.
|
|
192
|
+
*
|
|
193
|
+
* @param string|Identifier $name Name
|
|
194
|
+
* @param Node\Expr|bool|null|int|float|string|array $value Value
|
|
195
|
+
*
|
|
196
|
+
* @return Builder\ClassConst The created use const builder
|
|
197
|
+
*/
|
|
198
|
+
public function classConst($name, $value) : Builder\ClassConst {
|
|
199
|
+
return new Builder\ClassConst($name, $value);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Creates an enum case builder.
|
|
204
|
+
*
|
|
205
|
+
* @param string|Identifier $name Name
|
|
206
|
+
*
|
|
207
|
+
* @return Builder\EnumCase The created use const builder
|
|
208
|
+
*/
|
|
209
|
+
public function enumCase($name) : Builder\EnumCase {
|
|
210
|
+
return new Builder\EnumCase($name);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Creates node a for a literal value.
|
|
215
|
+
*
|
|
216
|
+
* @param Expr|bool|null|int|float|string|array $value $value
|
|
217
|
+
*
|
|
218
|
+
* @return Expr
|
|
219
|
+
*/
|
|
220
|
+
public function val($value) : Expr {
|
|
221
|
+
return BuilderHelpers::normalizeValue($value);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Creates variable node.
|
|
226
|
+
*
|
|
227
|
+
* @param string|Expr $name Name
|
|
228
|
+
*
|
|
229
|
+
* @return Expr\Variable
|
|
230
|
+
*/
|
|
231
|
+
public function var($name) : Expr\Variable {
|
|
232
|
+
if (!\is_string($name) && !$name instanceof Expr) {
|
|
233
|
+
throw new \LogicException('Variable name must be string or Expr');
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
return new Expr\Variable($name);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Normalizes an argument list.
|
|
241
|
+
*
|
|
242
|
+
* Creates Arg nodes for all arguments and converts literal values to expressions.
|
|
243
|
+
*
|
|
244
|
+
* @param array $args List of arguments to normalize
|
|
245
|
+
*
|
|
246
|
+
* @return Arg[]
|
|
247
|
+
*/
|
|
248
|
+
public function args(array $args) : array {
|
|
249
|
+
$normalizedArgs = [];
|
|
250
|
+
foreach ($args as $key => $arg) {
|
|
251
|
+
if (!($arg instanceof Arg)) {
|
|
252
|
+
$arg = new Arg(BuilderHelpers::normalizeValue($arg));
|
|
253
|
+
}
|
|
254
|
+
if (\is_string($key)) {
|
|
255
|
+
$arg->name = BuilderHelpers::normalizeIdentifier($key);
|
|
256
|
+
}
|
|
257
|
+
$normalizedArgs[] = $arg;
|
|
258
|
+
}
|
|
259
|
+
return $normalizedArgs;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Creates a function call node.
|
|
264
|
+
*
|
|
265
|
+
* @param string|Name|Expr $name Function name
|
|
266
|
+
* @param array $args Function arguments
|
|
267
|
+
*
|
|
268
|
+
* @return Expr\FuncCall
|
|
269
|
+
*/
|
|
270
|
+
public function funcCall($name, array $args = []) : Expr\FuncCall {
|
|
271
|
+
return new Expr\FuncCall(
|
|
272
|
+
BuilderHelpers::normalizeNameOrExpr($name),
|
|
273
|
+
$this->args($args)
|
|
274
|
+
);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Creates a method call node.
|
|
279
|
+
*
|
|
280
|
+
* @param Expr $var Variable the method is called on
|
|
281
|
+
* @param string|Identifier|Expr $name Method name
|
|
282
|
+
* @param array $args Method arguments
|
|
283
|
+
*
|
|
284
|
+
* @return Expr\MethodCall
|
|
285
|
+
*/
|
|
286
|
+
public function methodCall(Expr $var, $name, array $args = []) : Expr\MethodCall {
|
|
287
|
+
return new Expr\MethodCall(
|
|
288
|
+
$var,
|
|
289
|
+
BuilderHelpers::normalizeIdentifierOrExpr($name),
|
|
290
|
+
$this->args($args)
|
|
291
|
+
);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Creates a static method call node.
|
|
296
|
+
*
|
|
297
|
+
* @param string|Name|Expr $class Class name
|
|
298
|
+
* @param string|Identifier|Expr $name Method name
|
|
299
|
+
* @param array $args Method arguments
|
|
300
|
+
*
|
|
301
|
+
* @return Expr\StaticCall
|
|
302
|
+
*/
|
|
303
|
+
public function staticCall($class, $name, array $args = []) : Expr\StaticCall {
|
|
304
|
+
return new Expr\StaticCall(
|
|
305
|
+
BuilderHelpers::normalizeNameOrExpr($class),
|
|
306
|
+
BuilderHelpers::normalizeIdentifierOrExpr($name),
|
|
307
|
+
$this->args($args)
|
|
308
|
+
);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Creates an object creation node.
|
|
313
|
+
*
|
|
314
|
+
* @param string|Name|Expr $class Class name
|
|
315
|
+
* @param array $args Constructor arguments
|
|
316
|
+
*
|
|
317
|
+
* @return Expr\New_
|
|
318
|
+
*/
|
|
319
|
+
public function new($class, array $args = []) : Expr\New_ {
|
|
320
|
+
return new Expr\New_(
|
|
321
|
+
BuilderHelpers::normalizeNameOrExpr($class),
|
|
322
|
+
$this->args($args)
|
|
323
|
+
);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Creates a constant fetch node.
|
|
328
|
+
*
|
|
329
|
+
* @param string|Name $name Constant name
|
|
330
|
+
*
|
|
331
|
+
* @return Expr\ConstFetch
|
|
332
|
+
*/
|
|
333
|
+
public function constFetch($name) : Expr\ConstFetch {
|
|
334
|
+
return new Expr\ConstFetch(BuilderHelpers::normalizeName($name));
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Creates a property fetch node.
|
|
339
|
+
*
|
|
340
|
+
* @param Expr $var Variable holding object
|
|
341
|
+
* @param string|Identifier|Expr $name Property name
|
|
342
|
+
*
|
|
343
|
+
* @return Expr\PropertyFetch
|
|
344
|
+
*/
|
|
345
|
+
public function propertyFetch(Expr $var, $name) : Expr\PropertyFetch {
|
|
346
|
+
return new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name));
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Creates a class constant fetch node.
|
|
351
|
+
*
|
|
352
|
+
* @param string|Name|Expr $class Class name
|
|
353
|
+
* @param string|Identifier|Expr $name Constant name
|
|
354
|
+
*
|
|
355
|
+
* @return Expr\ClassConstFetch
|
|
356
|
+
*/
|
|
357
|
+
public function classConstFetch($class, $name): Expr\ClassConstFetch {
|
|
358
|
+
return new Expr\ClassConstFetch(
|
|
359
|
+
BuilderHelpers::normalizeNameOrExpr($class),
|
|
360
|
+
BuilderHelpers::normalizeIdentifierOrExpr($name)
|
|
361
|
+
);
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* Creates nested Concat nodes from a list of expressions.
|
|
366
|
+
*
|
|
367
|
+
* @param Expr|string ...$exprs Expressions or literal strings
|
|
368
|
+
*
|
|
369
|
+
* @return Concat
|
|
370
|
+
*/
|
|
371
|
+
public function concat(...$exprs) : Concat {
|
|
372
|
+
$numExprs = count($exprs);
|
|
373
|
+
if ($numExprs < 2) {
|
|
374
|
+
throw new \LogicException('Expected at least two expressions');
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
$lastConcat = $this->normalizeStringExpr($exprs[0]);
|
|
378
|
+
for ($i = 1; $i < $numExprs; $i++) {
|
|
379
|
+
$lastConcat = new Concat($lastConcat, $this->normalizeStringExpr($exprs[$i]));
|
|
380
|
+
}
|
|
381
|
+
return $lastConcat;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* @param string|Expr $expr
|
|
386
|
+
* @return Expr
|
|
387
|
+
*/
|
|
388
|
+
private function normalizeStringExpr($expr) : Expr {
|
|
389
|
+
if ($expr instanceof Expr) {
|
|
390
|
+
return $expr;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
if (\is_string($expr)) {
|
|
394
|
+
return new String_($expr);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
throw new \LogicException('Expected string or Expr');
|
|
398
|
+
}
|
|
399
|
+
}
|