15 PathNotNullTerminated = 1,
16 UnsupportedPathEncoding,
18 DynamicLibraryOperationUnsupported,
20 DefinitionCapacityExceeded,
21 ScannerCapacityExceeded,
22 RegistryCapacityExceeded,
23 CompilerConfigurationCapacityExceeded,
24 SysrootCapacityExceeded,
25 ArgumentCapacityExceeded,
28 FileBufferCapacityExceeded,
36 CompilerEnvironmentReadFailed,
37 CompilerExitedWithFailure,
38 LinkerExitedWithFailure,
39 DynamicLibraryAlreadyLoaded,
40 DynamicLibraryLoadFailed,
41 DynamicLibraryCloseFailed,
42 DynamicLibraryNotLoaded,
43 SymbolNameConversionFailed,
44 SymbolNameCapacityExceeded,
46 InitializationEntryPointNotFound,
47 CloseEntryPointNotFound,
49 PluginInitializationFailed,
67 ScannerDefinitionStorage,
70 IteratorAssignDirectory,
71 IteratorBuildSearchPath,
72 IteratorBuildEntryPath,
73 CompilerFindConfiguration,
74 CompilerBuildArguments,
75 CompilerWriteArguments,
76 CompilerBuildObjectPath,
79 LinkerBuildOutputPath,
81 SysrootBuildIncludePath,
82 SysrootBuildLibraryPath,
84 RegistryStoreDefinition,
94 WindowsDirectoryFindFirst,
95 WindowsDirectoryFindNext,
98 WindowsDynamicLibraryLoad,
99 WindowsDynamicLibraryClose,
100 WindowsDynamicLibraryGetSymbol,
101 PosixDynamicLibraryLoad,
102 PosixDynamicLibraryClose,
103 PosixDynamicLibraryGetSymbol,
104 WindowsSymbolNameConversion,
105 PosixSymbolNameAssign,
106 WindowsDebuggerUnlock,
107 WindowsDebuggerDelete,
133 uint32_t nativeError;
135 uint32_t requiredBytes;
136 uint32_t requiredElements;
140 constexpr PluginErrorContext(RequiredBytes, uint32_t value) : requiredBytes(value) {}
141 constexpr PluginErrorContext(RequiredElements, uint32_t value) : requiredElements(value) {}
157 explicit constexpr ResultPlugin(
bool valid =
true) : result(valid) {}
159 : result(Result::Error(PluginResultCategory, error)), detail(detail)
163 : result(Result::Error(PluginResultCategory, error)), detail(detail), contextKind(contextKind), context(context)
165 constexpr ResultPlugin(Result result) : result(result) {}
167 template <
typename ResultLike>
168 constexpr ResultPlugin(
const ResultLike& other) : result(other.toResult())
173 return {error, detail, PluginErrorContextKind::NativeError,
PluginErrorContext(nativeError)};
178 return {error, detail, PluginErrorContextKind::ExitCode,
184 return {error, detail, PluginErrorContextKind::RequiredBytes,
189 uint32_t requiredElements)
191 return {error, detail, PluginErrorContextKind::RequiredElements,
195 explicit constexpr operator bool()
const {
return static_cast<bool>(result); }
196 constexpr operator Result()
const {
return result; }
197 constexpr Result toResult()
const {
return result; }
198 constexpr bool isError(
PluginError error)
const {
return result.isError(PluginResultCategory, error); }
Definition PluginError.h:124
Definition PluginError.h:127
Definition PluginError.h:130
A typed scalar payload for a Plugin error. Its interpretation is selected by PluginErrorContextKind.
Definition PluginError.h:122