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

Unified Diff: mojo/public/tools/bindings/generators/mojom_java_generator.py

Issue 522653004: mojo: Validate fixed size array for the mojo java bindings. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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/generators/mojom_java_generator.py
diff --git a/mojo/public/tools/bindings/generators/mojom_java_generator.py b/mojo/public/tools/bindings/generators/mojom_java_generator.py
index 1827ed90c773953d207858ba10473679ca822bde..a461ea9dddca20c0147da3de60807295d66557a0 100644
--- a/mojo/public/tools/bindings/generators/mojom_java_generator.py
+++ b/mojo/public/tools/bindings/generators/mojom_java_generator.py
@@ -152,6 +152,11 @@ def DecodeMethod(context, kind, offset, bit):
params = [ str(offset) ]
if (kind == mojom.BOOL):
params.append(str(bit))
+ if mojom.IsArrayKind(kind):
ppi 2014/08/29 15:23:45 nit: how about checking if mojom.IsAnyArrayKind at
qsr 2014/08/29 16:24:11 Done.
+ params.append(
+ "org.chromium.mojo.bindings.BindingsHelper.UNDEFINED_ARRAY_LENTH");
+ if mojom.IsFixedArrayKind(kind):
+ params.append(str(kind.length))
if mojom.IsInterfaceKind(kind):
params.append('%s.MANAGER' % GetJavaType(context, kind))
if mojom.IsAnyArrayKind(kind) and mojom.IsInterfaceKind(kind.kind):
@@ -163,6 +168,11 @@ def EncodeMethod(context, kind, variable, offset, bit):
params = [ variable, str(offset) ]
if (kind == mojom.BOOL):
params.append(str(bit))
+ if mojom.IsArrayKind(kind):
+ params.append(
+ "org.chromium.mojo.bindings.BindingsHelper.UNDEFINED_ARRAY_LENTH");
+ if mojom.IsFixedArrayKind(kind):
+ params.append(str(kind.length))
if mojom.IsInterfaceKind(kind):
params.append('%s.MANAGER' % GetJavaType(context, kind))
if mojom.IsAnyArrayKind(kind) and mojom.IsInterfaceKind(kind.kind):
@@ -323,6 +333,7 @@ class Generator(generator.Generator):
"encode_method": EncodeMethod,
"has_method_with_response": HasMethodWithResponse,
"has_method_without_response": HasMethodWithoutResponse,
+ "is_fixed_array_kind": mojom.IsFixedArrayKind,
"is_handle": mojom.IsNonInterfaceHandleKind,
"is_pointer_array_kind": IsPointerArrayKind,
"is_struct_kind": mojom.IsStructKind,

Powered by Google App Engine
This is Rietveld 408576698