Class JarikoVariableHelper


  • public class JarikoVariableHelper
    extends Object
    Utility class to assist with handling and transforming variable structures within the Jariko system. The main purposes of this class include creating a hierarchical representation of variables, managing data structures and arrays, and associating specific types with variable definitions. This class provides static methods that operate on a supplied symbol table, frame ID, and unique reference ID supplier to build variable maps and process complex structures such as data structures (DS) and arrays.
    Author:
    Davide Palladino (APU001)
    • Constructor Detail

      • JarikoVariableHelper

        public JarikoVariableHelper()
    • Method Detail

      • getVariables

        public static Map<Integer,​List<JarikoVariable>> getVariables​(com.smeup.rpgparser.interpreter.ISymbolTable symbolTable,
                                                                           int frameId,
                                                                           Supplier<Integer> uniqueReferenceIdSupplier)
        Retrieves a map of variables based on the given symbol table, frame ID, and a unique reference ID supplier. The method processes the contents of the symbol table to construct a hierarchical structure of variables, associating them with their respective types and values.
        Parameters:
        symbolTable - the symbol table containing variable definitions and values to be processed
        frameId - the ID of the frame to associate the variables with
        uniqueReferenceIdSupplier - a supplier function that generates unique reference IDs for hierarchical variable structures
        Returns:
        a map where the keys are integers representing group IDs, and the values are lists of JarikoVariable associated with each group
      • getIndicator

        public static JarikoVariable getIndicator​(com.smeup.rpgparser.interpreter.InterpreterCore interpreterCore,
                                                  String indicatorName)