Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(876)

Side by Side Diff: client/dom/scripts/systemhtml.py

Issue 9662010: Don't put private members in dart:html interfaces. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module provides shared functionality for the system to generate 6 """This module provides shared functionality for the system to generate
7 Dart:html APIs from the IDL database.""" 7 Dart:html APIs from the IDL database."""
8 8
9 from systemfrog import * 9 from systemfrog import *
10 from systeminterface import * 10 from systeminterface import *
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 self.AddEventAttributes(events) 659 self.AddEventAttributes(events)
660 else: 660 else:
661 self._EmitEventGetter(self._shared.GetParentEventsClass(self._interface)) 661 self._EmitEventGetter(self._shared.GetParentEventsClass(self._interface))
662 662
663 def AddAttribute(self, getter, setter): 663 def AddAttribute(self, getter, setter):
664 html_getter_name = self._shared.RenameInHtmlLibrary( 664 html_getter_name = self._shared.RenameInHtmlLibrary(
665 self._interface, getter.id, 'get:') 665 self._interface, getter.id, 'get:')
666 html_setter_name = self._shared.RenameInHtmlLibrary( 666 html_setter_name = self._shared.RenameInHtmlLibrary(
667 self._interface, getter.id, 'set:') 667 self._interface, getter.id, 'set:')
668 668
669 if not html_getter_name: 669 if not html_getter_name or html_getter_name.startswith('_'):
Jacob 2012/03/09 19:18:39 add a trivial IsPrivate helper
nweiz 2012/03/09 20:58:57 Done.
670 getter = None 670 getter = None
671 if not html_setter_name: 671 if not html_setter_name or html_setter_name.startswith('_'):
672 setter = None 672 setter = None
673 if not getter and not setter: 673 if not getter and not setter:
674 return 674 return
675 675
676 # We don't yet handle inconsistent renames of the getter and setter yet. 676 # We don't yet handle inconsistent renames of the getter and setter yet.
677 if html_getter_name and html_setter_name: 677 if html_getter_name and html_setter_name:
678 assert html_getter_name == html_setter_name 678 assert html_getter_name == html_setter_name
679 if (getter and setter and 679 if (getter and setter and
680 DartType(getter.type.id) == DartType(setter.type.id)): 680 DartType(getter.type.id) == DartType(setter.type.id)):
681 self._members_emitter.Emit('\n $TYPE $NAME;\n', 681 self._members_emitter.Emit('\n $TYPE $NAME;\n',
682 NAME=html_getter_name, 682 NAME=html_getter_name,
683 TYPE=DartType(getter.type.id)); 683 TYPE=DartType(getter.type.id));
684 return 684 return
685 if getter and not setter: 685 if getter and not setter:
686 self._members_emitter.Emit('\n final $TYPE $NAME;\n', 686 self._members_emitter.Emit('\n final $TYPE $NAME;\n',
687 NAME=html_getter_name, 687 NAME=html_getter_name,
688 TYPE=DartType(getter.type.id)); 688 TYPE=DartType(getter.type.id));
689 return 689 return
690 raise Exception('Unexpected getter/setter combination %s %s' % 690 raise Exception('Unexpected getter/setter combination %s %s' %
691 (getter, setter)) 691 (getter, setter))
692 692
693 def AddOperation(self, info): 693 def AddOperation(self, info):
694 """ 694 """
695 Arguments: 695 Arguments:
696 operations - contains the overloads, one or more operations with the same 696 operations - contains the overloads, one or more operations with the same
697 name. 697 name.
698 """ 698 """
699 html_name = self._shared.RenameInHtmlLibrary(self._interface, info.name) 699 html_name = self._shared.RenameInHtmlLibrary(self._interface, info.name)
700 if html_name: 700 if html_name and not html_name.startswith('_'):
701 self._members_emitter.Emit('\n' 701 self._members_emitter.Emit('\n'
702 ' $TYPE $NAME($PARAMS);\n', 702 ' $TYPE $NAME($PARAMS);\n',
703 TYPE=info.type_name, 703 TYPE=info.type_name,
704 NAME=html_name, 704 NAME=html_name,
705 PARAMS=info.ParametersInterfaceDeclaration()) 705 PARAMS=info.ParametersInterfaceDeclaration())
706 706
707 def FinishInterface(self): 707 def FinishInterface(self):
708 pass 708 pass
709 709
710 def AddConstant(self, constant): 710 def AddConstant(self, constant):
(...skipping 1056 matching lines...) Expand 10 before | Expand all | Expand 10 after
1767 # dispatch has removed f(X), leaving only f(Y), but there is no guarantee 1767 # dispatch has removed f(X), leaving only f(Y), but there is no guarantee
1768 # that Y = Z-X, so we need to check for Y. 1768 # that Y = Z-X, so we need to check for Y.
1769 true_code = emitter.Emit( 1769 true_code = emitter.Emit(
1770 '$(INDENT)if ($COND) {\n' 1770 '$(INDENT)if ($COND) {\n'
1771 '$!TRUE' 1771 '$!TRUE'
1772 '$(INDENT)}\n', 1772 '$(INDENT)}\n',
1773 COND=test, INDENT=indent) 1773 COND=test, INDENT=indent)
1774 self.GenerateDispatch( 1774 self.GenerateDispatch(
1775 true_code, info, indent + ' ', position + 1, positive) 1775 true_code, info, indent + ' ', position + 1, positive)
1776 return True 1776 return True
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698