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

Unified Diff: mojo/public/tools/bindings/generate_type_mappings.py

Issue 2179273002: Mojo C++ bindings: support mapping T and T? differently. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 5 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
Index: mojo/public/tools/bindings/generate_type_mappings.py
diff --git a/mojo/public/tools/bindings/generate_type_mappings.py b/mojo/public/tools/bindings/generate_type_mappings.py
index 324731d52e8922399b8f7fecbf384163b1d68c14..de41a4d811133eb8754f0c94905cc09c2d833a2e 100755
--- a/mojo/public/tools/bindings/generate_type_mappings.py
+++ b/mojo/public/tools/bindings/generate_type_mappings.py
@@ -97,11 +97,9 @@ def ParseTypemap(typemap):
mojom_type = match_result.group(1)
native_type = match_result.group(2)
- # The only attribute supported currently is either "move_only" or
- # "copyable_pass_by_value".
- move_only = match_result.group(3) and match_result.group(3) == "move_only"
- copyable_pass_by_value = (match_result.group(3) and
- match_result.group(3) == "copyable_pass_by_value")
+ attributes = []
+ if match_result.group(3):
+ attributes = match_result.group(3).split(',')
assert mojom_type not in result, (
"Cannot map multiple native types (%s, %s) to the same mojom type: %s" %
@@ -109,8 +107,9 @@ def ParseTypemap(typemap):
result[mojom_type] = {
'typename': native_type,
- 'move_only': move_only,
- 'copyable_pass_by_value': copyable_pass_by_value,
+ 'move_only': 'move_only' in attributes,
+ 'copyable_pass_by_value': 'copyable_pass_by_value' in attributes,
+ 'nullable_is_same_type': 'nullable_is_same_type' in attributes,
'public_headers': values['public_headers'],
'traits_headers': values['traits_headers'],
}

Powered by Google App Engine
This is Rietveld 408576698