blob: 8455004b02d06ce38c8fafa98156a78bf8cdd45c [file] [log] [blame]
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:ffigen/src/code_generator/compound.dart';
/// A binding for a C union -
///
/// ```c
/// union C {
/// int a;
/// double b;
/// float c;
/// };
/// ```
/// The generated dart code is -
/// ```dart
/// final class Union extends ffi.Union{
/// @ffi.Int32()
/// int a;
///
/// @ffi.Double()
/// double b;
///
/// @ffi.Float()
/// float c;
///
/// }
/// ```
class Union extends Compound {
Union({
String? usr,
String? originalName,
required String name,
bool isIncomplete = false,
int? pack,
String? dartDoc,
List<Member>? members,
}) : super(
usr: usr,
originalName: originalName,
name: name,
dartDoc: dartDoc,
isIncomplete: isIncomplete,
members: members,
pack: pack,
compoundType: CompoundType.union,
);
}