Class AbstractAssemblyState
java.lang.Object
ghidra.app.plugin.assembler.sleigh.sem.AbstractAssemblyState
- Direct Known Subclasses:
 AssemblyConstructState,AssemblyNopState,AssemblyOperandState
Base for a node in an assembly prototype
- 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final DbgTimerprotected final AbstractAssemblyResolutionFactory<?, ?> protected intprotected booleanprotected final intprotected final List<AssemblyConstructorSemantic> protected final AbstractAssemblyTreeResolver<?> protected final int - 
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractAssemblyState(AbstractAssemblyTreeResolver<?> resolver, List<AssemblyConstructorSemantic> path, int shift, int length) Construct a node - 
Method Summary
Modifier and TypeMethodDescriptionabstract intPre compute this nodes hashabstract booleanintGet the length in bytes of the operand represented by this nodegetPath()intgetShift()inthashCode()protected abstract Stream<AssemblyResolvedPatterns> resolve(AssemblyResolvedPatterns fromRight, Collection<AssemblyResolvedError> errors) Generate machine (partial) code for this node 
- 
Field Details
- 
DBG
 - 
resolver
 - 
factory
 - 
path
 - 
shift
protected final int shift - 
length
protected final int length - 
hasHash
protected volatile boolean hasHash - 
hash
protected volatile int hash 
 - 
 - 
Constructor Details
- 
AbstractAssemblyState
protected AbstractAssemblyState(AbstractAssemblyTreeResolver<?> resolver, List<AssemblyConstructorSemantic> path, int shift, int length) Construct a node- Parameters:
 resolver- the resolverpath- the path to this node for diagnosticsshift- the (right) shift in bytes for this operandlength- the length of this operand
 
 - 
 - 
Method Details
- 
hashCode
public int hashCode() - 
computeHash
public abstract int computeHash()Pre compute this nodes hash- Returns:
 - the hash
 
 - 
equals
 - 
resolve
protected abstract Stream<AssemblyResolvedPatterns> resolve(AssemblyResolvedPatterns fromRight, Collection<AssemblyResolvedError> errors) Generate machine (partial) code for this node- Parameters:
 fromRight- the accumulated patterns thus far, from the right sibling or left-most childerrors- a place to collect error reports- Returns:
 - the stream of generated patterns, as accumulated
 
 - 
getResolver
 - 
getPath
 - 
getShift
public int getShift() - 
getLength
public int getLength()Get the length in bytes of the operand represented by this node- Returns:
 - the length
 
 
 -