clang 22.0.0git
clang::ModuleLoadResult Class Reference

Describes the result of attempting to load a module. More...

#include "clang/Lex/ModuleLoader.h"

Public Types

enum  LoadResultKind { Normal , MissingExpected , ConfigMismatch }

Public Member Functions

 ModuleLoadResult ()=default
 ModuleLoadResult (Module *M)
 ModuleLoadResult (LoadResultKind Kind)
 ModuleLoadResult (Module *M, LoadResultKind Kind)
 operator bool () const
 operator Module * () const
bool isNormal () const
 Determines whether this is a normal return, whether or not loading the module was successful.
bool isMissingExpected () const
 Determines whether the module, which failed to load, was actually a submodule that we expected to see (based on implying the submodule from header structure), but didn't materialize in the actual module.
bool isConfigMismatch () const
 Determines whether the module failed to load due to a configuration mismatch with an explicitly-named .pcm file from the command line.

Public Attributes

llvm::PointerIntPair< Module *, 2, LoadResultKindStorage

Detailed Description

Describes the result of attempting to load a module.

Definition at line 36 of file ModuleLoader.h.

Member Enumeration Documentation

◆ LoadResultKind

Enumerator
Normal 
MissingExpected 
ConfigMismatch 

Definition at line 38 of file ModuleLoader.h.

Constructor & Destructor Documentation

◆ ModuleLoadResult() [1/4]

clang::ModuleLoadResult::ModuleLoadResult ( )
default

◆ ModuleLoadResult() [2/4]

clang::ModuleLoadResult::ModuleLoadResult ( Module * M)
inline

Definition at line 53 of file ModuleLoader.h.

References Normal, and Storage.

◆ ModuleLoadResult() [3/4]

clang::ModuleLoadResult::ModuleLoadResult ( LoadResultKind Kind)
inline

Definition at line 54 of file ModuleLoader.h.

References clang::nullptr, and Storage.

◆ ModuleLoadResult() [4/4]

clang::ModuleLoadResult::ModuleLoadResult ( Module * M,
LoadResultKind Kind )
inline

Definition at line 55 of file ModuleLoader.h.

References Storage.

Member Function Documentation

◆ isConfigMismatch()

bool clang::ModuleLoadResult::isConfigMismatch ( ) const
inline

Determines whether the module failed to load due to a configuration mismatch with an explicitly-named .pcm file from the command line.

Definition at line 75 of file ModuleLoader.h.

References ConfigMismatch, and Storage.

◆ isMissingExpected()

bool clang::ModuleLoadResult::isMissingExpected ( ) const
inline

Determines whether the module, which failed to load, was actually a submodule that we expected to see (based on implying the submodule from header structure), but didn't materialize in the actual module.

Definition at line 71 of file ModuleLoader.h.

References MissingExpected, and Storage.

◆ isNormal()

bool clang::ModuleLoadResult::isNormal ( ) const
inline

Determines whether this is a normal return, whether or not loading the module was successful.

Definition at line 65 of file ModuleLoader.h.

References Normal, and Storage.

◆ operator bool()

clang::ModuleLoadResult::operator bool ( ) const
inline

Definition at line 57 of file ModuleLoader.h.

References Normal, and Storage.

◆ operator Module *()

clang::ModuleLoadResult::operator Module * ( ) const
inline

Definition at line 61 of file ModuleLoader.h.

References Storage.

Member Data Documentation

◆ Storage

llvm::PointerIntPair<Module *, 2, LoadResultKind> clang::ModuleLoadResult::Storage

The documentation for this class was generated from the following file: