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

Unified Diff: tools/dom/scripts/htmldartgenerator.py

Issue 560263004: Fixed removing of pure interface (implements) operations (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/web_gl/dart2js/web_gl_dart2js.dart ('k') | tools/dom/scripts/idlnode.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/dom/scripts/htmldartgenerator.py
diff --git a/tools/dom/scripts/htmldartgenerator.py b/tools/dom/scripts/htmldartgenerator.py
index d2b4f3eb458d9326e62f6d2e5600e27a8fe93b20..29b757f9d84bfbdecdf0dfa24c00b98f2e61f62f 100644
--- a/tools/dom/scripts/htmldartgenerator.py
+++ b/tools/dom/scripts/htmldartgenerator.py
@@ -8,7 +8,7 @@ dart:html APIs from the IDL database."""
import emitter
from generator import AnalyzeOperation, ConstantOutputOrder, \
- DartDomNameOfAttribute, FindMatchingAttribute, \
+ DartDomNameOfAttribute, FindMatchingAttribute, IsPureInterface, \
TypeOrNothing, ConvertToFuture, GetCallbackInfo
from copy import deepcopy
from htmlrenamer import convert_to_future_members, custom_html_constructors, \
@@ -143,9 +143,16 @@ class HtmlDartGenerator(object):
if not interface.parents:
return
- parent = self._database.GetInterface(interface.parents[0].type.id)
+ parent_name = interface.parents[0].type.id
+ parent = self._database.GetInterface(parent_name)
if parent == self._interface or parent == interface:
return
+
+ # Never remove operations that are added as a result of an implements they
+ # are pure interfaces (mixins to this interface).
+ if (IsPureInterface(parent_name)):
+ return
+
for operation in parent.operations:
if operation.id in operationsByName:
operations = operationsByName[operation.id]
« no previous file with comments | « sdk/lib/web_gl/dart2js/web_gl_dart2js.dart ('k') | tools/dom/scripts/idlnode.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698