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

86.95% Statements 20/23
75% Branches 3/4
100% Functions 1/1
86.95% Lines 20/23

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 1x 1x 1x 1x 1x 12x 12x 12x 11x 11x 1x 1x 1x 1x 1x       1x
import * as Expressions from "../../2_statements/expressions";
import {ExpressionNode} from "../../nodes";
import {FieldChain} from "./field_chain";
import {ReferenceType} from "../_reference";
import {Constant} from "./constant";
import {SyntaxInput} from "../_syntax_input";
 
export class Default {
  public runSyntax(node: ExpressionNode, input: SyntaxInput) {
 
    const chain = node.findDirectExpression(Expressions.FieldChain);
    if (chain) {
      return new FieldChain().runSyntax(chain, input, ReferenceType.DataReadReference);
    }
 
    const constant = node.findDirectExpression(Expressions.Constant);
    if (constant) {
      return new Constant().runSyntax(constant);
    }

    return undefined;
  }
}