All files / src/abap/2_statements/expressions data_definition.ts

100% Statements 7/7
100% Branches 0/0
100% Functions 1/1
100% Lines 7/7

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 251x 1x     1x     1x   1x           1x       1x          
import {seq, alt, opt, per, Expression} from "../combi";
import * as Expressions from ".";
import {IStatementRunnable} from "../statement_runnable";
 
export class DataDefinition extends Expression {
  public getRunnable(): IStatementRunnable {
 
    const initial = seq("INITIAL SIZE", Expressions.Integer);
 
    const simple = opt(per("READ-ONLY",
                           Expressions.Type,
                           Expressions.Length,
                           Expressions.Decimals,
                           Expressions.Value));
 
    const table = seq(Expressions.TypeTable,
                      opt("READ-ONLY"),
                      opt(initial));
 
    return seq(Expressions.DefinitionName,
               opt(Expressions.ConstantFieldLength),
               alt(simple, table));
 
  }
}