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

100% Statements 11/11
100% Branches 2/2
100% Functions 1/1
100% Lines 11/11

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 231x     1x 1x   1x     41x 41x 41x 2x     41x 41x 39x          
import * as Expressions from "../../2_statements/expressions";
import {ExpressionNode, StatementNode} from "../../nodes";
import {CurrentScope} from "../_current_scope";
import {Dynamic} from "./dynamic";
import {DatabaseTable} from "./database_table";
 
export class SQLFrom {
 
  public runSyntax(node: ExpressionNode | StatementNode, scope: CurrentScope, filename: string): void {
    const fromList = node.findAllExpressions(Expressions.SQLFromSource);
    for (const from of fromList) {
      for (const d of from.findAllExpressions(Expressions.Dynamic)) {
        new Dynamic().runSyntax(d, scope, filename);
      }
 
      const dbtab = from.findFirstExpression(Expressions.DatabaseTable);
      if (dbtab !== undefined) {
        new DatabaseTable().runSyntax(dbtab, scope, filename);
      }
    }
  }
 
}