Class SleighLanguages


  • public class SleighLanguages
    extends java.lang.Object
    A collection of utility functions for traversing constructors and Pcode operations of SLEIGH languages
    • Constructor Detail

      • SleighLanguages

        public SleighLanguages()
    • Method Detail

      • traverseConstructors

        public static int traverseConstructors​(SleighLanguage lang,
                                               ConstructorEntryVisitor visitor)
        Traverse the constructors of a given SLEIGH language
        Parameters:
        lang - the language
        visitor - a callback for each constructor visited
        Returns:
        a value from VisitorResults
      • traverseConstructors

        public static int traverseConstructors​(SubtableSymbol subtable,
                                               SubtableEntryVisitor visitor)
        Traverse the constructors of a given table
        Parameters:
        subtable - the table
        visitor - a callback for each constructor visited
        Returns:
        a value from VisitorResults
      • traverseAllPcodeOps

        public static int traverseAllPcodeOps​(SleighLanguage lang,
                                              PcodeOpEntryVisitor visitor)
        Traverse the Pcode operations of a given SLEIGH language During traversal, if a "NOP" constructor, i.e., one having no Pcode operations, is encountered, the callback is still invoked at least once, with a null Pcode operation. This is so NOP constructors are not overlooked by this traversal.
        Parameters:
        lang - the language
        visitor - a callback for each Pcode operation visited
        Returns:
        a value from VisitorResults