| OLD | NEW |
| 1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 498 ################################################################################ | 498 ################################################################################ |
| 499 # Operations | 499 # Operations |
| 500 ################################################################################ | 500 ################################################################################ |
| 501 | 501 |
| 502 class IdlOperation(TypedObject): | 502 class IdlOperation(TypedObject): |
| 503 def __init__(self, idl_name, node=None): | 503 def __init__(self, idl_name, node=None): |
| 504 self.arguments = [] | 504 self.arguments = [] |
| 505 self.extended_attributes = {} | 505 self.extended_attributes = {} |
| 506 self.specials = [] | 506 self.specials = [] |
| 507 self.is_constructor = False | 507 self.is_constructor = False |
| 508 self.idl_name = idl_name |
| 509 self.is_static = False |
| 508 | 510 |
| 509 if not node: | 511 if not node: |
| 510 self.is_static = False | |
| 511 return | 512 return |
| 512 self.idl_name = idl_name | 513 |
| 513 self.name = node.GetName() # FIXME: should just be: or '' | 514 self.name = node.GetName() # FIXME: should just be: or '' |
| 514 # FIXME: AST should use None internally | 515 # FIXME: AST should use None internally |
| 515 if self.name == '_unnamed_': | 516 if self.name == '_unnamed_': |
| 516 self.name = '' | 517 self.name = '' |
| 517 | 518 |
| 518 self.is_static = bool(node.GetProperty('STATIC')) | 519 self.is_static = bool(node.GetProperty('STATIC')) |
| 519 property_dictionary = node.GetProperties() | 520 property_dictionary = node.GetProperties() |
| 520 for special_keyword in SPECIAL_KEYWORD_LIST: | 521 for special_keyword in SPECIAL_KEYWORD_LIST: |
| 521 if special_keyword in property_dictionary: | 522 if special_keyword in property_dictionary: |
| 522 self.specials.append(special_keyword.lower()) | 523 self.specials.append(special_keyword.lower()) |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 567 TypedObject.resolve_typedefs(self, typedefs) | 568 TypedObject.resolve_typedefs(self, typedefs) |
| 568 for argument in self.arguments: | 569 for argument in self.arguments: |
| 569 argument.resolve_typedefs(typedefs) | 570 argument.resolve_typedefs(typedefs) |
| 570 | 571 |
| 571 | 572 |
| 572 ################################################################################ | 573 ################################################################################ |
| 573 # Arguments | 574 # Arguments |
| 574 ################################################################################ | 575 ################################################################################ |
| 575 | 576 |
| 576 class IdlArgument(TypedObject): | 577 class IdlArgument(TypedObject): |
| 577 def __init__(self, idl_name, node): | 578 def __init__(self, idl_name, node=None): |
| 578 self.extended_attributes = {} | 579 self.extended_attributes = {} |
| 579 self.idl_type = None | 580 self.idl_type = None |
| 580 self.is_optional = node.GetProperty('OPTIONAL') # syntax: (optional T) | 581 self.is_optional = False # syntax: (optional T) |
| 581 self.is_variadic = False # syntax: (T...) | 582 self.is_variadic = False # syntax: (T...) |
| 582 self.idl_name = idl_name | 583 self.idl_name = idl_name |
| 584 self.default_value = None |
| 585 |
| 586 if not node: |
| 587 return |
| 588 |
| 589 self.is_optional = node.GetProperty('OPTIONAL') |
| 583 self.name = node.GetName() | 590 self.name = node.GetName() |
| 584 self.default_value = None | |
| 585 | 591 |
| 586 children = node.GetChildren() | 592 children = node.GetChildren() |
| 587 for child in children: | 593 for child in children: |
| 588 child_class = child.GetClass() | 594 child_class = child.GetClass() |
| 589 if child_class == 'Type': | 595 if child_class == 'Type': |
| 590 self.idl_type = type_node_to_type(child) | 596 self.idl_type = type_node_to_type(child) |
| 591 elif child_class == 'ExtAttributes': | 597 elif child_class == 'ExtAttributes': |
| 592 self.extended_attributes = ext_attributes_node_to_extended_attri
butes(idl_name, child) | 598 self.extended_attributes = ext_attributes_node_to_extended_attri
butes(idl_name, child) |
| 593 elif child_class == 'Argument': | 599 elif child_class == 'Argument': |
| 594 child_name = child.GetName() | 600 child_name = child.GetName() |
| (...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 936 child_class = child.GetClass() | 942 child_class = child.GetClass() |
| 937 if child_class != 'Type': | 943 if child_class != 'Type': |
| 938 raise ValueError('Unrecognized node class: %s' % child_class) | 944 raise ValueError('Unrecognized node class: %s' % child_class) |
| 939 return type_node_to_type(child) | 945 return type_node_to_type(child) |
| 940 | 946 |
| 941 | 947 |
| 942 def union_type_node_to_idl_union_type(node): | 948 def union_type_node_to_idl_union_type(node): |
| 943 member_types = [type_node_to_type(member_type_node) | 949 member_types = [type_node_to_type(member_type_node) |
| 944 for member_type_node in node.GetChildren()] | 950 for member_type_node in node.GetChildren()] |
| 945 return IdlUnionType(member_types) | 951 return IdlUnionType(member_types) |
| OLD | NEW |