Top Description Fields Constructors Methods
org.junit.platform.launcher.tagexpression

pack-priv Class ShuntingYard

extends Object
Class Inheritance
Static Imports
java.lang.Integer.MIN_VALUE, java.util.Objects.requireNonNull, org.junit.platform.launcher.tagexpression.Operator.nullaryOperator, .ParseStatus.emptyTagExpression, .ParseStatus.missingClosingParenthesis, .ParseStatus.missingOpeningParenthesis, .ParseStatus.success, .TagExpressions.any, .TagExpressions.none, .TagExpressions.tag

This is based on a modified version of the Shunting-yard algorithm.
Since
1.1

Field Summary

Modifier and TypeField and Description
private final Stack<TokenWith<TagExpression>>
private static final Operator
private final Stack<TokenWith<Operator>>
private static final Operator
private static final Operator
private static final Token
private final List<Token>
private final Operators

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private ParseStatus
private TagExpression
private ParseStatus
public ParseResult
private ParseStatus
private ParseStatus
findOperands(Token token, Operator currentOperator)

private Operator
private ParseStatus
process(Token token)

private ParseStatus
private void
pushExpressionAt(Token token, TagExpression tagExpression)

private void
pushOperatorAt(Token token, Operator operator)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

expressionsback to summary
private final Stack<TokenWith<TagExpression>> expressions
LeftParenthesisback to summary
private static final Operator LeftParenthesis
operatorsback to summary
private final Stack<TokenWith<Operator>> operators
RightParenthesisback to summary
private static final Operator RightParenthesis
Sentinelback to summary
private static final Operator Sentinel
SentinelTokenback to summary
private static final Token SentinelToken
tokensback to summary
private final List<Token> tokens
validOperatorsback to summary
private final Operators validOperators

Constructor Detail

ShuntingYardback to summary
pack-priv ShuntingYard(List<Token> tokens)

Method Detail

consumeRemainingOperatorsback to summary
private ParseStatus consumeRemainingOperators()
convertLeafTokenToExpressionback to summary
private TagExpression convertLeafTokenToExpression(String trimmed)
ensureOnlySingleExpressionRemainsback to summary
private ParseStatus ensureOnlySingleExpressionRemains()
executeback to summary
public ParseResult execute()
findMatchingLeftParenthesisback to summary
private ParseStatus findMatchingLeftParenthesis(Token token)
findOperandsback to summary
private ParseStatus findOperands(Token token, Operator currentOperator)
previousOperatorback to summary
private Operator previousOperator()
processback to summary
private ParseStatus process(Token token)
processTokensback to summary
private ParseStatus processTokens()
pushExpressionAtback to summary
private void pushExpressionAt(Token token, TagExpression tagExpression)
pushOperatorAtback to summary
private void pushOperatorAt(Token token, Operator operator)