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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x | import {IStatement} from "./_statement"; import {Version} from "../../../version"; import {seq, opt, alt, ver, plus} from "../combi"; import {Source, InterfaceName, AttributeName, AbstractMethods, FinalMethods} from "../expressions"; import {IStatementRunnable} from "../statement_runnable"; export class InterfaceDef implements IStatement { public getMatcher(): IStatementRunnable { const val = seq(AttributeName, "=", Source); const dataValues = seq("DATA VALUES", plus(val)); const options = alt(AbstractMethods, FinalMethods, "ALL METHODS ABSTRACT", "ALL METHODS FINAL", ver(Version.v740sp02, "PARTIALLY IMPLEMENTED")); return seq("INTERFACES", InterfaceName, opt(options), opt(dataValues)); } } |