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

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

Issue 10517004: Move splitting operations with optional arguments to generator. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: . Created 8 years, 6 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/idlnode.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dom/scripts/systemnative.py
diff --git a/lib/dom/scripts/systemnative.py b/lib/dom/scripts/systemnative.py
index 304b47cee3c46182479991d8f35fc72f0f8b5460..19b8e3161ba1fa2eb915d84ac094257b7c533497 100644
--- a/lib/dom/scripts/systemnative.py
+++ b/lib/dom/scripts/systemnative.py
@@ -777,6 +777,10 @@ class NativeImplementationGenerator(object):
' }\n',
DECLARATION=dart_declaration)
+ if self._interface.id == 'IDBObjectStore' and info.name == 'openCursor':
+ # FIXME: implement v8-like overload resolver and remove this hack.
+ info.overloads = info.overloads[1:]
+
self._native_version = 0
overloads = self.CombineOverloads(info.overloads)
fallthrough = self.GenerateDispatch(body, info, ' ', overloads)
@@ -793,7 +797,7 @@ class NativeImplementationGenerator(object):
seed_index = 0
while seed_index < len(overloads):
seed = overloads[seed_index]
- if len(seed.arguments) > 0 and seed.arguments[-1].is_optional:
+ if len(seed.arguments) > 0 and IsOptional(seed.arguments[-1]):
# Must start with no optional arguments.
out.append(seed)
seed_index += 1
@@ -808,7 +812,7 @@ class NativeImplementationGenerator(object):
break
if probe.arguments[:-1] != prev.arguments:
break
- if not probe.arguments[-1].is_optional:
+ if not IsOptional(probe.arguments[-1]):
break
# See Issue 3177. This test against known implemented types is to
# prevent combining a possibly unimplemented type. Combining with an
@@ -830,7 +834,7 @@ class NativeImplementationGenerator(object):
emitter.Emit('$(INDENT)//$NOTE\n', INDENT=indent, NOTE=note)
for operation in overloads:
params = ', '.join([
- ('[Optional] ' if arg.is_optional else '') + DartType(arg.type.id) + ' '
+ ('[Optional] ' if IsOptional(arg) else '') + DartType(arg.type.id) + ' '
+ arg.id for arg in operation.arguments])
emitter.Emit('$(INDENT)// $NAME($PARAMS)\n',
INDENT=indent,
@@ -924,7 +928,7 @@ class NativeImplementationGenerator(object):
test = None
else:
test = TypeCheck(param.name, dart_type)
- if IsNullable(dart_type) or arg.is_optional:
+ if IsNullable(dart_type) or IsOptional(arg):
test = '(%s || %s)' % (NullCheck(param.name), test)
else:
test = NullCheck(param.name)
« no previous file with comments | « lib/dom/scripts/idlnode.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698