classArithmeticExpressionParser
final class ArithmeticExpressionParser
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Parses arithmetic operators using SQLite precedence.
Methods§
public function __construct(private ExpressionCursor $cursor)Binds the collaborators used by this operation.
Parameters
$cursor | ExpressionCursor |
public function parseAdditive(): UpsertExpressionParses arithmetic operators using SQLite precedence.
Returns
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:29
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:34
Calls 6
- method-call ArithmeticExpressionParser::parseMultiplicative() line 29
- method-call ExpressionTokenDecoder::isSymbol() line 30
- new ExpressionTokenDecoder line 30
- static-call UpsertExpression::binary() line 33
- class-const UpsertExpressionKind::Add() line 34
- class-const UpsertExpressionKind::Subtract() line 34
public function parseMultiplicative(): UpsertExpressionParses arithmetic operators using SQLite precedence.
Returns
Test cases 1
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseAdditive() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:29
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseAdditive() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:36
Calls 7
- method-call ArithmeticExpressionParser::parseUnary() line 48
- method-call ExpressionTokenDecoder::isSymbol() line 50
- new ExpressionTokenDecoder line 50
- class-const UpsertExpressionKind::Multiply() line 55
- class-const UpsertExpressionKind::Divide() line 56
- class-const UpsertExpressionKind::Modulo() line 56
- static-call UpsertExpression::binary() line 57
public function parseUnary(): UpsertExpressionParses arithmetic operators using SQLite precedence.
Returns
Test cases 2
Called from 4
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseMultiplicative() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:48
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseMultiplicative() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:57
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseUnary() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:72
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ArithmeticExpressionParser::parseUnary() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ArithmeticExpressionParser.php:79
Calls 9
- static-call UpsertExpression::unary() line 72
- class-const UpsertExpressionKind::Not() line 72
- method-call ArithmeticExpressionParser::parseUnary() line 72
- method-call ExpressionTokenDecoder::isSymbol() line 74
- new ExpressionTokenDecoder line 74
- class-const UpsertExpressionKind::UnaryPlus() line 78
- class-const UpsertExpressionKind::UnaryMinus() line 78
- method-call PrimaryExpressionParser::parsePrimary() line 83
- new PrimaryExpressionParser line 83
Private surface 1§
Implementation details, listed for orientation only.
private ExpressionCursor $cursorTest cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 4
ArithmeticExpressionParserTest::testParseAdditiveHonorsMultiplicationPrecedencecallsArithmeticExpressionParserTest::testParseMultiplicativeConsumesDivisionAndRemaindercallsArithmeticExpressionParserTest::testParseUnaryConsumesNestedSignscallsArithmeticExpressionParserTest::testParseUnaryNotUsesSqlTruthcalls
Other tests reaching this symbol 9
Relations§
Instantiated in 2
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:29
- new ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:34
Method calls 2
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:29
- method-call ZtdQuery\Platform\Sqlite\Shadow\Mutation\Upsert\ComparisonExpressionParser::parseComparison() packages/ztd-query-sqlite/src/Shadow/Mutation/Upsert/ComparisonExpressionParser.php:34