All files / src/abap/5_syntax/expressions loop_group_by.ts

94.73% Statements 36/38
85.71% Branches 6/7
100% Functions 1/1
94.73% Lines 36/38

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 381x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 22x 22x 14x 14x 14x 14x     14x 22x 22x 7x 7x 22x 22x 10x 10x 22x 22x 18x 15x 15x 18x 22x 22x 1x
import * as Expressions from "../../2_statements/expressions";
import {ExpressionNode} from "../../nodes";
import {VoidType} from "../../types/basic";
import {ComponentCompare} from "./component_compare";
import {InlineData} from "./inline_data";
import {FSTarget} from "./fstarget";
import {Target} from "./target";
import {SyntaxInput} from "../_syntax_input";
import {Source} from "./source";
 
export class LoopGroupBy {
  public static runSyntax(node: ExpressionNode, input: SyntaxInput): void {
 
    for (const t of node.findAllExpressions(Expressions.Target)) {
      const inline = t.findDirectExpression(Expressions.InlineData);
      if (inline) {
        InlineData.runSyntax(inline, input, VoidType.get("todoGroupBy"));
      } else {
        Target.runSyntax(t, input);
      }
    }
 
    for (const t of node.findAllExpressions(Expressions.FSTarget)) {
      FSTarget.runSyntax(t, input, VoidType.get("todoGroupBy"));
    }
 
    for (const t of node.findDirectExpressions(Expressions.Source)) {
      Source.runSyntax(t, input, VoidType.get("todoGroupBy"));
    }
 
    for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {
      for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {
        ComponentCompare.runSyntax(t, input);
      }
    }
 
  }
}