LLDB mainline
Public Types | Public Member Functions | Protected Attributes | List of all members
lldb_private::Flags Class Reference

A class to manage flags. More...

#include "lldb/Utility/Flags.h"

Inheritance diagram for lldb_private::Flags:
Inheritance graph
[legend]

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.
 

Detailed Description

A class to manage flags.

The Flags class managed flag bits and allows testing and modification of individual or multiple flag bits.

Definition at line 22 of file Flags.h.

Member Typedef Documentation

◆ ValueType

The value type for flags is a 32 bit unsigned integer type.

Definition at line 25 of file Flags.h.

Constructor & Destructor Documentation

◆ Flags()

lldb_private::Flags::Flags ( ValueType  flags = 0)
inline

Construct with initial flag bit values.

Constructs this object with mask as the initial value for all of the flags.

Parameters
[in]flagsThe initial value for all flags.

Definition at line 34 of file Flags.h.

Member Function Documentation

◆ AllClear()

bool lldb_private::Flags::AllClear ( ValueType  mask) const
inline

Test if all bits in mask are clear.

Returns
true if all flags in mask are clear, false otherwise.

Definition at line 103 of file Flags.h.

References m_flags.

Referenced by DerefToNSErrorPointer(), ExtractFields(), lldb_private::ValueObject::GetValueForExpressionPath_Impl(), and IsPointerValue().

◆ AllSet()

bool lldb_private::Flags::AllSet ( ValueType  mask) const
inline

Test if all bits in mask are 1 in the current flags.

Returns
true if all flags in mask are 1, false otherwise.

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().

◆ AnyClear()

bool lldb_private::Flags::AnyClear ( ValueType  mask) const
inline

Definition at line 105 of file Flags.h.

References m_flags.

◆ AnySet()

bool lldb_private::Flags::AnySet ( ValueType  mask) const
inline

◆ Clear()

ValueType lldb_private::Flags::Clear ( ValueType  mask = ~static_cast<ValueType>(0))
inline

Clear one or more flags.

Parameters
[in]maskA bitfield containing one or more flags.
Returns
The new flags after clearing all bits from mask.

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().

◆ Get()

ValueType lldb_private::Flags::Get ( ) const
inline

◆ GetBitSize()

size_t lldb_private::Flags::GetBitSize ( ) const
inline

Return the number of flags that can be represented in this object.

Returns
The maximum number bits in this flag object.

Definition at line 46 of file Flags.h.

◆ IsClear()

bool lldb_private::Flags::IsClear ( ValueType  bit) const
inline

◆ Reset()

void lldb_private::Flags::Reset ( ValueType  flags)
inline

Set accessor for all flags.

Parameters
[in]flagsThe 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()

ValueType lldb_private::Flags::Set ( ValueType  mask)
inline

Set one or more flags by logical OR'ing mask with the current flags.

Parameters
[in]maskA bitfield containing one or more flags.
Returns
The new flags after setting all bits from mask.

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(), 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().

◆ Test()

bool lldb_private::Flags::Test ( ValueType  bit) const
inline

Test a single flag bit.

Returns
true if bit is set, false otherwise.

Definition at line 96 of file Flags.h.

References bit, and m_flags.

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().

Member Data Documentation

◆ m_flags

ValueType lldb_private::Flags::m_flags
protected

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