LLDB mainline
|
A class to manage flags. More...
#include "lldb/Utility/Flags.h"
Public Types | |
typedef uint32_t | ValueType |
The value type for flags is a 32 bit unsigned integer type. | |
Public Member Functions | |
Flags (ValueType flags=0) | |
Construct with initial flag bit values. | |
ValueType | Get () const |
Get accessor for all flags. | |
size_t | GetBitSize () const |
Return the number of flags that can be represented in this object. | |
void | Reset (ValueType flags) |
Set accessor for all flags. | |
ValueType | Clear (ValueType mask=~static_cast< ValueType >(0)) |
Clear one or more flags. | |
ValueType | Set (ValueType mask) |
Set one or more flags by logical OR'ing mask with the current flags. | |
bool | AllSet (ValueType mask) const |
Test if all bits in mask are 1 in the current flags. | |
bool | AnySet (ValueType mask) const |
Test one or more flags. | |
bool | Test (ValueType bit) const |
Test a single flag bit. | |
bool | AllClear (ValueType mask) const |
Test if all bits in mask are clear. | |
bool | AnyClear (ValueType mask) const |
bool | IsClear (ValueType bit) const |
Test a single flag bit to see if it is clear (zero). | |
Protected Attributes | |
ValueType | m_flags |
The flags. | |
A class to manage flags.
The Flags class managed flag bits and allows testing and modification of individual or multiple flag bits.
typedef uint32_t lldb_private::Flags::ValueType |
|
inline |
|
inline |
Test if all bits in mask are clear.
Definition at line 103 of file Flags.h.
References m_flags.
Referenced by DerefToNSErrorPointer(), ExtractFields(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), and IsPointerValue().
|
inline |
Test if all bits in mask are 1 in the current flags.
Definition at line 83 of file Flags.h.
References m_flags.
Referenced by DerefToNSErrorPointer(), lldb_private::ItaniumABILanguageRuntime::FixUpDynamicType(), lldb_private::AppleObjCRuntime::FixUpDynamicType(), lldb_private::GNUstepObjCRuntime::FixUpDynamicType(), and RegisterInfoPOSIX_arm64::RegisterInfoPOSIX_arm64().
|
inline |
|
inline |
Test one or more flags.
Definition at line 90 of file Flags.h.
References m_flags.
Referenced by lldb_private::BreakpointName::Permissions::AnySet(), lldb_private::BreakpointOptions::AnySet(), lldb_private::ValueObject::DumpPrintableRepresentation(), lldb_private::StructuredDataDarwinLog::FilterLaunchInfo(), lldb_private::ValueObject::HasSpecialPrintableRepresentation(), lldb_private::ValueObject::IsCStringContainer(), lldb_private::TypeSystemClang::IsCStringType(), RegisterInfoPOSIX_arm64::IsFPMRPresent(), RegisterInfoPOSIX_riscv64::IsFPPresent(), RegisterInfoPOSIX_arm64::IsMTEPresent(), RegisterInfoPOSIX_arm64::IsPAuthPresent(), IsPointerValue(), RegisterInfoPOSIX_arm64::IsSSVEPresent(), RegisterInfoPOSIX_arm64::IsSVEPresent(), RegisterInfoPOSIX_arm64::IsTLSPresent(), RegisterInfoPOSIX_arm64::IsZAPresent(), RegisterInfoPOSIX_arm64::IsZTPresent(), lldb_private::ValueObject::ReadPointedString(), RegisterInfoPOSIX_arm64::RegisterInfoPOSIX_arm64(), RegisterInfoPOSIX_riscv64::RegisterInfoPOSIX_riscv64(), and lldb_private::ValueObjectChild::UpdateValue().
Clear one or more flags.
[in] | mask | A bitfield containing one or more flags. |
Definition at line 61 of file Flags.h.
References m_flags.
Referenced by lldb_private::AppleThreadPlanStepThroughDirectDispatch::AppleThreadPlanStepThroughDirectDispatch(), lldb_private::BreakpointOptions::Clear(), lldb_private::ProcessLaunchInfo::Clear(), lldb_private::BreakpointOptions::ClearCallback(), lldb_private::BreakpointOptions::CopyOverSetOptions(), lldb_private::PlatformQemuUser::DebugProcess(), lldb_private::TargetProperties::DetachOnErrorValueChangedCallback(), lldb_private::TargetProperties::DisableASLRValueChangedCallback(), lldb_private::TargetProperties::DisableSTDIOValueChangedCallback(), CommandObjectProcessLaunch::DoExecute(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetDetachOnError(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetDisableASLR(), lldb_private::TargetProperties::InheritTCCValueChangedCallback(), CommandObjectTypeSummaryAdd::CommandOptions::OptionParsingStarting(), lldb_private::BreakpointName::Permissions::Permissions(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::Stream::PutRawBytes(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::BreakpointOptions::SetCondition(), lldb_private::CompileUnit::SetDebugMacros(), lldb_private::ProcessLaunchInfo::SetDetachOnError(), lldb_private::TypePayloadClang::SetIsCompleteObjCClass(), lldb_private::ProcessLaunchInfo::SetLaunchInSeparateProcessGroup(), lldb_private::CompileUnit::SetLineTable(), lldb_private::ProcessLaunchInfo::SetShell(), lldb_private::ProcessLaunchInfo::SetShellExpandArguments(), lldb_private::ThreadPlanStepInRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOut::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOverRange::SetupAvoidNoDebug(), and lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame().
|
inline |
Get accessor for all flags.
Definition at line 40 of file Flags.h.
References m_flags.
Referenced by lldb_private::CommandObject::CheckRequirements(), lldb_private::process_gdb_remote::ProcessGDBRemote::DoLaunch(), lldb_private::Section::Dump(), lldb_private::StackFrame::GetSymbolContext(), and ObjectFileELF::ReadSectionData().
|
inline |
|
inline |
Test a single flag bit to see if it is clear (zero).
Definition at line 111 of file Flags.h.
Referenced by lldb_private::CompileUnit::GetCachedLanguage(), lldb_private::CompileUnit::GetDebugMacros(), lldb_private::StackFrame::GetFrameBaseValue(), lldb_private::StackFrame::GetFrameBlock(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::CompileUnit::GetImportedModules(), lldb_private::CompileUnit::GetLanguage(), lldb_private::CompileUnit::GetLineTable(), lldb_private::Function::GetPrologueByteSize(), lldb_private::StackFrame::GetStackID(), lldb_private::CompileUnit::GetSupportFiles(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::StackFrame::GetVariableList(), lldb_private::formatters::NSArraySyntheticFrontEndCreator(), lldb_private::formatters::NSDictionarySyntheticFrontEndCreator(), and lldb_private::formatters::NSSetSyntheticFrontEndCreator().
|
inline |
Set accessor for all flags.
[in] | flags | The bits with which to replace all of the current flags. |
Definition at line 52 of file Flags.h.
References m_flags.
Referenced by lldb_private::StackFrame::ChangePC(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), and lldb_private::Property::Property().
Set one or more flags by logical OR'ing mask with the current flags.
[in] | mask | A bitfield containing one or more flags. |
Definition at line 73 of file Flags.h.
References m_flags.
Referenced by lldb_private::AppleThreadPlanStepThroughDirectDispatch::AppleThreadPlanStepThroughDirectDispatch(), lldb_private::BreakpointOptions::BreakpointOptions(), CommandObjectScriptingObjectParsed::CommandObjectScriptingObjectParsed(), CommandObjectScriptingObjectRaw::CommandObjectScriptingObjectRaw(), lldb_private::CompileUnit::CompileUnit(), lldb_private::BreakpointOptions::CopyOverSetOptions(), RegisterContextCorePOSIX_arm64::Create(), RegisterContextCorePOSIX_riscv64::Create(), lldb_private::BreakpointOptions::CreateFromStructuredData(), PlatformPOSIX::DebugProcess(), lldb_private::PlatformWindows::DebugProcess(), lldb_private::Platform::DebugProcess(), lldb_private::PlatformAppleSimulator::DebugProcess(), lldb_private::TargetProperties::DetachOnErrorValueChangedCallback(), lldb_private::TargetProperties::DisableASLRValueChangedCallback(), lldb_private::TargetProperties::DisableSTDIOValueChangedCallback(), CommandObjectProcessLaunch::DoExecute(), lldb_private::CompileUnit::GetDebugMacros(), lldb_private::StackFrame::GetFrameBaseValue(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::CompileUnit::GetImportedModules(), lldb_private::CompileUnit::GetLanguage(), lldb_private::CompileUnit::GetLineTable(), lldb_private::Function::GetPrologueByteSize(), lldb_private::StackFrame::GetStackID(), lldb_private::CompileUnit::GetSupportFileList(), lldb_private::CompileUnit::GetSupportFiles(), lldb_private::StackFrame::GetSymbolContext(), lldb_private::BreakpointOptions::GetThreadSpec(), lldb_private::StackFrame::GetVariableList(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetDetachOnError(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetDisableASLR(), lldb_private::TargetProperties::InheritTCCValueChangedCallback(), lldb_private::Target::Launch(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess(), lldb_private::Platform::LaunchProcess(), lldb_private::BreakpointName::Permissions::Permissions(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::Stream::PutRawBytes(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::BreakpointOptions::SetAutoContinue(), lldb_private::BreakpointOptions::SetCallback(), lldb_private::BreakpointOptions::SetCommandDataCallback(), lldb_private::BreakpointOptions::SetCondition(), lldb_private::CompileUnit::SetDebugMacros(), lldb_private::ProcessLaunchInfo::SetDetachOnError(), lldb_private::BreakpointOptions::SetEnabled(), lldb_private::ThreadPlanStepInRange::SetFlagsToDefault(), lldb_private::ThreadPlanStepOut::SetFlagsToDefault(), lldb_private::ThreadPlanStepOverRange::SetFlagsToDefault(), lldb_private::AppleThreadPlanStepThroughDirectDispatch::SetFlagsToDefault(), lldb_private::BreakpointOptions::SetIgnoreCount(), lldb_private::TypePayloadClang::SetIsCompleteObjCClass(), lldb_private::CompileUnit::SetLanguage(), lldb_private::ProcessLaunchInfo::SetLaunchInSeparateProcessGroup(), lldb_private::CompileUnit::SetLineTable(), lldb_private::BreakpointOptions::SetOneShot(), lldb_private::BreakpointOptionGroup::SetOptionValue(), lldb_private::CommandOptionsProcessLaunch::SetOptionValue(), lldb_private::BreakpointName::Permissions::SetPermission(), lldb_private::ProcessLaunchInfo::SetShell(), lldb_private::ProcessLaunchInfo::SetShellExpandArguments(), lldb_private::StackFrame::SetSymbolContextScope(), lldb_private::BreakpointOptions::SetThreadID(), lldb_private::BreakpointOptions::SetThreadSpec(), lldb_private::ThreadPlanStepInRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOut::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOverRange::SetupAvoidNoDebug(), lldb_private::StackFrame::StackFrame(), and lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame().
|
inline |
Test a single flag bit.
Definition at line 96 of file Flags.h.
Referenced by lldb_private::Stream::_PutHex8(), ABISysV_riscv::CallFrameAddressIsValid(), ABISysV_riscv::CodeAddressIsValid(), lldb_private::BreakpointOptions::CopyOverSetOptions(), lldb_private::ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(), CommandObjectPlatformProcessLaunch::DoExecute(), ProcessElfCore::DoGetMemoryRegionInfo(), ProcessMachCore::DoGetMemoryRegionInfo(), lldb_private::ValueObject::DumpPrintableRepresentation(), lldb_private::OptionValueString::DumpValue(), lldb_private::CommandInterpreter::EchoCommandNonInteractive(), lldb_private::Target::FinalizeFileActions(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ProcessLaunchInfo::GetDetachOnError(), lldb_private::ProcessLaunchInfo::GetLaunchInSeparateProcessGroup(), GetPosixspawnFlags(), lldb_private::platform_linux::PlatformLinux::GetResumeCountForLaunchInfo(), lldb_private::platform_netbsd::PlatformNetBSD::GetResumeCountForLaunchInfo(), lldb_private::ProcessLaunchInfo::GetShellExpandArguments(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), lldb_private::ValueObject::HasSpecialPrintableRepresentation(), lldb_private::CommandInterpreter::IOHandlerInputComplete(), lldb_private::ValueObjectPrinter::IsAggregate(), lldb_private::TypePayloadClang::IsCompleteObjCClass(), lldb_private::ValueObject::IsCStringContainer(), lldb_private::TypeSystemClang::IsCStringType(), lldb_private::BreakpointOptions::IsOptionSet(), lldb_private::ValueObjectPrinter::IsPtr(), lldb_private::ValueObjectPrinter::IsRef(), lldb_private::BreakpointName::Permissions::IsSet(), lldb_private::Process::Launch(), lldb_private::Target::Launch(), lldb_private::MonitoringProcessLauncher::LaunchProcess(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::Platform::LaunchProcess(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), lldb_private::ProcessDebugger::LaunchProcess(), LaunchProcessPosixSpawn(), lldb_private::OptionGroupPythonClassWithDict::OptionGroupPythonClassWithDict(), ParseTrieEntries(), lldb_private::Stream::PrintfVarArg(), lldb_private::Stream::PutBytesAsRawHex8(), lldb_private::Stream::PutCString(), lldb_private::StreamGDBRemote::PutEscapedBytes(), lldb_private::Stream::PutRawBytes(), lldb_private::Stream::PutSLEB128(), lldb_private::Stream::PutStringAsRawHex8(), lldb_private::Stream::PutULEB128(), lldb_private::ValueObject::ReadPointedString(), ObjectFileELF::ReadSectionData(), lldb_private::BreakpointOptions::SerializeToStructuredData(), lldb_private::TargetProperties::SetProcessLaunchInfo(), lldb_private::OptionValueString::SetValueFromString(), lldb_private::ValueObjectPrinter::ShouldPrintValueObject(), CoreSimulatorSupport::Device::Spawn(), and lldb_private::Log::WriteHeader().
|
protected |
The flags.
Definition at line 114 of file Flags.h.
Referenced by AllClear(), AllSet(), AnyClear(), AnySet(), Clear(), Get(), IsClear(), Reset(), Set(), and Test().