LLDB
mainline
|
#include "lldb/Utility/Flags.h"
Public Types | |
typedef uint32_t | ValueType |
The value type for flags is a 32 bit unsigned integer type. More... | |
Public Member Functions | |
Flags (ValueType flags=0) | |
Construct with initial flag bit values. More... | |
ValueType | Get () const |
Get accessor for all flags. More... | |
size_t | GetBitSize () const |
Return the number of flags that can be represented in this object. More... | |
void | Reset (ValueType flags) |
Set accessor for all flags. More... | |
ValueType | Clear (ValueType mask=~static_cast< ValueType >(0)) |
Clear one or more flags. More... | |
ValueType | Set (ValueType mask) |
Set one or more flags by logical OR'ing mask with the current flags. More... | |
bool | AllSet (ValueType mask) const |
Test if all bits in mask are 1 in the current flags. More... | |
bool | AnySet (ValueType mask) const |
Test one or more flags. More... | |
bool | Test (ValueType bit) const |
Test a single flag bit. More... | |
bool | AllClear (ValueType mask) const |
Test if all bits in mask are clear. More... | |
bool | AnyClear (ValueType mask) const |
bool | IsClear (ValueType bit) const |
Test a single flag bit to see if it is clear (zero). More... | |
Protected Attributes | |
ValueType | m_flags |
The flags. More... | |
A class to manage flags.
The Flags class managed flag bits and allows testing and modification of individual or multiple flag bits.
|
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(), 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::CommandObject::GetSelectedTarget(), lldb_private::ValueObject::HasSpecialPrintableRepresentation(), lldb_private::ValueObject::IsCStringContainer(), lldb_private::TypeSystemClang::IsCStringType(), RegisterInfoPOSIX_arm64::IsMTEEnabled(), RegisterInfoPOSIX_arm64::IsPAuthEnabled(), IsPointerValue(), RegisterInfoPOSIX_arm64::IsSVEEnabled(), lldb_private::ValueObject::ReadPointedString(), RegisterInfoPOSIX_arm64::RegisterInfoPOSIX_arm64(), 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::ProcessLaunchInfo::Clear(), lldb_private::BreakpointOptions::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(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerCommon::Handle_QSetDetachOnError(), lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::Handle_QSetDisableASLR(), lldb_private::TargetProperties::InheritTCCValueChangedCallback(), 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::ThreadPlanStepOverRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepInRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOut::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.
References lldb_private::bit(), and m_flags.
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(), lldb_private::CompileUnit::CompileUnit(), lldb_private::BreakpointOptions::CopyOverSetOptions(), RegisterContextCorePOSIX_arm64::Create(), lldb_private::BreakpointOptions::CreateFromStructuredData(), PlatformPOSIX::DebugProcess(), lldb_private::PlatformWindows::DebugProcess(), lldb_private::PlatformAppleSimulator::DebugProcess(), lldb_private::Platform::DebugProcess(), lldb_private::TargetProperties::DetachOnErrorValueChangedCallback(), lldb_private::TargetProperties::DisableASLRValueChangedCallback(), lldb_private::TargetProperties::DisableSTDIOValueChangedCallback(), 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::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::ThreadPlanStepOverRange::SetFlagsToDefault(), lldb_private::ThreadPlanStepOut::SetFlagsToDefault(), lldb_private::ThreadPlanStepInRange::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::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::ThreadPlanStepOverRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepInRange::SetupAvoidNoDebug(), lldb_private::ThreadPlanStepOut::SetupAvoidNoDebug(), and lldb_private::StackFrame::UpdatePreviousFrameFromCurrentFrame().
|
inline |
Test a single flag bit.
Definition at line 96 of file Flags.h.
References lldb_private::bit(), and m_flags.
Referenced by lldb_private::Stream::_PutHex8(), lldb_private::BreakpointOptions::CopyOverSetOptions(), lldb_private::ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(), ProcessMachCore::DoGetMemoryRegionInfo(), ProcessElfCore::DoGetMemoryRegionInfo(), lldb_private::ValueObject::DumpPrintableRepresentation(), lldb_private::Target::FinalizeFileActions(), lldb_private::TypeFormatImpl_Format::FormatObject(), lldb_private::ProcessLaunchInfo::GetDetachOnError(), lldb_private::ProcessLaunchInfo::GetLaunchInSeparateProcessGroup(), GetPosixspawnFlags(), lldb_private::platform_netbsd::PlatformNetBSD::GetResumeCountForLaunchInfo(), lldb_private::platform_linux::PlatformLinux::GetResumeCountForLaunchInfo(), lldb_private::ProcessLaunchInfo::GetShellExpandArguments(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), lldb_private::ValueObject::HasSpecialPrintableRepresentation(), lldb_private::TypePayloadClang::IsCompleteObjCClass(), lldb_private::ValueObject::IsCStringContainer(), lldb_private::TypeSystemClang::IsCStringType(), lldb_private::BreakpointOptions::IsOptionSet(), lldb_private::BreakpointName::Permissions::IsSet(), lldb_private::Process::Launch(), lldb_private::Target::Launch(), lldb_private::ProcessLauncherWindows::LaunchProcess(), lldb_private::MonitoringProcessLauncher::LaunchProcess(), lldb_private::platform_gdb_server::PlatformRemoteGDBServer::LaunchProcess(), lldb_private::ProcessDebugger::LaunchProcess(), lldb_private::Platform::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(), CoreSimulatorSupport::Device::Spawn(), and lldb_private::Log::WriteHeader().
|
protected |