blob: 1732121ed962901a530eab41c6c1c98f3fbda3fd [file] [log] [blame]
// Copyright 2019 The Fuchsia 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 test.conformance;
type EmptyTable = table {};
type StructOfEmptyTable = struct {
table EmptyTable;
};
type SimpleTable = table {
1: x int64;
2: reserved;
3: reserved;
4: reserved;
5: y int64;
};
type StructOfSimpleTable = struct {
table SimpleTable;
};
type SimpleResourceTable = resource table {
1: x int64;
2: reserved;
3: reserved;
4: reserved;
5: y int64;
};
type StructOfSimpleResourceTable = resource struct {
table SimpleResourceTable;
};
type SimpleTableThenUint64 = struct {
table SimpleTable;
number uint64;
};
type TableWithStringAndVector = table {
1: foo string;
2: bar int32;
3: baz vector<uint8>;
};
type StructOfTableWithStringAndVector = struct {
table TableWithStringAndVector;
};
type ReverseOrdinalTable = table {
4: x int64;
3: reserved;
2: y int64;
1: z int64;
};
type StructOfReverseOrdinalTable = struct {
table ReverseOrdinalTable;
};
type TableWithGaps = table {
1: reserved;
2: second int32;
3: reserved;
4: fourth int32;
};
type StructOfTableWithGaps = struct {
table TableWithGaps;
};
type TableFieldInlined = table {
1: f int32;
};
type TableFieldInlinedStruct = struct {
t TableFieldInlined;
};
type TableFieldInlinedHandle = resource table {
1: f handle:CHANNEL;
};
type TableFieldInlinedHandleStruct = resource struct {
t TableFieldInlinedHandle;
};
type TableFieldOutOfLine = table {
1: f int64;
};
type TableFieldOutOfLineStruct = struct {
t TableFieldOutOfLine;
};
type TableFieldUnknown = table {};
type TableFieldUnknownStruct = struct {
t TableFieldUnknown;
};
type TableFieldUnknownResource = resource table {};
type TableFieldUnknownResourceStruct = resource struct {
t TableFieldUnknownResource;
};