class ModuleFileExtension
Declaration
class ModuleFileExtension : public RTTIExtends { /* full declaration omitted */ };
Description
An abstract superclass that describes a custom extension to the module/precompiled header file format. A module file extension can introduce additional information into compiled module files (.pcm) and precompiled headers (.pch) via a custom writer that can then be accessed via a custom reader when the module file or precompiled header is loaded. Subclasses must use LLVM RTTI for open class hierarchies.
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:66
Inherits from: RTTIExtends
Member Variables
- public static char ID
- Discriminator for LLVM RTTI.
Method Overview
- public virtual std::unique_ptr<ModuleFileExtensionReader> createExtensionReader(const clang::ModuleFileExtensionMetadata & Metadata, clang::ASTReader & Reader, serialization::ModuleFile & Mod, const llvm::BitstreamCursor & Stream)
- public virtual std::unique_ptr<ModuleFileExtensionWriter> createExtensionWriter(clang::ASTWriter & Writer)
- public virtual clang::ModuleFileExtensionMetadata getExtensionMetadata() const
- public virtual void hashExtension(clang::ModuleFileExtension::ExtensionHashBuilder & HBuilder) const
- public virtual ~ModuleFileExtension()
Methods
¶virtual std::unique_ptr<ModuleFileExtensionReader>
createExtensionReader(
const clang::ModuleFileExtensionMetadata&
Metadata,
clang::ASTReader& Reader,
serialization::ModuleFile& Mod,
const llvm::BitstreamCursor& Stream)
virtual std::unique_ptr<ModuleFileExtensionReader>
createExtensionReader(
const clang::ModuleFileExtensionMetadata&
Metadata,
clang::ASTReader& Reader,
serialization::ModuleFile& Mod,
const llvm::BitstreamCursor& Stream)
Description
Create a new module file extension reader, given the metadata read from the block and the cursor into the extension block. May return null to indicate that an extension block with the given metadata cannot be read.
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:106
Parameters
- const clang::ModuleFileExtensionMetadata& Metadata
- clang::ASTReader& Reader
- serialization::ModuleFile& Mod
- const llvm::BitstreamCursor& Stream
¶virtual std::unique_ptr<ModuleFileExtensionWriter>
createExtensionWriter(clang::ASTWriter& Writer)
virtual std::unique_ptr<ModuleFileExtensionWriter>
createExtensionWriter(clang::ASTWriter& Writer)
Description
Create a new module file extension writer, which will be responsible for writing the extension contents into a particular module file.
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:97
Parameters
- clang::ASTWriter& Writer
¶virtual clang::ModuleFileExtensionMetadata
getExtensionMetadata() const
virtual clang::ModuleFileExtensionMetadata
getExtensionMetadata() const
Description
Retrieves the metadata for this module file extension.
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:75
¶virtual void hashExtension(
clang::ModuleFileExtension::
ExtensionHashBuilder& HBuilder) const
virtual void hashExtension(
clang::ModuleFileExtension::
ExtensionHashBuilder& HBuilder) const
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:91
Parameters
¶virtual ~ModuleFileExtension()
virtual ~ModuleFileExtension()
Declared at: clang/include/clang/Serialization/ModuleFileExtension.h:72