summaryrefslogtreecommitdiff
path: root/deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl')
-rw-r--r--deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl142
1 files changed, 142 insertions, 0 deletions
diff --git a/deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl b/deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl
new file mode 100644
index 0000000000..18770650fb
--- /dev/null
+++ b/deps/v8/build/fuchsia/fidlgen_js/test/simple.fidl
@@ -0,0 +1,142 @@
+// Copyright 2018 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+library fidljstest;
+
+enum Blorp : int8 {
+ ALPHA = 1;
+ BETA = 2;
+ GAMMA = 0x48;
+};
+
+// A struct of basic types, some with defaults and some without to test various
+// paths of the generator.
+struct BasicStruct {
+ bool b;
+ int8 i8;
+ int16 i16 = 18;
+ int32 i32;
+ uint8 u8;
+ uint16 u16;
+ uint32 u32 = 4000000000;
+};
+
+const uint64 ARRRR_SIZE = 32;
+
+struct StuffAndThings {
+ int32 count;
+ string id;
+ vector<int32> a_vector;
+ BasicStruct basic;
+ string later_string;
+ array<int32>:ARRRR_SIZE arrrr;
+ vector<string>? nullable_vector_of_string0;
+ vector<string>? nullable_vector_of_string1;
+ vector<Blorp> vector_of_blorp;
+};
+
+struct StructWithBool {
+ bool some_bool = false;
+};
+
+struct StructWithUint {
+ uint32 num;
+};
+
+struct LargerStructWithArray {
+ array<int32>:32 components;
+};
+
+union UnionOfStructs {
+ StructWithBool swb;
+ StructWithUint swu;
+ LargerStructWithArray lswa;
+};
+
+struct StructOfMultipleUnions {
+ UnionOfStructs initial;
+ UnionOfStructs? optional;
+ UnionOfStructs trailing;
+};
+
+const int64 NO_TIMESTAMP = 0x7fffffffffffffff;
+const int64 ANOTHER_COPY = NO_TIMESTAMP;
+const string SOME_STRING = "a 你好 thing\" containing ' quotes";
+
+struct VariousDefaults {
+ Blorp blorp_defaulting_to_beta = BETA;
+ int64 int64_defaulting_to_no_timestamp = NO_TIMESTAMP;
+ int64 int64_defaulting_to_const = 0x7fffffffffffff11;
+ string string_with_default = "stuff";
+};
+
+struct VectorsOfPrimitives {
+ vector<bool> v_bool;
+ vector<uint8> v_uint8;
+ vector<uint16> v_uint16;
+ vector<uint32> v_uint32;
+ vector<uint64> v_uint64;
+ vector<int8> v_int8;
+ vector<int16> v_int16;
+ vector<int32> v_int32;
+ vector<int64> v_int64;
+ vector<float32> v_float32;
+ vector<float64> v_float64;
+};
+
+struct VectorOfHandleToVMO {
+ vector<handle<vmo>> vmos;
+};
+
+// This is a compile-only test for gen.py to ensure that the size of
+// AfterPreviousReference is available before the vector<AfterPreviousReference>
+// is compiled in this struct.
+struct LaterReference {
+ vector<AfterPreviousReference>? later;
+};
+
+struct AfterPreviousReference {
+ int32 an_int;
+};
+
+protocol AnotherInterface {
+ TimesTwo(int32 a) -> (int32 b);
+};
+
+protocol Testola {
+ DoSomething();
+
+ PrintInt(int32 num);
+
+ PrintMsg(string msg);
+
+ VariousArgs(Blorp blorp, string:32 msg, vector<uint32> stuff);
+
+ WithResponse(int32 a, int32 b) -> (int32 sum);
+
+ SendAStruct(BasicStruct basic);
+
+ NestedStructsWithResponse(BasicStruct basic) -> (StuffAndThings resp);
+
+ PassHandles(handle<job> job) -> (handle<process> process);
+
+ ReceiveUnions(StructOfMultipleUnions somu);
+
+ SendUnions() -> (StructOfMultipleUnions somu);
+
+ SendVectorsOfString(vector<string> unsized,
+ vector<string?> nullable,
+ vector<string:10> max_strlen);
+
+ VectorOfStruct(vector<StructWithUint> stuff)
+ -> (vector<StructWithUint> result);
+
+ PassVectorOfPrimitives(VectorsOfPrimitives input)
+ -> (VectorsOfPrimitives output);
+
+ PassVectorOfVMO(VectorOfHandleToVMO input)
+ -> (VectorOfHandleToVMO output);
+
+ GetAnother(request<AnotherInterface> another);
+};