mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
Attach handling of "this" to ProtoParameter
This commit is contained in:
parent
bcc0f7fe38
commit
004a99bb87
29 changed files with 338 additions and 149 deletions
|
@ -29,7 +29,6 @@ src/main/java/ghidra/program/database/package.html||GHIDRA||||END|
|
|||
src/main/java/ghidra/program/model/address/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/block/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/data/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/graph/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/lang/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/listing/package.html||GHIDRA||||END|
|
||||
src/main/java/ghidra/program/model/mem/package.html||GHIDRA||||END|
|
||||
|
|
|
@ -228,6 +228,14 @@
|
|||
</element>
|
||||
</zeroOrMore>
|
||||
|
||||
<zeroOrMore>
|
||||
<element name="inferptrbounds">
|
||||
<oneOrMore>
|
||||
<ref name="range_type"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
|
||||
<zeroOrMore>
|
||||
<ref name="segmentop_type"/>
|
||||
</zeroOrMore>
|
||||
|
|
|
@ -40,6 +40,14 @@
|
|||
</element>
|
||||
</optional>
|
||||
|
||||
<zeroOrMore>
|
||||
<element name="inferptrbounds">
|
||||
<oneOrMore>
|
||||
<ref name="range_type"/>
|
||||
</oneOrMore>
|
||||
</element>
|
||||
</zeroOrMore>
|
||||
|
||||
<optional>
|
||||
<element name="segmented_address">
|
||||
<attribute name="space"/>
|
||||
|
|
|
@ -653,7 +653,8 @@ public class SleighLanguage implements Language {
|
|||
XmlElement element = parser.start("processor_spec");
|
||||
while (!parser.peek().isEnd()) {
|
||||
element = parser.start("properties", "segmented_address", "segmentop", "programcounter",
|
||||
"data_space", "context_data", "volatile", "jumpassist", "incidentalcopy",
|
||||
"data_space", "inferptrbounds", "context_data", "volatile", "jumpassist",
|
||||
"incidentalcopy",
|
||||
"register_data", "default_symbols", "default_memory_blocks");
|
||||
if (element.getName().equals("properties")) {
|
||||
while (!parser.peek().isEnd()) {
|
||||
|
@ -822,6 +823,11 @@ public class SleighLanguage implements Language {
|
|||
parser.discardSubTree();
|
||||
}
|
||||
}
|
||||
else if (element.getName().equals("inferptrbounds")) {
|
||||
while (parser.peek().isStart()) {
|
||||
parser.discardSubTree();
|
||||
}
|
||||
}
|
||||
else if (element.getName().equals("segmentop")) {
|
||||
InjectPayloadSleigh payload = parseSegmentOp(element, parser);
|
||||
addAdditionInject(payload);
|
||||
|
|
|
@ -41,7 +41,6 @@ public abstract class ConstantPool {
|
|||
public long value; // Primitive value of the object (if tag == PRIMITIVE)
|
||||
public byte[] byteData;
|
||||
public DataType type;
|
||||
public boolean hasThisPtr = false;
|
||||
public boolean isConstructor = false;
|
||||
|
||||
public StringBuilder build(long ref, PcodeDataTypeManager dtmanage) {
|
||||
|
@ -72,9 +71,6 @@ public abstract class ConstantPool {
|
|||
else {
|
||||
SpecXmlUtils.encodeStringAttribute(buf, "tag", "primitive");
|
||||
}
|
||||
if (hasThisPtr) {
|
||||
SpecXmlUtils.encodeBooleanAttribute(buf, "hasthis", true);
|
||||
}
|
||||
if (isConstructor) {
|
||||
SpecXmlUtils.encodeBooleanAttribute(buf, "constructor", true);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue