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

93.75% Statements 30/32
83.33% Branches 5/6
100% Functions 1/1
93.75% Lines 30/32

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 321x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 20x 20x 12x 12x 12x 12x     12x 20x 7x 7x 20x 20x 18x 15x 15x 18x 20x 20x 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";
 
export class LoopGroupBy {
  public runSyntax(node: ExpressionNode, input: SyntaxInput): void {
 
    for (const t of node.findAllExpressions(Expressions.Target)) {
      const inline = t.findDirectExpression(Expressions.InlineData);
      if (inline) {
        new InlineData().runSyntax(inline, input, new VoidType("todoGroupBy"));
      } else {
        new Target().runSyntax(t, input);
      }
    }
    for (const t of node.findAllExpressions(Expressions.FSTarget)) {
      new FSTarget().runSyntax(t, input, new VoidType("todoGroupBy"));
    }
 
    for (const c of node.findDirectExpressions(Expressions.LoopGroupByComponent)) {
      for (const t of c.findDirectExpressions(Expressions.ComponentCompareSingle)) {
        new ComponentCompare().runSyntax(t, input);
      }
    }
 
  }
}