@ParametersAreNonnullByDefault
Package com.sonarsource.rpg.api.tree
Defines the interfaces which represent the RPG source code as a syntax tree structure.
-
Interface Summary Interface Description AdditionalOutputIndicatorsTree Additional output indicators for anOutputRecordTree
defined with a logical relationship (AND or OR).BinaryExpressionTree Binary expression for operators such as "+", "-", "*", "/", "**", "AND", "OR" and comparison operators.CalculationTree Interface implemented by all instances ofTree
representing a calculation, whether they are a simple calculation operation or a complex group nesting other instances ofCalculationTree
.CasGroupTree A group of CAS operations.Comment A comment defined in a comment line (with an asterisk in position 7) or starting with "//" in free-form syntax.Comments CompilerDirective A compiler directive such as/FREE
or/COPY MBR1
.CompilerDirectives Set of all theCompilerDirective
s of amodule
.DataStructureDefinitionTree Definition of a Data structure (definition type: "DS").DefinitionTree Interface implemented by all kinds of definitions ("D" specifications).ElseClauseTree ExpressionListTree A list of expressions.ExpressionTree Common interface for all kinds of expressions.ExtendedFactor2SyntaxOperationTree An operation defined with an Extended Factor 2 Syntax.ExternallyDescribedInputFileFieldTree A field description entry for an externally described file.ExternallyDescribedInputFileRecordTree A record identification entry for an externally described input file defined in an "I" specification.FileDeclarationTree A file declaration defined in an "F" specification.FixedFormSyntaxOperationTree Anoperation
defined with a fixed-form syntax.FreeFromSyntaxOperationTree An operation defined with a free-form syntax.IdentifierTree An individual identifier used in an expression.IfGroupTree InputFileFieldTree Common interface for fields in input declarations.KeywordTree A keyword used in a "H", "D", "F" or "P" specification, e.g.KListTree A KLIST operation.LiteralTree A literal: this can be a character literal, a numeric literal, etc.LoopTree MainProcedureTree The main procedure defined an an RPG file.ModuleTree Top-mostTree
of an analyzed RPG file.MonitorGroupTree A MONITOR group.NamedConstantDefinitionTree Definition of a named constant.OnExitSectionTree The ON-EXIT section of aSubProcedureTree
.OperationCode Operation code used by calculation specifications as defined the official language reference: a single operation code is used for all the variations of a comparison operation, e.g.OperationTree An individual operation: a calculation ("C") specification.OutputFieldTree A field description entry defined inside anOutputRecordTree
.OutputFileDeclarationTree An output file declaration defined inside an "O" specification.OutputIndicatorsTree Output indicators for anOutputRecordTree
.OutputRecordTree A record identification and control entry inside anOutputFileDeclarationTree
either for: a program described file or an externally described file.ParameterDefinitionTree A parameter within aprototype
orprocedure interface
definition.ParameteredCalculationTree A calculation which may have parameters defined with PARM.ParenthesisedExpressionTree An expression surrounded by parentheses.PostfixExpressionTree An expression followed by parentheses surrounding one or more other expressions: this can be a call to a function (e.g.ProcedureInterfaceDefinitionTree A procedure interface definition (definition type: "PI").ProcedureTree Common interface for all procedures:MainProcedureTree
orSubProcedureTree
.ProgramDescribedInputDeclarationTree A program described input file declaration defined in an "I" specification.ProgramDescribedInputFileFieldTree ProgramDescribedInputFileRecordTree A record identification entry defined in aProgramDescribedInputDeclarationTree
.PrototypeDefinitionTree A prototype definition (definition type: "PR").QualifiedNameExpressionTree A qualified name, e.g.RecordIdentificationCodeTree A Record Identification Code defined inside aProgramDescribedInputFileRecordTree
.SelectClauseTree SelectGroupTree A SELECT group.SqlStatementTree A SQL statement defined with fixed-form or free-form syntax usingEXEC SQL
.StandaloneFieldDefinitionTree Definition of a standalone field (definition type: "S").StarIndexExpressionTree This is the "*" in an expression such asFAMILIES(*).NAME
.SubFieldDefinitionTree Definition of a data structure subfield.SubProcedureTree A subprocedure defined in an RPG module.SubRoutineTree A subroutine, starting with a BEGSR operation.SyntaxToken The smallest part of any expression, e.g.SyntaxTokenType Type ofSyntaxToken
.TraditionalSyntaxOperationTree An operation defined with traditional syntax.Tree Base interface for all elements of the tree representation of the source code of an RPG file.TreeVisitor Implementation of a Visitor pattern to visit the Tree structure of an RPG file.UnaryExpressionTree An expression composed of an operator and a single operand. -
Class Summary Class Description BaseTreeVisitor Basic implementation ofTreeVisitor
which scans all theTree
s of an RPG file. -
Enum Summary Enum Description ExpressionTree.Kind Precise kind of an expression.FileDeclarationTree.Flag One of the possible aspects of an "F" specification which are defined as a character.