com.strumenta.javalangmodule.ast

Version: 1.0


This document was generated on 2026/02/17.


Introduction

This is the documentation for the com.strumenta.javalangmodule.ast language.

Documentation

Abstract Node

Expression Abstract

Any expression in the Java language. Much of the work in a program is done by evaluating expressions, either for their side effects, such as assignments to variables, or for their values, which can be used as arguments or operands in larger expressions, or to affect the execution sequence in statements, or both. See https://docs.oracle.com/javase/specs/jls/se19/html/jls-15.html

Annotation Abstract

Local Features
Name Type and Description
typeName
AnnotationDeclaration R

Modifier Abstract

EntityMember Abstract

ValueDeclaration Abstract

Type Abstract

Local Features
Name Type and Description
jAnnotations list of
Annotation N

TypeArguments Abstract

TypeBound Abstract

Local Features
Name Type and Description
baseType
Type N

Statement Abstract

There are many kinds of statements in the Java programming language. Most correspond to statements in the C and C++ languages, but some are unique.

Local Features
Name Type and Description
label optional

BinaryExpr Abstract

Super Classes
Local Features
Name Type and Description
left
Expression N
right
Expression N
Inherited Features
Name Type and Description

AbstractAssignmentExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

AdditiveExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

BitwiseExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

EqualityExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

LogicalExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

MultiplicativeExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

RelationalExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

ShiftExpr Abstract

Super Classes
Inherited Features
Name Type and Description
left
Expression N
right
Expression N

InstanceOfExpr Abstract

Super Classes
Local Features
Name Type and Description
expression
Expression N
Inherited Features
Name Type and Description

LambdaParameter Abstract

PrimaryExpr Abstract

Primary expressions include most of the simplest kinds of expressions, from which all others are constructed: literals, object creations, field accesses, method invocations, method references, and array accesses. A parenthesized expression is also treated syntactically as a primary expression.

Super Classes
Inherited Features
Name Type and Description

ArrayCreationExpr Abstract

An array creation expression is used to create new arrays.

Super Classes
Local Features
Name Type and Description
dimensions
ArrayDimensions N
type
Type N
Inherited Features
Name Type and Description

LexicalLiteralExpr Abstract

A literal denotes a fixed, unchanging value.

Super Classes
Inherited Features
Name Type and Description

BooleanLiteralExpr Abstract

Super Classes
Inherited Features
Name Type and Description

MethodInvocationExpr Abstract

A method invocation expression is used to invoke a class or instance method.

Super Classes
Local Features
Name Type and Description
method
MethodDeclarationLike R
arguments list of
Expression N
Inherited Features
Name Type and Description

SwitchExprAlternative Abstract

Local Features
Name Type and Description
body list of
Statement N

UnaryOperatorExpression Abstract

Super Classes
Local Features
Name Type and Description
base
Expression N
Inherited Features
Name Type and Description

PostfixExpression Abstract

Super Classes
Inherited Features
Name Type and Description
base
Expression N

PrefixExpression Abstract

Super Classes
Inherited Features
Name Type and Description
base
Expression N

FieldAccessContainer Abstract

ImportDeclaration Abstract

See https://docs.oracle.com/javase/specs/jls/se20/html/jls-7.html#jls-7.5

Local Features
Name Type and Description
static LionWeb.LionCore_builtins.Boolean

ModuleDirective Abstract

SwitchStmtLabel Abstract

TryStmt Abstract

Super Classes
Local Features
Name Type and Description
body
BlockStmt N
catchClauses list of
CatchClause N
finallyBlock
FinallyBlock N
Inherited Features
Name Type and Description
label optional

Nodes

AnnotationExpr Node

Super Classes
Local Features
Name Type and Description
annotation
Annotation N
Inherited Features
Name Type and Description

Abstract Node

Super Classes
Inherited Features
Name Type and Description

Default Node

Super Classes
Inherited Features
Name Type and Description

Final Node

Super Classes
Inherited Features
Name Type and Description

Native Node

Super Classes
Inherited Features
Name Type and Description

Private Node

Super Classes
Inherited Features
Name Type and Description

Protected Node

Super Classes
Inherited Features
Name Type and Description

Public Node

Super Classes
Inherited Features
Name Type and Description

Sealed Node

Super Classes
Inherited Features
Name Type and Description

Static Node

Super Classes
Inherited Features
Name Type and Description

Synchronized Node

Super Classes
Inherited Features
Name Type and Description

Transient Node

Super Classes
Inherited Features
Name Type and Description

Transitive Node

Super Classes
Inherited Features
Name Type and Description

Volatile Node

Super Classes
Inherited Features
Name Type and Description

MarkerAnnotation Node

Super Classes
Inherited Features
Name Type and Description
typeName
AnnotationDeclaration R

AnnotationDeclaration Node

TypeDeclaration Node

Local Features
Name Type and Description
members list of
EntityMember N

AnnotationConstant Node

Super Classes
Local Features
Name Type and Description
declarators list of
VariableDeclarator N
type
Type N
Inherited Features
Name Type and Description

VariableDeclarator Node

Local Features
Name Type and Description
arrayDimensions list of
ArrayDimension N
initializer
Expression N

ArrayDimension Node

Local Features
Name Type and Description
jAnnotations list of
Annotation N
size
Expression N

ArrayType Node

Super Classes
Local Features
Name Type and Description
baseType
Type N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

BooleanType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

ByteType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

CharType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

DoubleType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

EntityType Node

Super Classes
Local Features
Name Type and Description
entity
TypeLikeDeclaration R
typeArguments
TypeArguments N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

ExplicitTypeArguments Node

Super Classes
Local Features
Name Type and Description
typeArguments list of
Type N
Inherited Features
Name Type and Description

InferredTypeArguments Node

Super Classes
Inherited Features
Name Type and Description

FloatType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

IntType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

InternalType Node

Super Classes
Local Features
Name Type and Description
container
Type N
internal
Type N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

IntersectionType Node

Super Classes
Local Features
Name Type and Description
elements list of
Type N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

LongType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

ShortType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

UnionType Node

Super Classes
Local Features
Name Type and Description
elements list of
Type N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

VoidType Node

Super Classes
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

WildcardType Node

Super Classes
Local Features
Name Type and Description
bound
TypeBound N
Inherited Features
Name Type and Description
jAnnotations list of
Annotation N

LowerTypeBound Node

Super Classes
Inherited Features
Name Type and Description
baseType
Type N

UpperTypeBound Node

Super Classes
Inherited Features
Name Type and Description
baseType
Type N

AnnotationMethod Node

Super Classes
Local Features
Name Type and Description
defaultValue
Expression N
type
Type N
Inherited Features
Name Type and Description

Constructor Node

Super Classes
Local Features
Name Type and Description
className String
body
BlockStmt N
exceptions list of
ExceptionThrown N
parameters list of
ParameterDeclaration N
typeParameters list of
TypeParameter N
Inherited Features
Name Type and Description

Block Node

Local Features
Name Type and Description
blockStatement list of
BlockStatement N

BlockStatement Node

A block is a sequence of statements, local variable declaration statements, and local class and interface declarations within braces.

Local Features
Name Type and Description
localTypeDeclarationNotEmpty
LocalTypeDeclarationNotEmpty N
localVariableDeclaration
LocalVariableDeclaration N
statement
Statement N

LocalTypeDeclarationNotEmpty Node

Local Features
Name Type and Description
classDeclaration
ClassDeclaration N
classOrInterfaceModifier list of
ClassOrInterfaceModifier N
interfaceDeclaration
InterfaceDeclaration N
recordDeclaration
RecordDeclaration N

ClassDeclaration Node

Super Classes
Local Features
Name Type and Description
extended
Type N
implemented list of
Type N
permittedSubclasses list of
Type N
Inherited Features
Name Type and Description
members list of
EntityMember N

FieldDecl Node

Super Classes
Local Features
Name Type and Description
declarators list of
VariableDeclarator N
type
Type N
Inherited Features
Name Type and Description

MethodDeclaration Node

Super Classes
Local Features
Name Type and Description
body
MethodBody N
exceptions list of
ExceptionThrown N
parameters list of
ParameterDeclaration N
Inherited Features
Name Type and Description

MethodBody Node

Local Features
Name Type and Description
statements list of
Statement N

ExceptionThrown Node

Local Features
Name Type and Description
exception
QualifiedName N

QualifiedName Node

Local Features
Name Type and Description
name String
jAnnotations list of
Annotation N
qualifier
QualifiedName N

ParameterDeclaration Node

Super Classes
Local Features
Name Type and Description
variadic LionWeb.LionCore_builtins.Boolean
type
Type N
Inherited Features
Name Type and Description

TypeParameter Node

Local Features
Name Type and Description
extendsClause
ExtendsClause N

ExtendsClause Node

Local Features
Name Type and Description
jAnnotations list of
Annotation N
type
Type N

ClassOrInterfaceModifier Node

Local Features
Name Type and Description
annotation
Annotation N

InterfaceDeclaration Node

Super Classes
Local Features
Name Type and Description
extended list of
Type N
permittedExtendingClasses list of
Type N
Inherited Features
Name Type and Description
members list of
EntityMember N

RecordDeclaration Node

Super Classes
Local Features
Name Type and Description
components list of
RecordComponent N
implemented list of
Type N
typeParameters list of
TypeParameter N
Inherited Features
Name Type and Description
members list of
EntityMember N

RecordComponent Node

Local Features
Name Type and Description
variadic LionWeb.LionCore_builtins.Boolean
type
Type N
variadicAnnotations list of
Annotation N

LocalVariableDeclaration Node

Super Classes
Local Features
Name Type and Description
declarators list of
VariableDeclarator N
type
Type N
expression
Expression N
Inherited Features
Name Type and Description
label optional

Identifier Node

ExpressionList Node

Local Features
Name Type and Description
expression list of
Expression N

TypeType Node

Local Features
Name Type and Description
annotableArrayModifiers list of
AnnotableArrayModifiers N
annotation list of
Annotation N
classOrInterfaceType
ClassOrInterfaceType N
primitiveType
PrimitiveType N

AnnotableArrayModifiers Node

Local Features
Name Type and Description
annotation list of
Annotation N

ClassOrInterfaceType Node

Local Features
Name Type and Description
annotation list of
Annotation N
contextType list of
ContextType N
typeArguments
TypeArguments N
typeIdentifier
TypeIdentifier N

ContextType Node

Local Features
Name Type and Description
identifier
Identifier N
typeArguments
TypeArguments N

TypeIdentifier Node

PrimitiveType Node

VariableModifier Node

Local Features
Name Type and Description
annotation
Annotation N

VariableDeclaratorId Node

Local Features
Name Type and Description
arrayModifiers list of
ArrayModifiersHolder N
identifier
Identifier N

ArrayModifiersHolder Node

Local Features
Name Type and Description
heldValue String

ForInit Node

Local Features
Name Type and Description
expressionList
ExpressionList N
localVariableDeclaration
LocalVariableDeclaration N

LocalTypeDeclaration Node

Super Classes
Local Features
Name Type and Description
localDeclaration
TypeDeclaration N
Inherited Features
Name Type and Description
label optional

SwitchLabel Node

Local Features
Name Type and Description
enumConstantName optional
constantExpression
Expression N
typeType
TypeType N
varName
Identifier N

InterfaceConstant Node

Super Classes
Local Features
Name Type and Description
declarators list of
VariableDeclarator N
type
Type N
Inherited Features
Name Type and Description

StaticInitializer Node

Super Classes
Local Features
Name Type and Description
block
BlockStmt N
Inherited Features
Name Type and Description

NormalAnnotation Node

Super Classes
Local Features
Name Type and Description
values list of
AnnotationValueAssignment N
Inherited Features
Name Type and Description
typeName
AnnotationDeclaration R

AnnotationValueAssignment Node

Local Features
Name Type and Description
parameterName String
value
Expression N

SingleElementAnnotation Node

Super Classes
Local Features
Name Type and Description
value
Expression N
Inherited Features
Name Type and Description
typeName
AnnotationDeclaration R

ArrayLiteralExpr Node

Super Classes
Local Features
Name Type and Description
elements list of
Expression N
Inherited Features
Name Type and Description

AddAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

AndAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

AssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

DivAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

ModAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

MulAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

OrAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

SignedLeftShiftAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

SignedRightShiftAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

SubAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

UnsignedRightShiftAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

XorAssignmentExpr Node

Super Classes
Inherited Features
Name Type and Description

SubtractionExpr Node

Super Classes
Inherited Features
Name Type and Description

SumExpr Node

Super Classes
Inherited Features
Name Type and Description

BitwiseAndExpr Node

Super Classes
Inherited Features
Name Type and Description

BitwiseOrExpr Node

Super Classes
Inherited Features
Name Type and Description

BitwiseXorExpr Node

Super Classes
Inherited Features
Name Type and Description

EqualToExpr Node

Super Classes
Inherited Features
Name Type and Description

NotEqualToExpr Node

Super Classes
Inherited Features
Name Type and Description

LogicalAndExpr Node

Super Classes
Inherited Features
Name Type and Description

LogicalOrExpr Node

Super Classes
Inherited Features
Name Type and Description

DivisionExpr Node

Super Classes
Inherited Features
Name Type and Description

ModuleExpr Node

Super Classes
Inherited Features
Name Type and Description

MultiplicationExpr Node

Super Classes
Inherited Features
Name Type and Description

GreaterOrEqualToExpr Node

Super Classes
Inherited Features
Name Type and Description

GreaterThanExpr Node

Super Classes
Inherited Features
Name Type and Description

LessOrEqualToExpr Node

Super Classes
Inherited Features
Name Type and Description

LessThanExpr Node

Super Classes
Inherited Features
Name Type and Description

SignedLeftShiftExpr Node

Super Classes
Inherited Features
Name Type and Description

SignedRightShiftExpr Node

Super Classes
Inherited Features
Name Type and Description

UnsignedRightShiftExpr Node

Super Classes
Inherited Features
Name Type and Description

ClassReference Node

Super Classes
Local Features
Name Type and Description
className
TypeLikeDeclaration R
Inherited Features
Name Type and Description

ConditionalExpr Node

The conditional operator ? : uses the boolean value of one expression to decide which of two other expressions should be evaluated.

Super Classes
Local Features
Name Type and Description
condition
Expression N
falseBranch
Expression N
trueBranch
Expression N
Inherited Features
Name Type and Description

ConstructorReferenceExpr Node

Super Classes
Local Features
Name Type and Description
type
Type N
typeArguments
TypeArguments N
Inherited Features
Name Type and Description

InstanceOfPatternExpr Node

Super Classes
Local Features
Name Type and Description
varDecl
LocalVariableDeclaration N
Inherited Features
Name Type and Description
expression
Expression N

InstanceOfTypeExpr Node

Super Classes
Local Features
Name Type and Description
type
Type N
Inherited Features
Name Type and Description
expression
Expression N

LambdaExpr Node

Super Classes
Local Features
Name Type and Description
expressionBlock
BlockStmt N
expressionBody
Expression N
params list of
LambdaParameter N
Inherited Features
Name Type and Description

AdvancedLambdaParameter Node

Super Classes
Local Features
Name Type and Description
variableArity LionWeb.LionCore_builtins.Boolean
dimensions list of
ArrayDimension N
modifiers list of
Modifier N
type
Type N
Inherited Features
Name Type and Description

SimpleLambdaParameter Node

Super Classes
Inherited Features
Name Type and Description

MethodReferenceExpr Node

Super Classes
Local Features
Name Type and Description
methodName String
context
Expression N
typeArguments list of
Type N
Inherited Features
Name Type and Description

MethodStaticReferenceExpr Node

Super Classes
Local Features
Name Type and Description
methodName String
context
Type N
typeArguments list of
Type N
Inherited Features
Name Type and Description

NegatedExpr Node

Super Classes
Local Features
Name Type and Description
base
Expression N
Inherited Features
Name Type and Description

PlaceholderExpr Node

Placeholder used to represent any expression. This is not part of the Java language. It is instead an extension used to represent patterns and templates of Java code.

Super Classes
Inherited Features
Name Type and Description

ArrayAccess Node

An array access expression refers to a variable that is a component of an array.

Super Classes
Local Features
Name Type and Description
array
Expression N
index
Expression N
Inherited Features
Name Type and Description

ArrayCreationExpressionWithInitializer Node

Super Classes
Local Features
Name Type and Description
initializers list of
Expression N
Inherited Features
Name Type and Description
dimensions
ArrayDimensions N
type
Type N

ArrayDimensions Node

Local Features
Name Type and Description
dims list of
ArrayDimension N

ArrayCreationExpressionWithoutInitializer Node

Super Classes
Local Features
Name Type and Description
dimensionExpressions
ArrayDimensionExprs N
Inherited Features
Name Type and Description
dimensions
ArrayDimensions N
type
Type N

ArrayDimensionExprs Node

Local Features
Name Type and Description
dims list of
ArrayDimensionExpr N

ArrayDimensionExpr Node

Local Features
Name Type and Description
expr
Expression N

ClassInstanceCreationExpr Node

A class instance creation expression is used to create new objects that are instances of classes. Qualified instance creation expressions are used to create instances of inner classes. The Primary part of the expression identifies the outer (enclosing) class. new is, again, the new keyword. Identifier is the simple name of the inner class being created. As an example, assume you have a class named Outer that has an inner class named Inner. The expression to create an instance of inner would look like: new Outer( ).new Inner( ); @param typeName name of the class or interface to instantiate (as one could define an anonymous class from an interface) @param qualifier a qualified class instance creation expression enables the creation of instances of inner member classes and their anonymous subclasses @param body it is present if we define an anonymous class See https://docs.oracle.com/javase/specs/jls/se19/html/jls-15.html#jls-15.9

Super Classes
Local Features
Name Type and Description
typeName
TypeDeclaration R
arguments list of
Expression N
body
ClassInstanceCreationBody N
classTypeArguments
ExplicitTypeArguments N
constructorTypeArguments
TypeArguments N
qualifier
Expression N
Inherited Features
Name Type and Description

ClassInstanceCreationBody Node

Local Features
Name Type and Description
members list of
EntityMember N

ClassLiteralExpr Node

A class literal is an expression consisting of the name of a class, interface, array type, or primitive type, or the pseudo-type void, followed by a '.' and the token class.

Super Classes
Local Features
Name Type and Description
type
Type N
Inherited Features
Name Type and Description

FieldAccessExpr Node

expression or the special keyword super. If an expression name is of the form Q.Id, then Q has already been classified as a package name, a type name, or an expression name. Note that also qualified types could be represented as JFieldAccessExpr, as we can distinguish them only after symbol resolution and not during parsing.

Super Classes
Local Features
Name Type and Description
field
VariableDeclarator R
container
Expression N
Inherited Features
Name Type and Description

CharacterLiteralExpr Node

Super Classes
Local Features
Name Type and Description
value String
Inherited Features
Name Type and Description

FloatingPointLiteralExpr Node

Super Classes
Local Features
Name Type and Description
value String
Inherited Features
Name Type and Description

IntegerLiteralExpr Node

Super Classes
Local Features
Name Type and Description
format IntegerFormat
value String
Inherited Features
Name Type and Description

NullLiteralExpr Node

Super Classes
Inherited Features
Name Type and Description

StringLiteralExpr Node

Super Classes
Local Features
Name Type and Description
value String
Inherited Features
Name Type and Description

TextBlockExpr Node

Super Classes
Local Features
Name Type and Description
value String
Inherited Features
Name Type and Description

ExpressionQualifiedMethodInvocationExpr Node

Super Classes
Local Features
Name Type and Description
container
Expression N
typeArguments
TypeArguments N
Inherited Features
Name Type and Description
method
MethodDeclarationLike R
arguments list of
Expression N

SuperQualifiedMethodInvocationExpr Node

Super Classes
Local Features
Name Type and Description
qualifiedName
QualifiedName N
typeArguments
TypeArguments N
Inherited Features
Name Type and Description
method
MethodDeclarationLike R
arguments list of
Expression N

TypeQualifiedMethodInvocationExpr Node

Super Classes
Local Features
Name Type and Description
typeArguments
TypeArguments N
typeName
QualifiedName N
Inherited Features
Name Type and Description
method
MethodDeclarationLike R
arguments list of
Expression N

UnqualifiedMethodInvocationExpr Node

Super Classes
Inherited Features
Name Type and Description
method
MethodDeclarationLike R
arguments list of
Expression N

Parenthesized Node

A parenthesized expression is a primary expression whose type is the type of the contained expression and whose value at run time is the value of the contained expression. If the contained expression denotes a variable then the parenthesized expression also denotes that variable. The use of parentheses affects only the order of evaluation, except for a corner case whereby (-2147483648) and (-9223372036854775808L) are legal but -(2147483648) and -(9223372036854775808L) are illegal. This is because the decimal literals 2147483648 and 9223372036854775808L are allowed only as an operand of the unary minus operator

Super Classes
Local Features
Name Type and Description
base
Expression N
Inherited Features
Name Type and Description

QualifiedThisExpr Node

Any lexically enclosing instance can be referred to by explicitly qualifying the keyword this. Let n be an integer such that TypeName denotes the n'th lexically enclosing class or interface declaration of the class or interface whose declaration immediately encloses the qualified this expression. The value of a qualified this expression TypeName.this is the n'th lexically enclosing instance of this. If TypeName denotes a generic class, with type parameters F1,...,Fn, the type of the qualified this expression is TypeName. Otherwise, the type of the qualified this expression is TypeName.

Super Classes
Local Features
Name Type and Description
typeName
QualifiedName N
Inherited Features
Name Type and Description

SuperExpr Node

Super Classes
Inherited Features
Name Type and Description

ThisExpr Node

The keyword this may be used as an expression in the following contexts: - in the body of an instance method of a class - in the body of a constructor of a class - in an instance initializer of a class - in the initializer of an instance variable of a class - in the body of an instance method of an interface, that is, a default method or a non-static private interface method. When used as an expression, the keyword this denotes a value that is a reference either to the object for which the instance method was invoked, or to the object being constructed. The value denoted by this in a lambda body is the same as the value denoted by this in the surrounding context.

Super Classes
Inherited Features
Name Type and Description

ReferenceExpr Node

If an expression name consists of a single Identifier, then there must be exactly one declaration denoting either a local variable, formal parameter, exception parameter, or field in scope at the point at which the identifier occurs. Otherwise, a compile-time error occurs.

Super Classes
Local Features
Name Type and Description
value
LionWeb.LionCore_builtins.INamed R
Inherited Features
Name Type and Description

SuperConstructorCall Node

Super Classes
Local Features
Name Type and Description
arguments list of
Expression N
Inherited Features
Name Type and Description

SuperMethodReferenceExpr Node

Super Classes
Local Features
Name Type and Description
methodName String
type
QualifiedName N
typeArguments list of
Type N
Inherited Features
Name Type and Description

SwitchExpr Node

Super Classes
Local Features
Name Type and Description
alternatives list of
SwitchExprAlternative N
value
Expression N
Inherited Features
Name Type and Description

CaseSwitchExprAlternative Node

Super Classes
Local Features
Name Type and Description
condition list of
Expression N
Inherited Features
Name Type and Description
body list of
Statement N

DefaultSwitchExprAlternative Node

Super Classes
Inherited Features
Name Type and Description
body list of
Statement N

ThisConstructorCall Node

Super Classes
Local Features
Name Type and Description
arguments list of
Expression N
Inherited Features
Name Type and Description

CastExpr Node

Super Classes
Local Features
Name Type and Description
type
Type N
Inherited Features
Name Type and Description
base
Expression N

PostDecrementExpr Node

Super Classes
Inherited Features
Name Type and Description

PostIncrementExpr Node

Super Classes
Inherited Features
Name Type and Description

BitwiseComplementExpr Node

Super Classes
Inherited Features
Name Type and Description

MinusExpr Node

Super Classes
Inherited Features
Name Type and Description

PlusExpr Node

Super Classes
Inherited Features
Name Type and Description

PreDecrementExpr Node

Super Classes
Inherited Features
Name Type and Description

PreIncrementExpr Node

Super Classes
Inherited Features
Name Type and Description

TrueLiteralExpr Node

Super Classes
Inherited Features
Name Type and Description

FalseLiteralExpr Node

Super Classes
Inherited Features
Name Type and Description

ExpressionFieldAccessContainer Node

Super Classes
Local Features
Name Type and Description
container
Expression N
Inherited Features
Name Type and Description

SuperFieldAccessContainer Node

Super Classes
Local Features
Name Type and Description
qualifiedName
QualifiedName N
Inherited Features
Name Type and Description

OnDemandImportDeclaration Node

Super Classes
Local Features
Name Type and Description
imported
QualifiedName N
Inherited Features
Name Type and Description
static LionWeb.LionCore_builtins.Boolean

SpecificImportDeclaration Node

Super Classes
Local Features
Name Type and Description
imported
QualifiedName N
Inherited Features
Name Type and Description
static LionWeb.LionCore_builtins.Boolean

PackageDeclaration Node

Local Features
Name Type and Description
jAnnotations list of
Annotation N
name
QualifiedName N

CompilationUnit Node

Local Features
Name Type and Description
declarations list of
TypeDeclaration N
imports list of
ImportDeclaration N
moduleDeclaration
ModuleDeclaration N
packageDeclaration
PackageDeclaration N

ModuleDeclaration Node

Local Features
Name Type and Description
open LionWeb.LionCore_builtins.Boolean
directives list of
ModuleDirective N
name
QualifiedName N

ExportsModuleDirective Node

Super Classes
Local Features
Name Type and Description
packageName
QualifiedName N
toModules list of
QualifiedName N
Inherited Features
Name Type and Description

OpensModuleDirective Node

Super Classes
Local Features
Name Type and Description
packageName
QualifiedName N
toModules list of
QualifiedName N
Inherited Features
Name Type and Description

ProvidesModuleDirective Node

Super Classes
Local Features
Name Type and Description
providers list of
QualifiedName N
service
QualifiedName N
Inherited Features
Name Type and Description

RequiresModuleDirective Node

Super Classes
Local Features
Name Type and Description
modifiers list of
Modifier N
module
QualifiedName N
Inherited Features
Name Type and Description

UsesModuleDirective Node

Super Classes
Local Features
Name Type and Description
type
QualifiedName N
Inherited Features
Name Type and Description

EnumDeclaration Node

Super Classes
Local Features
Name Type and Description
constants list of
EnumConstant N
implemented list of
Type N
Inherited Features
Name Type and Description
members list of
EntityMember N

EnumConstant Node

Local Features
Name Type and Description
arguments list of
Expression N
members list of
EntityMember N

TypeParameters Node

Local Features
Name Type and Description
typeParameter list of
TypeParameter N

TypeParameterExtendsClause Node

Local Features
Name Type and Description
annotation list of
Annotation N
typeBound
TypeBound N

EnumBodyDeclarations Node

Local Features
Name Type and Description
classBodyDeclaration list of
ClassBodyDeclaration N

ClassBodyDeclaration Node

Local Features
Name Type and Description
block
Block N
memberDeclaration
MemberDeclaration N
modifier list of
Modifier N

MemberDeclaration Node

Local Features
Name Type and Description
annotationTypeDeclaration
AnnotationTypeDeclaration N
classDeclaration
ClassDeclaration N
constructorDeclaration
ConstructorDeclaration N
enumDeclaration
EnumDeclaration N
fieldDeclaration
FieldDeclaration N
genericConstructorDeclaration
GenericConstructorDeclaration N
genericMethodDeclaration
GenericMethodDeclaration N
interfaceDeclaration
InterfaceDeclaration N
methodDeclaration
MethodDeclaration N
recordDeclaration
RecordDeclaration N

AnnotationTypeDeclaration Node

Local Features
Name Type and Description
annotationTypeBody
AnnotationTypeBody N
identifier
Identifier N

AnnotationTypeBody Node

Local Features
Name Type and Description
annotationTypeElementDeclaration list of
AnnotationTypeElementDeclaration N

AnnotationTypeElementDeclaration Node

Local Features
Name Type and Description
annotationTypeElementRest
AnnotationTypeElementRest N
modifier list of
Modifier N

AnnotationTypeElementRest Node

Local Features
Name Type and Description
annotationMethodOrConstantRest
AnnotationMethodOrConstantRest N
annotationTypeDeclaration
AnnotationTypeDeclaration N
classDeclaration
ClassDeclaration N
enumDeclaration
EnumDeclaration N
interfaceDeclaration
InterfaceDeclaration N
recordDeclaration
RecordDeclaration N
typeType
TypeType N

AnnotationMethodOrConstantRest Node

Local Features
Name Type and Description
annotationConstantRest
AnnotationConstantRest N
annotationMethodRest
AnnotationMethodRest N

AnnotationConstantRest Node

Local Features
Name Type and Description
variableDeclarators
VariableDeclarators N

VariableDeclarators Node

Local Features
Name Type and Description
variableDeclarator list of
VariableDeclarator N

AnnotationMethodRest Node

Local Features
Name Type and Description
defaultValue
DefaultValue N
identifier
Identifier N

DefaultValue Node

Local Features
Name Type and Description
elementValue
ElementValue N

ElementValue Node

Local Features
Name Type and Description
annotation
Annotation N
elementValueArrayInitializer
ElementValueArrayInitializer N
expression
Expression N

ElementValueArrayInitializer Node

Local Features
Name Type and Description
elementValue list of
ElementValue N

ConstructorDeclaration Node

Local Features
Name Type and Description
constructorBody
Block N
formalParameters
FormalParameters N
identifier
Identifier N
qualifiedNameList
QualifiedNameList N

FormalParameters Node

Local Features
Name Type and Description
formalParameterList
FormalParameterList N
receiverParameter
ReceiverParameter N

FormalParameterList Node

Local Features
Name Type and Description
formalParameter list of
FormalParameter N
lastFormalParameter
LastFormalParameter N

FormalParameter Node

Local Features
Name Type and Description
typeType
TypeType N
variableDeclaratorId
VariableDeclaratorId N
variableModifier list of
VariableModifier N

LastFormalParameter Node

Local Features
Name Type and Description
annotation list of
Annotation N
typeType
TypeType N
variableDeclaratorId
VariableDeclaratorId N
variableModifier list of
VariableModifier N

ReceiverParameter Node

Local Features
Name Type and Description
identifier list of
Identifier N
typeType
TypeType N

QualifiedNameList Node

Local Features
Name Type and Description
qualifiedName list of
QualifiedName N

FieldDeclaration Node

Local Features
Name Type and Description
typeType
TypeType N
variableDeclarators
VariableDeclarators N

GenericConstructorDeclaration Node

Local Features
Name Type and Description
constructorDeclaration
ConstructorDeclaration N
typeParameters
TypeParameters N

GenericMethodDeclaration Node

Local Features
Name Type and Description
methodDeclaration
MethodDeclaration N
typeParameters
TypeParameters N

InterfaceBody Node

Local Features
Name Type and Description
interfaceBodyDeclaration list of
InterfaceBodyDeclaration N

InterfaceBodyDeclaration Node

Local Features
Name Type and Description
interfaceMemberDeclaration
InterfaceMemberDeclaration N
modifier list of
Modifier N

InterfaceMemberDeclaration Node

Local Features
Name Type and Description
annotationTypeDeclaration
AnnotationTypeDeclaration N
classDeclaration
ClassDeclaration N
constDeclaration
ConstDeclaration N
enumDeclaration
EnumDeclaration N
genericInterfaceMethodDeclaration
GenericInterfaceMethodDeclaration N
interfaceDeclaration
InterfaceDeclaration N
interfaceMethodDeclaration
InterfaceMethodDeclaration N
recordDeclaration
RecordDeclaration N

ConstDeclaration Node

Local Features
Name Type and Description
constantDeclarator list of
ConstantDeclarator N
typeType
TypeType N

ConstantDeclarator Node

Local Features
Name Type and Description
arrayModifiers list of
ArrayModifiersHolder N
identifier
Identifier N
variableInitializer
VariableInitializer N

VariableInitializer Node

Local Features
Name Type and Description
arrayInitializer
ArrayInitializer N
expression
Expression N

ArrayInitializer Node

Local Features
Name Type and Description
variableInitializer list of
VariableInitializer N

GenericInterfaceMethodDeclaration Node

Local Features
Name Type and Description
interfaceCommonBodyDeclaration
InterfaceCommonBodyDeclaration N
interfaceMethodModifier list of
InterfaceMethodModifier N
typeParameters
TypeParameters N

InterfaceCommonBodyDeclaration Node

Local Features
Name Type and Description
annotation list of
Annotation N
formalParameters
FormalParameters N
identifier
Identifier N
methodBody
MethodBody N
qualifiedNameList
QualifiedNameList N
typeTypeOrVoid
TypeTypeOrVoid N

TypeTypeOrVoid Node

Local Features
Name Type and Description
typeType
TypeType N

InterfaceMethodModifier Node

Local Features
Name Type and Description
annotation
Annotation N

InterfaceMethodDeclaration Node

Local Features
Name Type and Description
interfaceCommonBodyDeclaration
InterfaceCommonBodyDeclaration N
interfaceMethodModifier list of
InterfaceMethodModifier N

FloatLiteral Node

IntegerLiteral Node

AssertStmt Node

An assertion is an assert statement containing a boolean expression. An assertion is either enabled or disabled. If an assertion is enabled, execution of the assertion causes evaluation of the boolean expression and an error is reported if the expression evaluates to false. If the assertion is disabled, execution of the assertion has no effect whatsoever.

Super Classes
Local Features
Name Type and Description
test
Expression N
voidTest
Expression N
Inherited Features
Name Type and Description
label optional

BlockStmt Node

A block is a sequence of statements, local variable declaration statements, and local class and interface declarations within braces.

Super Classes
Local Features
Name Type and Description
statements list of
Statement N
Inherited Features
Name Type and Description
label optional

BreakStmt Node

Super Classes
Local Features
Name Type and Description
identifier optional
Inherited Features
Name Type and Description
label optional

ContinueStmt Node

Super Classes
Local Features
Name Type and Description
identifier optional
Inherited Features
Name Type and Description
label optional

DoStmt Node

Super Classes
Local Features
Name Type and Description
body
Statement N
condition
Expression N
Inherited Features
Name Type and Description
label optional

EmptyStatement Node

An empty statement does nothing.

Super Classes
Inherited Features
Name Type and Description
label optional

ExpressionStmt Node

An expression statement is executed by evaluating the expression; if the expression has a value, the value is discarded. Execution of the expression statement completes normally if and only if evaluation of the expression completes normally.

Super Classes
Local Features
Name Type and Description
expression
Expression N
Inherited Features
Name Type and Description
label optional

ForEachStmt Node

Super Classes
Local Features
Name Type and Description
body
Statement N
collection
Expression N
type
Type N
Inherited Features
Name Type and Description
label optional

ForStmt Node

Super Classes
Local Features
Name Type and Description
body
Statement N
check
Expression N
initializers list of
Statement N
postOp list of
Expression N
Inherited Features
Name Type and Description
label optional

IfStatement Node

Super Classes
Local Features
Name Type and Description
condition
Expression N
elseBody
Statement N
thenBody
Statement N
Inherited Features
Name Type and Description
label optional

PlaceholderMultiStmt Node

Super Classes
Inherited Features
Name Type and Description
label optional

PlaceholderSingleStmt Node

Super Classes
Inherited Features
Name Type and Description
label optional

ReturnStatement Node

Super Classes
Local Features
Name Type and Description
value
Expression N
Inherited Features
Name Type and Description
label optional

SwitchStmt Node

Super Classes
Local Features
Name Type and Description
alternatives list of
SwitchStmtAlternative N
value
Expression N
Inherited Features
Name Type and Description
label optional

SwitchStmtAlternative Node

Local Features
Name Type and Description
body list of
Statement N
labels list of
SwitchStmtLabel N

DefaultSwitchStmtLabel Node

Super Classes
Inherited Features
Name Type and Description

ExpressionSwitchStmtLabel Node

Super Classes
Local Features
Name Type and Description
condition
Expression N
Inherited Features
Name Type and Description

VarDeclSwitchStmtLabel Node

Super Classes
Local Features
Name Type and Description
variable
LocalVariableDeclaration N
Inherited Features
Name Type and Description

SynchronizedStmt Node

Super Classes
Local Features
Name Type and Description
body
BlockStmt N
condition
Expression N
Inherited Features
Name Type and Description
label optional

ThrowStmt Node

Super Classes
Local Features
Name Type and Description
expression
Expression N
Inherited Features
Name Type and Description
label optional

CatchClause Node

Local Features
Name Type and Description
body
BlockStmt N
parameter
CatchClauseParameter N

CatchClauseParameter Node

Local Features
Name Type and Description
dimensions list of
ArrayDimension N
type
Type N

FinallyBlock Node

Local Features
Name Type and Description
body
BlockStmt N

TryCatchStmt Node

Super Classes
Inherited Features
Name Type and Description
body
BlockStmt N
catchClauses list of
CatchClause N
finallyBlock
FinallyBlock N

TryWithResourceStmt Node

Super Classes
Local Features
Name Type and Description
resources list of
ResourceSpecification N
Inherited Features
Name Type and Description
body
BlockStmt N
catchClauses list of
CatchClause N
finallyBlock
FinallyBlock N

ResourceSpecification Node

Local Features
Name Type and Description
access
Expression N
declaration
LocalVariableDeclaration N

WhileStmt Node

Super Classes
Local Features
Name Type and Description
body
Statement N
condition
Expression N
Inherited Features
Name Type and Description
label optional

YieldStmt Node

Super Classes
Local Features
Name Type and Description
value
Expression N
Inherited Features
Name Type and Description
label optional