header = """/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/. */

#ifndef mozilla_dom_RustTypes_h
#error "Don't include this file directly, include mozilla/dom/RustTypes.h instead"
#endif
"""
include_guard = "mozilla_dom_GeneratedElementDocumentState_h"
include_version = true
language = "C++"
namespaces = ["mozilla", "dom"]
includes = ["mozilla/Assertions.h"]

[enum]
derive_helper_methods = true
derive_const_casts = true
cast_assert_name = "MOZ_DIAGNOSTIC_ASSERT"

[struct]
associated_constants_in_body = true
derive_eq = true
derive_neq = true

[macro_expansion]
bitflags = true

[export]
include = [
  "ElementState",
  "DocumentState",
]

[export.body]
"ElementState" = """
  STATE_HELPERS(ElementState)
"""
"DocumentState" = """
  STATE_HELPERS(DocumentState)
"""
