summaryrefslogtreecommitdiff
path: root/Mac
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2003-03-21 12:04:19 +0000
committerJack Jansen <jack.jansen@cwi.nl>2003-03-21 12:04:19 +0000
commit7033f57b15c9e345e2a8f88f3bbe3a9d29b2ff7b (patch)
tree4bb2995646d41dfde9e89ee1435ce61c6d3f6351 /Mac
parent9c70f159514e1af0df2ff97109c0377d317b5970 (diff)
downloadcpython-7033f57b15c9e345e2a8f88f3bbe3a9d29b2ff7b.tar.gz
Patch 702620 by Donovan Preston: Fix AE inheritance.
Diffstat (limited to 'Mac')
-rw-r--r--Mac/scripts/gensuitemodule.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/Mac/scripts/gensuitemodule.py b/Mac/scripts/gensuitemodule.py
index 1cd2ef69a5..cd725d4a0b 100644
--- a/Mac/scripts/gensuitemodule.py
+++ b/Mac/scripts/gensuitemodule.py
@@ -321,14 +321,15 @@ def compileaete(aete, resinfo, fname):
fp.write("from %s import *\n"%modname)
# Generate property dicts and element dicts for all types declared in this module
- fp.write("def getbaseclasses(v):\n")
- fp.write("\tif hasattr(v, '_superclassnames') and not hasattr(v, '_propdict'):\n")
+ fp.write("\ndef getbaseclasses(v):\n")
+ fp.write("\tif not v._propdict:\n")
fp.write("\t\tv._propdict = {}\n")
fp.write("\t\tv._elemdict = {}\n")
- fp.write("\t\tfor superclass in v._superclassnames:\n")
-## fp.write("\t\t\tgetbaseclasses(superclass)\n")
- fp.write("\t\t\tv._propdict.update(getattr(eval(superclass), '_privpropdict', {}))\n")
- fp.write("\t\t\tv._elemdict.update(getattr(eval(superclass), '_privelemdict', {}))\n")
+ fp.write("\t\tfor superclassname in getattr(v, '_superclassnames', []):\n")
+ fp.write("\t\t\tsuperclass = eval(superclassname)\n")
+ fp.write("\t\t\tgetbaseclasses(superclass)\n")
+ fp.write("\t\t\tv._propdict.update(getattr(superclass, '_propdict', {}))\n")
+ fp.write("\t\t\tv._elemdict.update(getattr(superclass, '_elemdict', {}))\n")
fp.write("\t\tv._propdict.update(v._privpropdict)\n")
fp.write("\t\tv._elemdict.update(v._privelemdict)\n")
fp.write("\n")