struct TypeConstructor
Defined at line 403 of file ../../tools/fidl/fidlc/src/flat_ast.h
Unlike RawTypeConstructor which will either store a name referencing a
layout or an anonymous layout directly, in the flat AST all type constructors
store a Reference. In the case where the type constructor represents an
anonymous layout, the data of the anonymous layout is consumed and stored in
the library and the corresponding type constructor contains a Reference
whose name has AnonymousNameContext and a span covering the anonymous layout.
This allows all type compilation to share the code paths through the consume
step (i.e. RegisterDecl) and the compilation step (i.e. Typespace::Create),
while ensuring that users cannot refer to anonymous layouts by name.
Public Members
SourceSpan span
Reference layout
unique_ptr parameters
unique_ptr constraints
Type * type
LayoutInvocation resolved_params
Public Methods
std::unique_ptr<TypeConstructor> Clone ()
void TypeConstructor (SourceSpan span, Reference layout, std::unique_ptr<LayoutParameterList> parameters, std::unique_ptr<TypeConstraints> constraints)
Defined at line 404 of file ../../tools/fidl/fidlc/src/flat_ast.h