- All Superinterfaces:
Declaration
- Enclosing interface:
Declaration
A scoped declaration is a container for one or more nested declarations. This declaration can be used to model
several constructs in the foreign languages, such as (but not limited to) structs, unions and structs (see also
Declaration.Scoped.Kind
).-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
The scoped declaration kind.Nested classes/interfaces declared in interface jdk.incubator.jextract.Declaration
Declaration.Constant, Declaration.Function, Declaration.Scoped, Declaration.Typedef, Declaration.Variable, Declaration.Visitor<R,
P> -
Method Summary
Methods declared in interface jdk.incubator.jextract.Declaration
accept, attributeNames, equals, getAttribute, hashCode, name, pos, stripAttributes, withAttribute
-
Method Details
-
members
List<Declaration> members()The member declarations associated with this scoped declaration.- Returns:
- The member declarations associated with this scoped declaration.
-
layout
Optional<MemoryLayout> layout()The (optional) layout associated with this scoped declaration.- Implementation Requirements:
- a layout is present if the scoped declaration kind is one of
Declaration.Scoped.Kind.STRUCT
,Declaration.Scoped.Kind.UNION
,Declaration.Scoped.Kind.ENUM
,Declaration.Scoped.Kind.BITFIELDS
,Declaration.Scoped.Kind.CLASS
and if this declaration models an entity in the foreign language that is associated with a definition. - Returns:
- The (optional) layout associated with this scoped declaration.
-
kind
Declaration.Scoped.Kind kind()The scoped declaration kind.- Returns:
- The scoped declaration kind.
-