History log of /PHP-Parser/ (Results 251 – 275 of 1690)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f5b56a5c03-Sep-2022 Nikita Popov

Remove MODIFIER_ prefix from node dumps

These constants are now called Modifiers::PUBLIC rather than
Class_::MODIFIER_PUBLIC etc, so update the dumped name as well.

a2608f0b03-Sep-2022 Nikita Popov

Support empty list insertion for attributes

9dca6f1d02-Sep-2022 Nikita Popov

Add test for StaticVar rename

Also run these in separate processes, they're not really meaningful
if the classes are already loaded.

035c1c7c02-Sep-2022 Nikita Popov

Rename Stmt\StaticVar to StaticVar

This is part of a statement, not a statement by itself.

8be56afd02-Sep-2022 Nikita Popov

Rename Expr\ArrayItem to ArrayItem

Array items are not expressions by themselves.


UPGRADE-5.0.md
grammar/php.y
lib/PhpParser/BuilderHelpers.php
lib/PhpParser/Node/ArrayItem.php
lib/PhpParser/Node/Expr/ArrayItem.php
lib/PhpParser/Node/Expr/Array_.php
lib/PhpParser/Node/Expr/List_.php
lib/PhpParser/Parser/Php7.php
lib/PhpParser/Parser/Php8.php
lib/PhpParser/ParserAbstract.php
lib/PhpParser/PrettyPrinter/Standard.php
test/PhpParser/Builder/ClassConstTest.php
test/PhpParser/Builder/ParamTest.php
test/PhpParser/Builder/PropertyTest.php
test/PhpParser/BuilderHelpersTest.php
test/PhpParser/CodeTestAbstract.php
test/PhpParser/CompatibilityTest.php
test/PhpParser/NodeDumperTest.php
test/PhpParser/PrettyPrinterTest.php
test/code/parser/errorHandling/recovery.test
test/code/parser/expr/arrayDef.test
test/code/parser/expr/arrayDestructuring.test
test/code/parser/expr/arrayEmptyElemens.test
test/code/parser/expr/arraySpread.test
test/code/parser/expr/assign.test
test/code/parser/expr/constant_expr.test
test/code/parser/expr/exprInList.test
test/code/parser/expr/fetchAndCall/constantDeref.test
test/code/parser/expr/issetAndEmpty.test
test/code/parser/expr/listReferences.test
test/code/parser/expr/listWithKeys.test
test/code/parser/expr/uvs/indirectCall.test
test/code/parser/expr/uvs/isset.test
test/code/parser/expr/uvs/misc.test
test/code/parser/scalar/flexibleDocString.test
test/code/parser/stmt/class/readonlyMethod.test
test/code/parser/stmt/class/simple.test
test/code/parser/stmt/function/defaultValues.test
test/code/parser/stmt/generator/yieldPrecedence.test
test/code/parser/stmt/loop/foreach.test
test/updateTests.php
0933986201-Sep-2022 Nikita Popov

Make sure Array nodes can not contain null

Now that destructuring is always represented using List nodes,
make sure that Array nodes can no longer contain null elements,
so well-type

Make sure Array nodes can not contain null

Now that destructuring is always represented using List nodes,
make sure that Array nodes can no longer contain null elements,
so well-typed code doesn't have to deal with them unnecessarily.

If an array does contain empty elements, these are now result in
an error and are represented as a ArrayItem with Error value if
error recovery is used.

The implementation is a bit tricky because at the time the Array
node is created, we cannot tell whether it will be used in a
creation or destructuring context. For this reason the error
reporting is delayed parsing has finished.

Closes #876.

show more ...

bf39f6a430-Aug-2022 Anton

Update grammar/README.md (#877)

892b07c429-Aug-2022 Nikita Popov

Add some test coverage for Token class

9857581e29-Aug-2022 Anton

Add array/callable to BUILTIN_TYPE_VERSIONS

Listing these is not strictly necessary, in that array/callable
are keywords, and as such don't use the relevant code path. We
can still i

Add array/callable to BUILTIN_TYPE_VERSIONS

Listing these is not strictly necessary, in that array/callable
are keywords, and as such don't use the relevant code path. We
can still include them for the sake of completeness.

Closes #872.

show more ...

09c6048d29-Aug-2022 Nikita Popov

Add CONTRIBUTING.md

For now just a mention of the non-standard coding style.

3c3bcd3129-Aug-2022 Nikita Popov

Also format the grammar directory

a5033e3829-Aug-2022 Nikita Popov

Format tests as well

The unnecessary parentheses for "new" are a bit annoying, but I
can live with it...


.php-cs-fixer.dist.php
test/PhpParser/Builder/ClassConstTest.php
test/PhpParser/Builder/ClassTest.php
test/PhpParser/Builder/EnumCaseTest.php
test/PhpParser/Builder/EnumTest.php
test/PhpParser/Builder/FunctionTest.php
test/PhpParser/Builder/InterfaceTest.php
test/PhpParser/Builder/MethodTest.php
test/PhpParser/Builder/NamespaceTest.php
test/PhpParser/Builder/ParamTest.php
test/PhpParser/Builder/PropertyTest.php
test/PhpParser/Builder/TraitTest.php
test/PhpParser/Builder/TraitUseAdaptationTest.php
test/PhpParser/Builder/TraitUseTest.php
test/PhpParser/Builder/UseTest.php
test/PhpParser/BuilderFactoryTest.php
test/PhpParser/BuilderHelpersTest.php
test/PhpParser/CodeParsingTest.php
test/PhpParser/CodeTestAbstract.php
test/PhpParser/CodeTestParser.php
test/PhpParser/CommentTest.php
test/PhpParser/CompatibilityTest.php
test/PhpParser/ConstExprEvaluatorTest.php
test/PhpParser/ErrorHandler/CollectingTest.php
test/PhpParser/ErrorHandler/ThrowingTest.php
test/PhpParser/ErrorTest.php
test/PhpParser/Internal/DifferTest.php
test/PhpParser/JsonDecoderTest.php
test/PhpParser/Lexer/EmulativeTest.php
test/PhpParser/LexerTest.php
test/PhpParser/NameContextTest.php
test/PhpParser/Node/Expr/CallableLikeTest.php
test/PhpParser/Node/IdentifierTest.php
test/PhpParser/Node/NameTest.php
test/PhpParser/Node/Scalar/DNumberTest.php
test/PhpParser/Node/Scalar/MagicConstTest.php
test/PhpParser/Node/Scalar/NumberTest.php
test/PhpParser/Node/Scalar/StringTest.php
test/PhpParser/Node/Stmt/ClassConstTest.php
test/PhpParser/Node/Stmt/ClassMethodTest.php
test/PhpParser/Node/Stmt/ClassTest.php
test/PhpParser/Node/Stmt/InterfaceTest.php
test/PhpParser/Node/Stmt/PropertyTest.php
test/PhpParser/NodeAbstractTest.php
test/PhpParser/NodeDumperTest.php
test/PhpParser/NodeFinderTest.php
test/PhpParser/NodeTraverserTest.php
test/PhpParser/NodeVisitor/FindingVisitorTest.php
test/PhpParser/NodeVisitor/FirstFindingVisitorTest.php
test/PhpParser/NodeVisitor/NameResolverTest.php
test/PhpParser/NodeVisitor/NodeConnectingVisitorTest.php
test/PhpParser/NodeVisitor/ParentConnectingVisitorTest.php
test/PhpParser/NodeVisitorForTesting.php
test/PhpParser/ParserFactoryTest.php
test/PhpParser/ParserTest.php
test/PhpParser/PrettyPrinterTest.php
test/bootstrap.php
test/updateTests.php
a2753c8228-Aug-2022 Nikita Popov

Require strict_types in php-cs-fixer config

dd63ddbc28-Aug-2022 Nikita Popov

Add php-cs-fixer config and reformat

The formatting in this project has become something of a mess,
because it changed over time. Add a CS fixer config and reformat
to the desired st

Add php-cs-fixer config and reformat

The formatting in this project has become something of a mess,
because it changed over time. Add a CS fixer config and reformat
to the desired style, which is PSR-12, but with sane brace placement.

show more ...


.php-cs-fixer.dist.php
lib/PhpParser/Builder.php
lib/PhpParser/Builder/ClassConst.php
lib/PhpParser/Builder/Class_.php
lib/PhpParser/Builder/Declaration.php
lib/PhpParser/Builder/EnumCase.php
lib/PhpParser/Builder/Enum_.php
lib/PhpParser/Builder/FunctionLike.php
lib/PhpParser/Builder/Function_.php
lib/PhpParser/Builder/Interface_.php
lib/PhpParser/Builder/Method.php
lib/PhpParser/Builder/Namespace_.php
lib/PhpParser/Builder/Param.php
lib/PhpParser/Builder/Property.php
lib/PhpParser/Builder/TraitUse.php
lib/PhpParser/Builder/TraitUseAdaptation.php
lib/PhpParser/Builder/Trait_.php
lib/PhpParser/Builder/Use_.php
lib/PhpParser/BuilderFactory.php
lib/PhpParser/BuilderHelpers.php
lib/PhpParser/Comment.php
lib/PhpParser/Comment/Doc.php
lib/PhpParser/ConstExprEvaluationException.php
lib/PhpParser/ConstExprEvaluator.php
lib/PhpParser/Error.php
lib/PhpParser/ErrorHandler.php
lib/PhpParser/ErrorHandler/Collecting.php
lib/PhpParser/ErrorHandler/Throwing.php
lib/PhpParser/Internal/DiffElem.php
lib/PhpParser/Internal/Differ.php
lib/PhpParser/Internal/PrintableNewAnonClassNode.php
lib/PhpParser/Internal/TokenPolyfill.php
lib/PhpParser/Internal/TokenStream.php
lib/PhpParser/JsonDecoder.php
lib/PhpParser/Lexer.php
lib/PhpParser/Lexer/Emulative.php
lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php
lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php
lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php
lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php
lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php
lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php
lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php
lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php
lib/PhpParser/NameContext.php
lib/PhpParser/Node.php
lib/PhpParser/Node/Arg.php
lib/PhpParser/Node/Attribute.php
lib/PhpParser/Node/AttributeGroup.php
lib/PhpParser/Node/ClosureUse.php
lib/PhpParser/Node/ComplexType.php
lib/PhpParser/Node/Const_.php
lib/PhpParser/Node/Expr.php
lib/PhpParser/Node/Expr/ArrayDimFetch.php
lib/PhpParser/Node/Expr/ArrayItem.php
lib/PhpParser/Node/Expr/Array_.php
lib/PhpParser/Node/Expr/ArrowFunction.php
lib/PhpParser/Node/Expr/Assign.php
lib/PhpParser/Node/Expr/AssignOp.php
lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php
lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php
lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php
lib/PhpParser/Node/Expr/AssignOp/Coalesce.php
lib/PhpParser/Node/Expr/AssignOp/Concat.php
lib/PhpParser/Node/Expr/AssignOp/Div.php
lib/PhpParser/Node/Expr/AssignOp/Minus.php
lib/PhpParser/Node/Expr/AssignOp/Mod.php
lib/PhpParser/Node/Expr/AssignOp/Mul.php
lib/PhpParser/Node/Expr/AssignOp/Plus.php
lib/PhpParser/Node/Expr/AssignOp/Pow.php
lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php
lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php
lib/PhpParser/Node/Expr/AssignRef.php
lib/PhpParser/Node/Expr/BinaryOp.php
lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php
lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php
lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php
lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php
lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php
lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php
lib/PhpParser/Node/Expr/BinaryOp/Concat.php
lib/PhpParser/Node/Expr/BinaryOp/Div.php
lib/PhpParser/Node/Expr/BinaryOp/Equal.php
lib/PhpParser/Node/Expr/BinaryOp/Greater.php
lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php
lib/PhpParser/Node/Expr/BinaryOp/Identical.php
lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php
lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php
lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php
lib/PhpParser/Node/Expr/BinaryOp/Minus.php
lib/PhpParser/Node/Expr/BinaryOp/Mod.php
lib/PhpParser/Node/Expr/BinaryOp/Mul.php
lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php
lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php
lib/PhpParser/Node/Expr/BinaryOp/Plus.php
lib/PhpParser/Node/Expr/BinaryOp/Pow.php
lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php
lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php
lib/PhpParser/Node/Expr/BinaryOp/Smaller.php
lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php
lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php
lib/PhpParser/Node/Expr/BitwiseNot.php
lib/PhpParser/Node/Expr/BooleanNot.php
lib/PhpParser/Node/Expr/Cast.php
lib/PhpParser/Node/Expr/Cast/Array_.php
lib/PhpParser/Node/Expr/Cast/Bool_.php
lib/PhpParser/Node/Expr/Cast/Double.php
lib/PhpParser/Node/Expr/Cast/Int_.php
lib/PhpParser/Node/Expr/Cast/Object_.php
lib/PhpParser/Node/Expr/Cast/String_.php
lib/PhpParser/Node/Expr/Cast/Unset_.php
lib/PhpParser/Node/Expr/ClassConstFetch.php
lib/PhpParser/Node/Expr/Clone_.php
lib/PhpParser/Node/Expr/Closure.php
lib/PhpParser/Node/Expr/ConstFetch.php
lib/PhpParser/Node/Expr/Empty_.php
lib/PhpParser/Node/Expr/Error.php
lib/PhpParser/Node/Expr/ErrorSuppress.php
lib/PhpParser/Node/Expr/Eval_.php
lib/PhpParser/Node/Expr/Exit_.php
lib/PhpParser/Node/Expr/FuncCall.php
lib/PhpParser/Node/Expr/Include_.php
lib/PhpParser/Node/Expr/Instanceof_.php
lib/PhpParser/Node/Expr/Isset_.php
lib/PhpParser/Node/Expr/List_.php
lib/PhpParser/Node/Expr/Match_.php
lib/PhpParser/Node/Expr/MethodCall.php
lib/PhpParser/Node/Expr/New_.php
lib/PhpParser/Node/Expr/NullsafeMethodCall.php
lib/PhpParser/Node/Expr/NullsafePropertyFetch.php
lib/PhpParser/Node/Expr/PostDec.php
lib/PhpParser/Node/Expr/PostInc.php
lib/PhpParser/Node/Expr/PreDec.php
lib/PhpParser/Node/Expr/PreInc.php
lib/PhpParser/Node/Expr/Print_.php
lib/PhpParser/Node/Expr/PropertyFetch.php
lib/PhpParser/Node/Expr/ShellExec.php
lib/PhpParser/Node/Expr/StaticCall.php
lib/PhpParser/Node/Expr/StaticPropertyFetch.php
lib/PhpParser/Node/Expr/Ternary.php
lib/PhpParser/Node/Expr/Throw_.php
lib/PhpParser/Node/Expr/UnaryMinus.php
lib/PhpParser/Node/Expr/UnaryPlus.php
lib/PhpParser/Node/Expr/Variable.php
lib/PhpParser/Node/Expr/YieldFrom.php
lib/PhpParser/Node/Expr/Yield_.php
lib/PhpParser/Node/FunctionLike.php
lib/PhpParser/Node/Identifier.php
lib/PhpParser/Node/IntersectionType.php
lib/PhpParser/Node/MatchArm.php
lib/PhpParser/Node/Name.php
lib/PhpParser/Node/Name/FullyQualified.php
lib/PhpParser/Node/Name/Relative.php
lib/PhpParser/Node/NullableType.php
lib/PhpParser/Node/Param.php
lib/PhpParser/Node/Scalar.php
lib/PhpParser/Node/Scalar/DNumber.php
lib/PhpParser/Node/Scalar/Encapsed.php
lib/PhpParser/Node/Scalar/EncapsedStringPart.php
lib/PhpParser/Node/Scalar/LNumber.php
lib/PhpParser/Node/Scalar/MagicConst.php
lib/PhpParser/Node/Scalar/MagicConst/Class_.php
lib/PhpParser/Node/Scalar/MagicConst/Dir.php
lib/PhpParser/Node/Scalar/MagicConst/File.php
lib/PhpParser/Node/Scalar/MagicConst/Function_.php
lib/PhpParser/Node/Scalar/MagicConst/Line.php
lib/PhpParser/Node/Scalar/MagicConst/Method.php
lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php
lib/PhpParser/Node/Scalar/MagicConst/Trait_.php
lib/PhpParser/Node/Scalar/String_.php
lib/PhpParser/Node/Stmt.php
lib/PhpParser/Node/Stmt/Break_.php
lib/PhpParser/Node/Stmt/Case_.php
lib/PhpParser/Node/Stmt/Catch_.php
lib/PhpParser/Node/Stmt/ClassConst.php
lib/PhpParser/Node/Stmt/ClassLike.php
lib/PhpParser/Node/Stmt/ClassMethod.php
lib/PhpParser/Node/Stmt/Class_.php
lib/PhpParser/Node/Stmt/Const_.php
lib/PhpParser/Node/Stmt/Continue_.php
lib/PhpParser/Node/Stmt/DeclareDeclare.php
lib/PhpParser/Node/Stmt/Declare_.php
lib/PhpParser/Node/Stmt/Do_.php
lib/PhpParser/Node/Stmt/Echo_.php
lib/PhpParser/Node/Stmt/ElseIf_.php
lib/PhpParser/Node/Stmt/Else_.php
lib/PhpParser/Node/Stmt/EnumCase.php
lib/PhpParser/Node/Stmt/Enum_.php
lib/PhpParser/Node/Stmt/Expression.php
lib/PhpParser/Node/Stmt/Finally_.php
lib/PhpParser/Node/Stmt/For_.php
lib/PhpParser/Node/Stmt/Foreach_.php
lib/PhpParser/Node/Stmt/Function_.php
lib/PhpParser/Node/Stmt/Global_.php
lib/PhpParser/Node/Stmt/Goto_.php
lib/PhpParser/Node/Stmt/GroupUse.php
lib/PhpParser/Node/Stmt/HaltCompiler.php
lib/PhpParser/Node/Stmt/If_.php
lib/PhpParser/Node/Stmt/InlineHTML.php
lib/PhpParser/Node/Stmt/Interface_.php
lib/PhpParser/Node/Stmt/Label.php
lib/PhpParser/Node/Stmt/Namespace_.php
lib/PhpParser/Node/Stmt/Nop.php
lib/PhpParser/Node/Stmt/Property.php
lib/PhpParser/Node/Stmt/PropertyProperty.php
lib/PhpParser/Node/Stmt/Return_.php
lib/PhpParser/Node/Stmt/StaticVar.php
lib/PhpParser/Node/Stmt/Static_.php
lib/PhpParser/Node/Stmt/Switch_.php
lib/PhpParser/Node/Stmt/Throw_.php
lib/PhpParser/Node/Stmt/TraitUse.php
lib/PhpParser/Node/Stmt/TraitUseAdaptation.php
lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php
lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php
lib/PhpParser/Node/Stmt/Trait_.php
lib/PhpParser/Node/Stmt/TryCatch.php
lib/PhpParser/Node/Stmt/Unset_.php
lib/PhpParser/Node/Stmt/UseUse.php
lib/PhpParser/Node/Stmt/Use_.php
lib/PhpParser/Node/Stmt/While_.php
lib/PhpParser/Node/UnionType.php
lib/PhpParser/Node/VarLikeIdentifier.php
lib/PhpParser/NodeAbstract.php
lib/PhpParser/NodeDumper.php
lib/PhpParser/NodeFinder.php
lib/PhpParser/NodeTraverser.php
lib/PhpParser/NodeTraverserInterface.php
lib/PhpParser/NodeVisitor.php
lib/PhpParser/NodeVisitor/CloningVisitor.php
lib/PhpParser/NodeVisitor/FindingVisitor.php
lib/PhpParser/NodeVisitor/FirstFindingVisitor.php
lib/PhpParser/NodeVisitor/NameResolver.php
lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php
lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php
lib/PhpParser/NodeVisitorAbstract.php
lib/PhpParser/Parser.php
lib/PhpParser/ParserAbstract.php
lib/PhpParser/ParserFactory.php
lib/PhpParser/PrettyPrinter/Standard.php
lib/PhpParser/PrettyPrinterAbstract.php
f62b2bfd28-Aug-2022 Nikita Popov

Introduce separate Modifiers class

Use PhpParser\Modifiers::PUBLIC instead of
PhpParser\Node\Stmt\Class_::MODIFIER_PUBLIC, etc. Old constants
of course remain available.

Fix

Introduce separate Modifiers class

Use PhpParser\Modifiers::PUBLIC instead of
PhpParser\Node\Stmt\Class_::MODIFIER_PUBLIC, etc. Old constants
of course remain available.

Fixes #476.

show more ...

68fc1ba428-Aug-2022 Nikita Popov

Always use List_ node for array destructuring

Fixes #471.

53b907d428-Aug-2022 Nikita Popov

Fix length bounds check in Name::slice()

The length check did not take into account that there may be a
non-zero offset at this point.

Fixes #875.

f828b76920-Aug-2022 Daniel Schmelz

Fix typo

0201a7ee08-Aug-2022 Tomas Votruba

[docs] Add generic types to NodeFinder to allow returning exact type in static analysis (#869)

9b2a01aa07-Aug-2022 George Peter Banyard

Add support for DNF types (#862)

652fb0c607-Aug-2022 Nikita Popov

Print trailing comma in param list if supported

ea9d6b2221-Jul-2022 Anton

Always use pMaybeMultiline() for function parameters

Closes GH-861.

34d8681407-Aug-2022 Nikita Popov

Mark NodeVisitorAbstract as abstract class

It doesn't actually have any abstract methods, but doesn't do
anything by itself and is intended for extension only.

Fixes #865.

1f504d2c07-Aug-2022 Nikita Popov

Don't trim in Comment::getReformattedText()

In the past, single-line comments were stored together with the
trailing newline. Later we switched to the PHP8 comment
representation, wh

Don't trim in Comment::getReformattedText()

In the past, single-line comments were stored together with the
trailing newline. Later we switched to the PHP8 comment
representation, where the trailing newline is not part of the
comment anymore. As such, there is also no need to trim here.

This is split out from GH-867.

show more ...

c55c7a2a07-Aug-2022 Anton

Add json and ctype as required extensions in composer.json (#864)

1...<<11121314151617181920>>...68