AST: add redo, retry, empty-statement

This commit is contained in:
Arthur Baars
2021-02-12 14:29:34 +01:00
parent 64cba18c41
commit 015b581f57
4 changed files with 61 additions and 8 deletions

View File

@@ -51,10 +51,6 @@ module AstNode {
or
this instanceof Generated::Superclass
or
this instanceof Generated::EmptyStatement
or
this instanceof Generated::Redo
or
this instanceof Generated::Hash
or
this instanceof Generated::Array

View File

@@ -6,6 +6,14 @@ module Stmt {
abstract class Range extends AstNode::Range { }
}
module EmptyStmt {
class Range extends Stmt::Range, @token_empty_statement {
final override Generated::EmptyStatement generated;
final override string toString() { result = ";" }
}
}
module ReturningStmt {
abstract class Range extends Stmt::Range {
abstract Generated::ArgumentList getArgumentList();
@@ -51,3 +59,19 @@ module NextStmt {
final override Generated::ArgumentList getArgumentList() { result = generated.getChild() }
}
}
module RedoStmt {
class Range extends Stmt::Range, @redo {
final override Generated::Redo generated;
final override string toString() { result = "redo" }
}
}
module RetryStmt {
class Range extends Stmt::Range, @retry {
final override Generated::Retry generated;
final override string toString() { result = "retry" }
}
}