Package-level declarations

Types

Link copied to clipboard

Represents an assert statement

Link copied to clipboard

Statement used to interrupt further execution of a loop body and exit the respective loop context. Can have a loop label, e.g. in Java, to specify which of the nested loops should be broken out of.

Link copied to clipboard

Case statement of the form case expression : that serves as entry point for switch statements, the only allowed substatements are side effekt free primitive expression for the selector to choose from. THe statements executed after the entry are on the same AST hierarchy in the parent compound statement.

Link copied to clipboard
Link copied to clipboard

Statement used to interrupt further execution of a loop body and jump to the evaluation of the loop condition. Can have a loop label, e.g. in Java, to specify which of the nested loops condition should be reevaluated.

Link copied to clipboard

A Statement, which contains a single or multiple Declarations. Usually these statements occur if one defines a variable within a function body. A function body is a [ ], which can only contain other statements, but not declarations. Therefore, declarations are wrapped in a DeclarationStatement.

Link copied to clipboard

Default statement of the form default: that serves as entry point for switch statements. The statements executed after the entry are on the same AST hierarchy in the parent compound statement.

Link copied to clipboard

A Block of code containing code in a different language that is not parsable with the same frontend as the enclosing language.

Link copied to clipboard

Represents a conditional loop statement of the form: do{...}while(...). Where the body, usually a Block, is executed and re-executed if the condition evaluates to true.

Link copied to clipboard
Link copied to clipboard

Represent a for statement of the form for(variable ... iterable){...} that executes the loop body for each instance of an element in iterable that is temporarily stored in variable.

Link copied to clipboard

Represents an iterating loop statement of the form for(initializer; condition; iteration){...} that declares variables, can change them in an iteration statement and is executed until the condition evaluates to false.

Link copied to clipboard
Link copied to clipboard

Represents a condition control flow statement, usually indicating by If.

Link copied to clipboard

A label attached to a statement that is used to change control flow by labeled continue and breaks (Java) or goto(C++).

Link copied to clipboard

This statement modifies the lookup scope of one or more Reference nodes (or more precise it's symbols) within the current Scope. The most prominent example of this are the Python global and nonlocal keywords.

Link copied to clipboard
abstract class LoopStatement : Statement

This Node is a generalization of all looping statements and serves duplication reduction. All Looping statements can be identified by if they inherit from this class. Loops deviate from other nods in the way they change a programs control flow, and do so in combination with other nodes, e.g. BreakStatement.

Link copied to clipboard

Represents a statement that returns out of the current function.

Link copied to clipboard
abstract class Statement : Node, DeclarationHolder

This Node is the most basic node type that represents source code elements which represents executable code.

Link copied to clipboard

Represents a Java or C++ switch statement of the switch (selector) {...} that can include case and default statements. Break statements break out of the switch and labeled breaks in Java are handled properly.

Link copied to clipboard
Link copied to clipboard

Represents a throw or raise statement/expression.

Link copied to clipboard

A Statement which represents a try/catch block, primarily used for exception handling.

Link copied to clipboard

Represents a conditional loop statement of the form: while(...){...}. The loop body is executed until condition evaluates to false for the first time.