All Downloads are FREE. Search and download functionalities are using the official Maven repository.

foundation.jpa.querydsl.groupby.StateExpressionOfAny2 Maven / Gradle / Ivy

There is a newer version: 0.29
Show newest version
package foundation.jpa.querydsl.groupby;

import foundation.rpg.parser.UnexpectedInputException;
import foundation.rpg.parser.Named;

import java.util.Arrays;
import java.util.List;

// Generated visitor pattern based state for grammar parser.
public class StateExpressionOfAny2 extends StackState, StackState>, ? extends State>>> {

// NoStack:
// Stack:
    public StateExpressionOfAny2(foundation.jpa.querydsl.groupby.GroupByFactory factory, com.querydsl.core.types.Expression node, StackState>, ? extends State>> prev) {
        super(factory, node, prev);
    }


// Reduce:
    @Override
    public State visitEnd(foundation.rpg.parser.End symbol) throws UnexpectedInputException {
        StackState>, ? extends State>> stack1 = this.getPrev();
		StackState>, ? extends State> stack2 = stack1.getPrev();
		State stack3 = stack2.getPrev();
        return stack3.visitNonEmptyListOfExpressionOfAny(foundation.rpg.common.rules.NonEmpty.Rules.is(stack2.getNode(), stack1.getNode(), this.getNode())).visitEnd(symbol);
    }

    @Override
    public State visitComma(foundation.rpg.common.symbols.Comma symbol) throws UnexpectedInputException {
        StackState>, ? extends State>> stack1 = this.getPrev();
		StackState>, ? extends State> stack2 = stack1.getPrev();
		State stack3 = stack2.getPrev();
        return stack3.visitNonEmptyListOfExpressionOfAny(foundation.rpg.common.rules.NonEmpty.Rules.is(stack2.getNode(), stack1.getNode(), this.getNode())).visitComma(symbol);
    }


// Shift:
    @Override
    public State visitDot(foundation.rpg.common.symbols.Dot symbol) {
        return new StateDot1(getFactory(), symbol, this);
    }


// Accept:
    @Override
    public List stack() {
        StackState>, ? extends State>> stack1 = this.getPrev();
		StackState>, ? extends State> stack2 = stack1.getPrev();
		State stack3 = stack2.getPrev();
        return Arrays.asList(stack2.getNode(), stack1.getNode(), this.getNode());
    }

}