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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {seq, opt, Expression, tok, alt, altPrio} from "../combi";
import {ClassName, MessageSource, ParameterListS, RaiseWith, Source} from ".";
import {ParenLeft, ParenLeftW, ParenRightW, WParenRightW} from "../../1_lexer/tokens";
import {IStatementRunnable} from "../statement_runnable";
export class Throw extends Expression {
public getRunnable(): IStatementRunnable {
const message = seq("MESSAGE",
MessageSource,
opt(RaiseWith));
return seq("THROW",
opt("RESUMABLE"),
ClassName,
altPrio(tok(ParenLeftW), tok(ParenLeft)),
opt(alt(Source, ParameterListS, message)),
altPrio(tok(WParenRightW), tok(ParenRightW)));
}
} |