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

Unified Diff: lib/dom/scripts/systemwrapping.py

Issue 10107010: Map IDBAny and IDBKey to Dynamic (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 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 | « lib/dom/scripts/systemnative.py ('k') | lib/html/dartium/html_dartium.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dom/scripts/systemwrapping.py
diff --git a/lib/dom/scripts/systemwrapping.py b/lib/dom/scripts/systemwrapping.py
index 80f0df1b8682efb22328fa64d49ae3b0dbf6e2de..1ba56d567dadd40d9586cef73d08bfe7d156c277 100644
--- a/lib/dom/scripts/systemwrapping.py
+++ b/lib/dom/scripts/systemwrapping.py
@@ -391,11 +391,11 @@ class WrappingInterfaceGenerator(object):
# TODO: Type specific unwrapping.
return '__dom_unwrap(%s)' % (name)
- def ArgNameAndUnwrapper(arg_info, overload_arg):
- (name, type, value) = arg_info
- return (name, UnwrapArgExpression(name, type))
+ def ArgNameAndUnwrapper(param_info, overload_arg):
+ return (param_info.name,
+ UnwrapArgExpression(param_info.name, param_info.dart_type))
- names_and_unwrappers = [ArgNameAndUnwrapper(info.arg_infos[i], arg)
+ names_and_unwrappers = [ArgNameAndUnwrapper(info.param_infos[i], arg)
for (i, arg) in enumerate(operation.arguments)]
unwrap_args = [unwrap_arg for (_, unwrap_arg) in names_and_unwrappers]
arg_names = [name for (name, _) in names_and_unwrappers]
@@ -445,7 +445,7 @@ class WrappingInterfaceGenerator(object):
return '%s is %s' % (name, type)
def ShouldGenerateSingleOperation():
- if position == len(info.arg_infos):
+ if position == len(info.param_infos):
if len(overloads) > 1:
raise Exception('Duplicate operations ' + str(overloads))
return True
@@ -480,7 +480,7 @@ class WrappingInterfaceGenerator(object):
positive = []
negative = []
first_overload = overloads[0]
- (param_name, param_type, param_default) = info.arg_infos[position]
+ param = info.param_infos[position]
if position < len(first_overload.arguments):
# FIXME: This will not work if the second overload has a more
@@ -488,11 +488,11 @@ class WrappingInterfaceGenerator(object):
# void foo(Node x);
# void foo(Element x);
type = DartType(first_overload.arguments[position].type.id)
- test = TypeCheck(param_name, type)
+ test = TypeCheck(param.name, type)
pred = lambda op: len(op.arguments) > position and DartType(op.arguments[position].type.id) == type
else:
type = None
- test = NullCheck(param_name)
+ test = NullCheck(param.name)
pred = lambda op: position >= len(op.arguments)
for overload in overloads:
@@ -524,11 +524,11 @@ class WrappingInterfaceGenerator(object):
# will have done the test already. (It could be null too but we ignore that
# case since all the overload behave the same and we don't know which types
# in the IDL are not nullable.)
- if type == param_type:
+ if type == param.dart_type:
return self.GenerateDispatch(
emitter, info, indent, position + 1, positive)
- # Otherwise the overloads have the same type but the type is a substype of
+ # Otherwise the overloads have the same type but the type is a subtype of
# the method's synthesized formal parameter. e.g we have overloads f(X) and
# f(Y), implemented by the synthesized method f(Z) where X<Z and Y<Z. The
# dispatch has removed f(X), leaving only f(Y), but there is no guarantee
« no previous file with comments | « lib/dom/scripts/systemnative.py ('k') | lib/html/dartium/html_dartium.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698