Class SleighLanguages
- java.lang.Object
-
- ghidra.app.plugin.languages.sleigh.SleighLanguages
-
public class SleighLanguages extends java.lang.Object
A collection of utility functions for traversing constructors and Pcode operations of SLEIGH languages
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
SleighLanguages.ConsVisitForPcode
An internal visitor ThetraverseAllPcodeOps(SleighLanguage, PcodeOpEntryVisitor)
method uses this visitor to traverse every constructor a given language.
-
Constructor Summary
Constructors Constructor Description SleighLanguages()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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.static int
traverseConstructors(SleighLanguage lang, ConstructorEntryVisitor visitor)
Traverse the constructors of a given SLEIGH languagestatic int
traverseConstructors(SubtableSymbol subtable, SubtableEntryVisitor visitor)
Traverse the constructors of a given table
-
-
-
Method Detail
-
traverseConstructors
public static int traverseConstructors(SleighLanguage lang, ConstructorEntryVisitor visitor)
Traverse the constructors of a given SLEIGH language- Parameters:
lang
- the languagevisitor
- 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 tablevisitor
- 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 languagevisitor
- a callback for each Pcode operation visited- Returns:
- a value from
VisitorResults
-
-