summaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
authorBryan Bishop <kanzure@gmail.com>2012-04-08 13:40:55 -0500
committerBryan Bishop <kanzure@gmail.com>2012-04-08 13:40:55 -0500
commitd331a28c7a437d1f7d6fe12ded986edab0b0e566 (patch)
tree4b1c09f55b384b98ea1b611cb64882ee4daef6ed /extras
parentbd33188588f43b1f3ac71f62af7155af936c8fc1 (diff)
get_label_for improvements (use script_parse_table if possible)
Diffstat (limited to 'extras')
-rw-r--r--extras/crystal.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/extras/crystal.py b/extras/crystal.py
index 9e7ffdbba..732ea5980 100644
--- a/extras/crystal.py
+++ b/extras/crystal.py
@@ -5965,10 +5965,21 @@ def get_label_for(address):
global all_labels
if type(address) != int:
raise Exception, "get_label_for requires an integer address"
+
+ #the old way
for thing in all_labels:
if thing["address"] == address:
return thing["label"]
- return None
+
+ #the new way
+ if is_script_already_parsed_at(address):
+ obj = script_parse_table[address]
+ if hasattr(obj, "label"):
+ return getattr(obj, "label")
+ else:
+ return "AlreadyParsedNoDefaultUnknownLabel_" + hex(address)
+
+ return "NotYetParsed_"+hex(address)
def remove_quoted_text(line):
"""get rid of content inside quotes