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

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

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 121x 1x     1x     4x   4x    
import {regex as reg, Expression, altPrio, tok, seq} from "../combi";
import {Dash} from "../../1_lexer/tokens";
import {IStatementRunnable} from "../statement_runnable";
 
export class FieldSymbol extends Expression {
  public getRunnable(): IStatementRunnable {
// todo, this only allows one dash in the name
    const dashes = seq(reg(/^<[\w\/%$\*]+$/), tok(Dash), reg(/^[\w\/%$\*]+>$/));
 
    return altPrio(reg(/^<[\w\/%$\*]+>$/), dashes);
  }
}