Package ghidra.app.decompiler
Class ClangCaseToken
java.lang.Object
ghidra.app.decompiler.ClangToken
ghidra.app.decompiler.ClangCaseToken
- All Implemented Interfaces:
ClangNode
A token representing a switch "case" label, or other constant not directly linked to data-flow.
The token has an associated constant value and a data-type
-
Field Summary
Fields inherited from class ghidra.app.decompiler.ClangToken
COMMENT_COLOR, CONST_COLOR, DEFAULT_COLOR, ERROR_COLOR, FUNCTION_COLOR, GLOBAL_COLOR, KEYWORD_COLOR, MAX_COLOR, PARAMETER_COLOR, SPECIAL_COLOR, TYPE_COLOR, VARIABLE_COLOR
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
decode
(Decoder decoder, PcodeFactory pfactory) Decode this token from the current position in an encoded streamgetHighSymbol
(HighFunction highFunction) Get the symbol associated with this token or null otherwise.Get the high-level variable associate with this token or null otherwiseGet the biggest Program address associated with the code that this text representsGet the smallest Program address associated with the code that this text representsMany tokens directly represent a pcode operator in the data-flowIf the token represents an underlying integer constant, return the constant as a Scalar.Many tokens directly represent a variable in the data-flowboolean
Methods inherited from class ghidra.app.decompiler.ClangToken
buildSpacer, buildToken, Child, flatten, getClangFunction, getHighlight, getLineParent, getSyntaxType, getText, isMatchingToken, iterator, numChildren, Parent, setHighlight, setLineParent, setMatchingToken, toString
-
Constructor Details
-
ClangCaseToken
-
-
Method Details
-
isVariableRef
public boolean isVariableRef()- Overrides:
isVariableRef
in classClangToken
- Returns:
- true if this token represents a variable (in source code)
-
getMinAddress
Description copied from interface:ClangNode
Get the smallest Program address associated with the code that this text represents- Specified by:
getMinAddress
in interfaceClangNode
- Overrides:
getMinAddress
in classClangToken
- Returns:
- the smallest Address
-
getMaxAddress
Description copied from interface:ClangNode
Get the biggest Program address associated with the code that this text represents- Specified by:
getMaxAddress
in interfaceClangNode
- Overrides:
getMaxAddress
in classClangToken
- Returns:
- the biggest Address
-
getVarnode
Description copied from class:ClangToken
Many tokens directly represent a variable in the data-flow- Overrides:
getVarnode
in classClangToken
- Returns:
- the variable (Varnode) associated with this token or null
-
getPcodeOp
Description copied from class:ClangToken
Many tokens directly represent a pcode operator in the data-flow- Overrides:
getPcodeOp
in classClangToken
- Returns:
- the operation (PcodeOp) associated with this token or null
-
getHighVariable
Description copied from class:ClangToken
Get the high-level variable associate with this token or null otherwise- Overrides:
getHighVariable
in classClangToken
- Returns:
- HighVariable
-
getHighSymbol
Description copied from class:ClangToken
Get the symbol associated with this token or null otherwise. This token may be directly associated with the symbol or a reference, in which case the symbol is looked up in the containing HighFunction- Overrides:
getHighSymbol
in classClangToken
- Parameters:
highFunction
- is the function- Returns:
- HighSymbol
-
getScalar
Description copied from class:ClangToken
If the token represents an underlying integer constant, return the constant as a Scalar. Otherwise return null.- Overrides:
getScalar
in classClangToken
- Returns:
- the Scalar that the token represents or null
-
getSwitchOp
- Returns:
- the BRANCHIND PcodeOp that jumps to this label
-
decode
Description copied from class:ClangToken
Decode this token from the current position in an encoded stream- Overrides:
decode
in classClangToken
- Parameters:
decoder
- is the decoder for the streampfactory
- is used to look up p-code objects associated with the token- Throws:
DecoderException
- for problems decoding the stream
-