OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 # | 3 # |
4 # Copyright 2012 the V8 project authors. All rights reserved. | 4 # Copyright 2012 the V8 project authors. All rights reserved. |
5 # Redistribution and use in source and binary forms, with or without | 5 # Redistribution and use in source and binary forms, with or without |
6 # modification, are permitted provided that the following conditions are | 6 # modification, are permitted provided that the following conditions are |
7 # met: | 7 # met: |
8 # | 8 # |
9 # * Redistributions of source code must retain the above copyright | 9 # * Redistributions of source code must retain the above copyright |
10 # notice, this list of conditions and the following disclaimer. | 10 # notice, this list of conditions and the following disclaimer. |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
257 if (in_insttype and line.startswith('};')): | 257 if (in_insttype and line.startswith('};')): |
258 in_insttype = False; | 258 in_insttype = False; |
259 continue; | 259 continue; |
260 | 260 |
261 line = re.sub('//.*', '', line.rstrip().lstrip()); | 261 line = re.sub('//.*', '', line.rstrip().lstrip()); |
262 | 262 |
263 if (in_insttype): | 263 if (in_insttype): |
264 typestr += line; | 264 typestr += line; |
265 continue; | 265 continue; |
266 | 266 |
267 match = re.match('class (\w[^\s:]*)(: public (\w[^\s{]*))?\s*{', | 267 match = re.match('class (\w[^:]*)(: public (\w[^{]*))?\s*{\s*/\*
POSTMORTEM', |
268 line); | 268 line); |
269 | 269 |
270 if (match): | 270 if (match): |
271 klass = match.group(1); | 271 klass = match.group(1).rstrip().lstrip(); |
272 pklass = match.group(3); | 272 pklass = match.group(3); |
| 273 if (pklass): |
| 274 pklass = pklass.rstrip().lstrip(); |
273 klasses[klass] = { 'parent': pklass }; | 275 klasses[klass] = { 'parent': pklass }; |
274 | 276 |
275 # | 277 # |
276 # Process the instance type declaration. | 278 # Process the instance type declaration. |
277 # | 279 # |
278 entries = typestr.split(','); | 280 entries = typestr.split(','); |
279 for entry in entries: | 281 for entry in entries: |
280 types[re.sub('\s*=.*', '', entry).lstrip()] = True; | 282 types[re.sub('\s*=.*', '', entry).lstrip()] = True; |
281 | 283 |
282 # | 284 # |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 | 537 |
536 out.write(footer); | 538 out.write(footer); |
537 | 539 |
538 if (len(sys.argv) < 4): | 540 if (len(sys.argv) < 4): |
539 print('usage: %s output.cc objects.h objects-inl.h' % sys.argv[0]); | 541 print('usage: %s output.cc objects.h objects-inl.h' % sys.argv[0]); |
540 sys.exit(2); | 542 sys.exit(2); |
541 | 543 |
542 load_objects(); | 544 load_objects(); |
543 load_fields(); | 545 load_fields(); |
544 emit_config(); | 546 emit_config(); |
OLD | NEW |