mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-05-31 19:28:34 +08:00
Merge remote-tracking branch 'origin/GP-1624_ghidra1_FuncDefOrdinalAdjustment' into patch
This commit is contained in:
+6
-3
@@ -97,11 +97,13 @@ public class FunctionDefinitionDataType extends GenericDataType implements Funct
|
|||||||
Parameter[] parameters = function.getParameters();
|
Parameter[] parameters = function.getParameters();
|
||||||
|
|
||||||
ArrayList<ParameterDefinition> paramList = new ArrayList<ParameterDefinition>();
|
ArrayList<ParameterDefinition> paramList = new ArrayList<ParameterDefinition>();
|
||||||
|
int ordinalAdjustment = 0;
|
||||||
for (Parameter parameter : parameters) {
|
for (Parameter parameter : parameters) {
|
||||||
if (formalSignature && parameter.isAutoParameter()) {
|
if (formalSignature && parameter.isAutoParameter()) {
|
||||||
|
--ordinalAdjustment;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
paramList.add(getParameterDefinition(parameter, formalSignature));
|
paramList.add(getParameterDefinition(parameter, formalSignature, ordinalAdjustment));
|
||||||
}
|
}
|
||||||
params = paramList.toArray(new ParameterDefinition[paramList.size()]);
|
params = paramList.toArray(new ParameterDefinition[paramList.size()]);
|
||||||
|
|
||||||
@@ -117,10 +119,11 @@ public class FunctionDefinitionDataType extends GenericDataType implements Funct
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private ParameterDefinition getParameterDefinition(Parameter param, boolean useFormalType) {
|
private ParameterDefinition getParameterDefinition(Parameter param, boolean useFormalType,
|
||||||
|
int ordinalAdjustment) {
|
||||||
return new ParameterDefinitionImpl(param.getName(),
|
return new ParameterDefinitionImpl(param.getName(),
|
||||||
useFormalType ? param.getFormalDataType() : param.getDataType(), param.getComment(),
|
useFormalType ? param.getFormalDataType() : param.getDataType(), param.getComment(),
|
||||||
param.getOrdinal());
|
param.getOrdinal() + ordinalAdjustment);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void init(FunctionSignature sig) {
|
private void init(FunctionSignature sig) {
|
||||||
|
|||||||
Reference in New Issue
Block a user