blob: 8c6405406b4b1bc8e97edeb9814119409b160b06 [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 fidl.difl.test;
using zx;
// After
//!DeclAdded
struct StructAdded {
int32 field;
};
// Attributes
[Attribute]
struct StructAttributeAdded {
int32 field;
};
struct StructAttributeRemoved {
int32 field;
};
[Attribute = "after"]
struct StructAttributeChanged {
int32 field;
};
// Fields
struct StructMemberRenamed {
//!StructMemberRenamed
int32 renamed_field;
};
//!StructSizeChanged
struct StructMemberAdded {
int32 field;
//!StructMemberAdded
int32 new_field;
};
//!StructSizeChanged
//!StructMemberRemoved
struct StructMemberRemoved {
int32 field;
};
struct StructMemberReordered {
//!StructMemberMoved
int32 second;
//!StructMemberMoved
int32 first;
};
// Field attributes
struct StructMemberAttributeAdded {
[Attribute]
int32 field;
};
struct StructMemberAttributeRemoved {
int32 field;
};
struct StructMemberAttributeChanged {
[Attribute = "before"]
int32 field;
};
// Field types
struct StructMemberSignChanged {
//!StructMemberTypeChanged
uint32 field;
};
//!StructSizeChanged
struct StructMemberSizeChanged {
//!StructMemberSizeChanged
//!StructMemberTypeChanged
int64 field;
};
//!StructMemberSplit
struct StructMemberSplit {
int16 a;
int16 b;
};
struct StructMemberJoin {
//!StructMemberJoined
int32 ab;
};
//!StructSizeChanged
//!StructMemberRemoved
struct StructMemberSplitPadding {
uint16 z;
//!StructMemberAdded
int16 a;
//!StructMemberAdded
int16 b;
};
//!StructSizeChanged
//!StructMemberRemoved
struct StructMemberJoinPadding {
uint16 z;
//!StructMemberAdded
int32 ab;
};
struct StructMemberStringToOptionalString {
//!StructMemberTypeChanged
string? field;
};
struct StructMemberStringFromOptionalString {
//!StructMemberTypeChanged
string field;
};
struct StructMemberHandleToOptionalHandle {
//!StructMemberTypeChanged
zx.handle? field;
};
struct StructMemberHandleFromOptionalHandle {
//!StructMemberTypeChanged
zx.handle field;
};
struct StructMemberHandleTypeChanged {
//!StructMemberTypeChanged
zx.handle:SOCKET field;
};
struct StructMemberStringLengthChanged {
//!StructMemberTypeChanged
string:10 field;
};
struct StructMemberVectorLengthChanged {
//!StructMemberTypeChanged
vector<int32>:10 field;
};
//!StructSizeChanged
struct StructMemberArrayLengthChanged {
//!StructMemberSizeChanged
//!StructMemberTypeChanged
array<int32>:10 field;
};
// Struct Layout