library /*isNonNullableByDefault*/;
import self as self;
import "dart:ffi" as ffi;

import "dart:ffi";
import "package:ffi/ffi.dart";

class StructInlineArray extends ffi::Struct {
  synthetic constructor •() → self::StructInlineArray
    ;
  @ffi::_ArraySize::•<ffi::NativeType>(8)
  external get a0() → ffi::Array<ffi::Uint8>;
  @ffi::_ArraySize::•<ffi::NativeType>(8)
  external set a0(ffi::Array<ffi::Uint8> #externalFieldValue) → void;
}
static method main() → dynamic
  ;


Extra constant evaluation status:
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///ffi_struct_inline_array.dart:10:4 -> InstanceConstant(const _ArraySize<NativeType*>{_ArraySize.dimension1: 8, _ArraySize.dimension2: null, _ArraySize.dimension3: null, _ArraySize.dimension4: null, _ArraySize.dimension5: null, _ArraySize.dimensions: null})
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///ffi_struct_inline_array.dart:10:4 -> InstanceConstant(const _ArraySize<NativeType*>{_ArraySize.dimension1: 8, _ArraySize.dimension2: null, _ArraySize.dimension3: null, _ArraySize.dimension4: null, _ArraySize.dimension5: null, _ArraySize.dimensions: null})
Extra constant evaluation: evaluated: 2, effectively constant: 2
