generated from rnentjes/kotlin-server-web-undertow
26 lines
877 B
Java
26 lines
877 B
Java
package mtmc.lang.sea.ast;
|
|
|
|
import mtmc.lang.ParseException;
|
|
import mtmc.lang.sea.Token;
|
|
|
|
public abstract sealed class Statement extends Ast permits StatementBlock, StatementBreak, StatementContinue, StatementDoWhile, StatementExpression, StatementFor, StatementGoto, StatementIf, StatementReturn, StatementSyntaxError, StatementVar, StatementWhile
|
|
{
|
|
private Token labelAnchor = null;
|
|
|
|
public Statement(Token start, Token end) {
|
|
super(start, end);
|
|
}
|
|
|
|
public void setLabelAnchor(Token labelAnchor) throws ParseException {
|
|
if (labelAnchor == null) return;
|
|
if (this.labelAnchor != null) {
|
|
throw new ParseException(new ParseException.Message(labelAnchor, "this statement has been labeled twice!!"));
|
|
}
|
|
this.labelAnchor = labelAnchor;
|
|
}
|
|
|
|
public Token getLabelAnchor() {
|
|
return labelAnchor;
|
|
}
|
|
}
|