Search in sources :

Example 1 with BLangPatternStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput in project ballerina by ballerina-lang.

the class SiddhiQueryBuilder method visit.

@Override
public void visit(BLangPatternStreamingInput patternStreamingInput) {
    boolean isFollowedByPattern = patternStreamingInput.isFollowedBy();
    boolean enclosedInParanthesisPattern = patternStreamingInput.enclosedInParanthesis();
    List<PatternStreamingEdgeInputNode> patternStreamingEdgeInputs = patternStreamingInput.getPatternStreamingEdgeInputs();
    BLangPatternStreamingInput nestedPatternStreamingInput = (BLangPatternStreamingInput) patternStreamingInput.getPatternStreamingInput();
    if (isFollowedByPattern) {
        BLangPatternStreamingEdgeInput patternStreamingEdgeInput = (BLangPatternStreamingEdgeInput) patternStreamingEdgeInputs.get(0);
        patternStreamingEdgeInput.accept(this);
        patternStreamingClause.append(" -> ");
        ((BLangPatternStreamingInput) patternStreamingInput.getPatternStreamingInput()).accept(this);
    }
    if (enclosedInParanthesisPattern) {
        patternStreamingClause.append("( ");
        nestedPatternStreamingInput.accept(this);
        patternStreamingClause.append(" ) ");
    }
    if (!isFollowedByPattern && !enclosedInParanthesisPattern) {
        BLangPatternStreamingEdgeInput patternStreamingEdgeInput = (BLangPatternStreamingEdgeInput) patternStreamingEdgeInputs.get(0);
        patternStreamingEdgeInput.accept(this);
    }
}
Also used : BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput) BLangPatternStreamingEdgeInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingEdgeInput) PatternStreamingEdgeInputNode(org.ballerinalang.model.tree.clauses.PatternStreamingEdgeInputNode)

Example 2 with BLangPatternStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput in project ballerina by ballerina-lang.

the class SiddhiQueryBuilder method visit.

@Override
public void visit(BLangPatternClause patternClause) {
    if (patternClause.isForAllEvents()) {
        patternStreamingClause.append("every ");
    }
    BLangPatternStreamingInput patternStreamingInput = (BLangPatternStreamingInput) patternClause.getPatternStreamingNode();
    patternStreamingInput.accept(this);
    BLangWithinClause withinClause = (BLangWithinClause) patternClause.getWithinClause();
    if (withinClause != null) {
        withinClause.accept(this);
    }
}
Also used : BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput) BLangWithinClause(org.wso2.ballerinalang.compiler.tree.clauses.BLangWithinClause)

Example 3 with BLangPatternStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput in project ballerina by ballerina-lang.

the class SemanticAnalyzer method visit.

@Override
public void visit(BLangPatternStreamingInput patternStreamingInput) {
    List<PatternStreamingEdgeInputNode> patternStreamingEdgeInputs = patternStreamingInput.getPatternStreamingEdgeInputs();
    for (PatternStreamingEdgeInputNode inputNode : patternStreamingEdgeInputs) {
        BLangPatternStreamingEdgeInput streamingInput = (BLangPatternStreamingEdgeInput) inputNode;
        streamingInput.accept(this);
    }
    BLangPatternStreamingInput nestedPatternStreamingInput = (BLangPatternStreamingInput) patternStreamingInput.getPatternStreamingInput();
    if (nestedPatternStreamingInput != null) {
        nestedPatternStreamingInput.accept(this);
    }
}
Also used : BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput) BLangPatternStreamingEdgeInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingEdgeInput) PatternStreamingEdgeInputNode(org.ballerinalang.model.tree.clauses.PatternStreamingEdgeInputNode)

Example 4 with BLangPatternStreamingInput

use of org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput in project ballerina by ballerina-lang.

the class SemanticAnalyzer method visit.

@Override
public void visit(BLangPatternClause patternClause) {
    BLangPatternStreamingInput patternStreamingInput = (BLangPatternStreamingInput) patternClause.getPatternStreamingNode();
    patternStreamingInput.accept(this);
}
Also used : BLangPatternStreamingInput(org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput)

Aggregations

BLangPatternStreamingInput (org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingInput)4 PatternStreamingEdgeInputNode (org.ballerinalang.model.tree.clauses.PatternStreamingEdgeInputNode)2 BLangPatternStreamingEdgeInput (org.wso2.ballerinalang.compiler.tree.clauses.BLangPatternStreamingEdgeInput)2 BLangWithinClause (org.wso2.ballerinalang.compiler.tree.clauses.BLangWithinClause)1