clang 22.0.0git
clang::ento::ExplodedNode Class Reference

#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"

Inheritance diagram for clang::ento::ExplodedNode:
[legend]

Public Types

using succ_iterator = ExplodedNode * const *
using succ_range = llvm::iterator_range<succ_iterator>
using const_succ_iterator = const ExplodedNode * const *
using const_succ_range = llvm::iterator_range<const_succ_iterator>
using pred_iterator = ExplodedNode * const *
using pred_range = llvm::iterator_range<pred_iterator>
using const_pred_iterator = const ExplodedNode * const *
using const_pred_range = llvm::iterator_range<const_pred_iterator>

Public Member Functions

 ExplodedNode (const ProgramPoint &loc, ProgramStateRef state, int64_t Id, bool IsSink)
ProgramPoint getLocation () const
 getLocation - Returns the edge associated with the given node.
const LocationContextgetLocationContext () const
const StackFrameContextgetStackFrame () const
const DeclgetCodeDecl () const
CFGgetCFG () const
const CFGBlockgetCFGBlock () const
const ParentMapgetParentMap () const
template<typename T>
TgetAnalysis () const
const ProgramStateRefgetState () const
template<typename T>
std::optional< TgetLocationAs () const &
SVal getSVal (const Stmt *S) const
 Get the value of an arbitrary expression at this node.
void Profile (llvm::FoldingSetNodeID &ID) const
void addPredecessor (ExplodedNode *V, ExplodedGraph &G)
 addPredeccessor - Adds a predecessor to the current node, and in tandem add this node as a successor of the other node.
unsigned succ_size () const
unsigned pred_size () const
bool succ_empty () const
bool pred_empty () const
bool isSink () const
bool hasSinglePred () const
ExplodedNodegetFirstPred ()
const ExplodedNodegetFirstPred () const
ExplodedNodegetFirstSucc ()
const ExplodedNodegetFirstSucc () const
pred_iterator pred_begin ()
pred_iterator pred_end ()
pred_range preds ()
const_pred_iterator pred_begin () const
const_pred_iterator pred_end () const
const_pred_range preds () const
succ_iterator succ_begin ()
succ_iterator succ_end ()
succ_range succs ()
const_succ_iterator succ_begin () const
const_succ_iterator succ_end () const
const_succ_range succs () const
int64_t getID () const
bool isTrivial () const
 The node is trivial if it has only one successor, only one predecessor, it's predecessor has only one successor, and its program state is the same as the program state of the previous node.
const StmtgetStmtForDiagnostics () const
 If the node's program point corresponds to a statement, retrieve that statement.
const StmtgetNextStmtForDiagnostics () const
 Find the next statement that was executed on this node's execution path.
const StmtgetPreviousStmtForDiagnostics () const
 Find the statement that was executed immediately before this node.
const StmtgetCurrentOrPreviousStmtForDiagnostics () const
 Find the statement that was executed at or immediately before this node.

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, const ProgramPoint &Loc, const ProgramStateRef &state, bool IsSink)

Friends

class BranchNodeBuilder
class CoreEngine
class EndOfFunctionNodeBuilder
class ExplodedGraph
class IndirectGotoNodeBuilder
class NodeBuilder
class SwitchNodeBuilder

Detailed Description

Definition at line 66 of file ExplodedGraph.h.

Member Typedef Documentation

◆ const_pred_iterator

Definition at line 235 of file ExplodedGraph.h.

◆ const_pred_range

Definition at line 236 of file ExplodedGraph.h.

◆ const_succ_iterator

Definition at line 229 of file ExplodedGraph.h.

◆ const_succ_range

Definition at line 230 of file ExplodedGraph.h.

◆ pred_iterator

Definition at line 232 of file ExplodedGraph.h.

◆ pred_range

Definition at line 233 of file ExplodedGraph.h.

◆ succ_iterator

Definition at line 226 of file ExplodedGraph.h.

◆ succ_range

Definition at line 227 of file ExplodedGraph.h.

Constructor & Destructor Documentation

◆ ExplodedNode()

clang::ento::ExplodedNode::ExplodedNode ( const ProgramPoint & loc,
ProgramStateRef state,
int64_t Id,
bool IsSink )
inlineexplicit

Member Function Documentation

◆ addPredecessor()

◆ getAnalysis()

template<typename T>
T & clang::ento::ExplodedNode::getAnalysis ( ) const
inline

◆ getCFG()

CFG & clang::ento::ExplodedNode::getCFG ( ) const
inline

◆ getCFGBlock()

◆ getCodeDecl()

const Decl & clang::ento::ExplodedNode::getCodeDecl ( ) const
inline

◆ getCurrentOrPreviousStmtForDiagnostics()

const Stmt * ExplodedNode::getCurrentOrPreviousStmtForDiagnostics ( ) const

Find the statement that was executed at or immediately before this node.

Useful when any nearby statement will do. If the statement belongs to a body-farmed definition, retrieve the call site for that definition.

Definition at line 385 of file ExplodedGraph.cpp.

References getPreviousStmtForDiagnostics(), and getStmtForDiagnostics().

◆ getFirstPred() [1/2]

◆ getFirstPred() [2/2]

const ExplodedNode * clang::ento::ExplodedNode::getFirstPred ( ) const
inline

Definition at line 213 of file ExplodedGraph.h.

References ExplodedNode(), and getFirstPred().

◆ getFirstSucc() [1/2]

◆ getFirstSucc() [2/2]

const ExplodedNode * clang::ento::ExplodedNode::getFirstSucc ( ) const
inline

Definition at line 221 of file ExplodedGraph.h.

References ExplodedNode(), and getFirstSucc().

◆ getID()

int64_t clang::ento::ExplodedNode::getID ( ) const
inline

◆ getLocation()

ProgramPoint clang::ento::ExplodedNode::getLocation ( ) const
inline

getLocation - Returns the edge associated with the given node.

Definition at line 145 of file ExplodedGraph.h.

Referenced by alreadyExecutedAtLeastOneLoopIteration(), clang::ento::bugreporter::StoreHandler::constructNote(), clang::ento::CoreEngine::dispatchWorkItem(), clang::ento::WorkList::enqueue(), clang::ento::CoreEngine::enqueueStmtNode(), clang::ento::CoreEngine::ExecuteWorkList(), exitingDestructor(), GetAllocationSite(), getCFGBlock(), getInlinedLocationContext(), getLastStmt(), getLocationContext(), clang::ento::CheckerContext::getLocationRegionIfPostStore(), clang::ento::StackHintGeneratorForSymbol::getMessage(), getNextStmtForDiagnostics(), llvm::DOTGraphTraits< ExplodedGraph * >::getNodeLabel(), getStackFrame(), getStmtBeforeCond(), getStmtForDiagnostics(), clang::ento::madeNewBranch(), llvm::DOTGraphTraits< ExplodedGraph * >::nodeHasBugReport(), peelOffOuterExpr(), clang::ento::ExprEngine::processEndOfFunction(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), shouldRemoveDeadBindings(), clang::ento::ExplodedGraph::trim(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), clang::ento::TagVisitor::VisitNode(), clang::ento::TrackConstraintBRVisitor::VisitNode(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ento::ConditionBRVisitor::VisitNodeImpl(), and clang::ento::ExprEngine::VisitObjCMessage().

◆ getLocationAs()

◆ getLocationContext()

const LocationContext * clang::ento::ExplodedNode::getLocationContext ( ) const
inline

Definition at line 147 of file ExplodedGraph.h.

References getLocation(), and clang::ProgramPoint::getLocationContext().

Referenced by assumeCondition(), clang::ento::retaincountchecker::RetainCountChecker::checkEndFunction(), constructDebugPieceForTrackedCondition(), clang::ento::ExprEngine::ConstructInitList(), clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::CoreEngine::dispatchWorkItem(), clang::ento::CoreEngine::enqueueStmtNode(), exitingDestructor(), clang::ento::LikelyFalsePositiveSuppressionBRVisitor::finalizeVisitor(), findExecutedLines(), clang::ento::BranchNodeBuilder::generateNode(), clang::ento::StmtNodeBuilder::generateNode(), clang::ento::StmtNodeBuilder::generateSink(), GetAllocationSite(), getAnalysis(), getArgumentValueString(), getCFG(), getCFGBlock(), getCodeDecl(), clang::ento::PathSensitiveBugReport::getDeclWithIssue(), getLocationRegionIfReference(), llvm::DOTGraphTraits< ExplodedGraph * >::getNodeLabel(), getParentMap(), getStmtForDiagnostics(), getSVal(), getSValForVar(), clang::ento::ExprEngine::handleUOExtension(), clang::ento::isCapturedByReference(), isInitializationOfVar(), clang::ento::isPossiblyEscaped(), clang::ento::ConditionBRVisitor::patternMatch(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::ProcessBaseDtor(), clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::processCFGBlockEntrance(), clang::ento::ExprEngine::processCleanupTemporaryBranch(), clang::ento::ExprEngine::ProcessDeleteDtor(), clang::ento::ExprEngine::processEndOfFunction(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessLoopExit(), clang::ento::ExprEngine::ProcessMemberDtor(), clang::ento::ExprEngine::ProcessNewAllocator(), clang::ento::retaincountchecker::RetainCountChecker::processObjCLiterals(), clang::ento::ExprEngine::ProcessStmt(), clang::ento::ExprEngine::ProcessTemporaryDtor(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), clang::ento::ExprEngine::removeDeadOnEndOfFunction(), clang::ento::CheckerManager::runCheckersForEndFunction(), clang::ento::CheckerManager::runCheckersForEvalCall(), timeTraceMetadata(), clang::ento::updateLoopStack(), clang::ento::ExprEngine::Visit(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ConditionBRVisitor::VisitConditionVariable(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitGCCAsmStmt(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), clang::ento::ExprEngine::VisitLambdaExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::NilReceiverBRVisitor::VisitNode(), clang::ento::NoStateChangeFuncVisitor::VisitNode(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitObjCMessage(), clang::ento::ExprEngine::VisitOffsetOfExpr(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::ConditionBRVisitor::VisitTrueTest(), and clang::ento::NoOwnershipChangeVisitor::wasModifiedInFunction().

◆ getNextStmtForDiagnostics()

const Stmt * ExplodedNode::getNextStmtForDiagnostics ( ) const

Find the next statement that was executed on this node's execution path.

Useful for explaining control flow that follows the current node. If the statement belongs to a body-farmed definition, retrieve the call site for that definition.

Definition at line 348 of file ExplodedGraph.cpp.

References clang::cast(), ExplodedNode(), getFirstSucc(), getLocation(), getStmtForDiagnostics(), and clang::ProgramPoint::isPurgeKind().

Referenced by findReasonableStmtCloseToFunctionExit().

◆ getParentMap()

const ParentMap & clang::ento::ExplodedNode::getParentMap ( ) const
inline

Definition at line 161 of file ExplodedGraph.h.

References getLocationContext(), and clang::LocationContext::getParentMap().

Referenced by findExecutedLines().

◆ getPreviousStmtForDiagnostics()

const Stmt * ExplodedNode::getPreviousStmtForDiagnostics ( ) const

Find the statement that was executed immediately before this node.

Useful when the node corresponds to a CFG block entrance. If the statement belongs to a body-farmed definition, retrieve the call site for that definition.

Definition at line 377 of file ExplodedGraph.cpp.

References ExplodedNode(), getFirstPred(), getStmtForDiagnostics(), and clang::isa().

Referenced by findReasonableStmtCloseToFunctionExit(), and getCurrentOrPreviousStmtForDiagnostics().

◆ getStackFrame()

◆ getState()

const ProgramStateRef & clang::ento::ExplodedNode::getState ( ) const
inline

Definition at line 169 of file ExplodedGraph.h.

Referenced by annotateConsumedSummaryMismatch(), annotateStartParameter(), assumeCondition(), clang::ento::mpi::MPIChecker::checkDoubleNonblocking(), clang::ento::retaincountchecker::RetainCountChecker::checkEndFunction(), clang::ento::mpi::MPIChecker::checkMissingWaits(), clang::ento::retaincountchecker::RetainCountChecker::checkPostStmt(), clang::ento::mpi::MPIChecker::checkUnmatchedWaits(), clang::ento::ExprEngine::ConstructInitList(), clang::ento::ExprEngine::CreateCXXTemporaryObject(), clang::ento::ExprEngine::defaultEvalCall(), clang::ento::CoreEngine::enqueueStmtNode(), GetAllocationSite(), getAllVarBindingsForSymbol(), getArgumentValueString(), clang::ento::retaincountchecker::RefLeakReportVisitor::getEndPath(), clang::ento::errno_modeling::getErrnoNoteTag(), getLocationRegionIfReference(), clang::ento::StackHintGeneratorForSymbol::getMessage(), clang::ento::NilReceiverBRVisitor::getNilReceiver(), llvm::DOTGraphTraits< ExplodedGraph * >::getNodeLabel(), getSVal(), getSValForVar(), clang::ento::ExprEngine::handleUOExtension(), hasVisibleUpdate(), isInitializationOfVar(), isTrivial(), llvm::DOTGraphTraits< ExplodedGraph * >::nodeHasBugReport(), clang::ento::ConditionBRVisitor::patternMatch(), clang::ento::ExprEngine::ProcessAutomaticObjDtor(), clang::ento::ExprEngine::ProcessBaseDtor(), clang::ento::ExprEngine::processBranch(), clang::ento::ExprEngine::processCallEnter(), clang::ento::ExprEngine::processCallExit(), clang::ento::ExprEngine::processCFGBlockEntrance(), clang::ento::ExprEngine::processCleanupTemporaryBranch(), clang::ento::ExprEngine::ProcessDeleteDtor(), clang::ento::ExprEngine::processEndOfFunction(), clang::ento::ExprEngine::ProcessInitializer(), clang::ento::ExprEngine::ProcessLoopExit(), clang::ento::ExprEngine::ProcessMemberDtor(), clang::ento::ExprEngine::ProcessNewAllocator(), clang::ento::ExprEngine::ProcessTemporaryDtor(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), REGISTER_TRAIT_WITH_PROGRAMSTATE(), clang::ento::ExprEngine::removeDead(), clang::ento::SuppressInlineDefensiveChecksVisitor::SuppressInlineDefensiveChecksVisitor(), clang::ento::updateLoopStack(), clang::ento::ExprEngine::Visit(), clang::ento::ExprEngine::VisitBlockExpr(), clang::ento::ExprEngine::VisitCallExpr(), clang::ento::ExprEngine::VisitCast(), clang::ento::ExprEngine::VisitCommonDeclRefExpr(), clang::ento::ExprEngine::VisitCompoundLiteralExpr(), clang::ento::ExprEngine::VisitCXXCatchStmt(), clang::ento::ExprEngine::VisitCXXDeleteExpr(), clang::ento::ExprEngine::VisitCXXDestructor(), clang::ento::ExprEngine::VisitCXXNewAllocatorCall(), clang::ento::ExprEngine::VisitCXXNewExpr(), clang::ento::ExprEngine::VisitCXXThisExpr(), clang::ento::ExprEngine::VisitDeclStmt(), clang::ento::ExprEngine::VisitGCCAsmStmt(), clang::ento::ExprEngine::VisitGuardedExpr(), clang::ento::ExprEngine::VisitIncrementDecrementOperator(), clang::ento::ExprEngine::VisitLambdaExpr(), clang::ento::ExprEngine::VisitLogicalExpr(), clang::ento::ExprEngine::VisitLvalObjCIvarRefExpr(), clang::ento::ExprEngine::VisitMSAsmStmt(), clang::ento::NoStateChangeFuncVisitor::VisitNode(), clang::ento::retaincountchecker::RefCountReportVisitor::VisitNode(), clang::ento::SuppressInlineDefensiveChecksVisitor::VisitNode(), clang::ento::UndefOrNullArgVisitor::VisitNode(), clang::ento::ExprEngine::VisitObjCForCollectionStmt(), clang::ento::ExprEngine::VisitObjCMessage(), clang::ento::ExprEngine::VisitOffsetOfExpr(), clang::ento::ConditionBRVisitor::VisitTrueTest(), clang::ento::NoOwnershipChangeVisitor::wasModifiedInFunction(), and wasRegionOfInterestModifiedAt().

◆ getStmtForDiagnostics()

const Stmt * ExplodedNode::getStmtForDiagnostics ( ) const

If the node's program point corresponds to a statement, retrieve that statement.

Useful for figuring out where to put a warning or a note. If the statement belongs to a body-farmed definition, retrieve the call site for that definition.

Definition at line 317 of file ExplodedGraph.cpp.

References clang::cast(), findTopAutosynthesizedParentContext(), clang::LocationContext::getAnalysisDeclContext(), clang::ProgramPoint::getAs(), getLocation(), getLocationContext(), and clang::AnalysisDeclContext::isBodyAutosynthesized().

Referenced by findExecutedLines(), findNodeForExpression(), getCFGBlock(), getCurrentOrPreviousStmtForDiagnostics(), getNextStmtForDiagnostics(), getPreviousStmtForDiagnostics(), and clang::ento::isPossiblyEscaped().

◆ getSVal()

◆ hasSinglePred()

bool clang::ento::ExplodedNode::hasSinglePred ( ) const
inline

Definition at line 205 of file ExplodedGraph.h.

References pred_size().

Referenced by clang::ento::CoreEngine::dispatchWorkItem().

◆ isSink()

◆ isTrivial()

bool ExplodedNode::isTrivial ( ) const

The node is trivial if it has only one successor, only one predecessor, it's predecessor has only one successor, and its program state is the same as the program state of the previous node.

Trivial nodes may be skipped while printing exploded graph.

Definition at line 281 of file ExplodedGraph.cpp.

References getFirstPred(), getState(), pred_size(), and succ_size().

Referenced by llvm::DOTGraphTraits< ExplodedGraph * >::isNodeHidden(), and llvm::GraphTraits< clang::ento::ExplodedGraph * >::predecessorOfTrivial().

◆ pred_begin() [1/2]

pred_iterator clang::ento::ExplodedNode::pred_begin ( )
inline

◆ pred_begin() [2/2]

const_pred_iterator clang::ento::ExplodedNode::pred_begin ( ) const
inline

Definition at line 242 of file ExplodedGraph.h.

References ExplodedNode(), and pred_begin().

◆ pred_empty()

bool clang::ento::ExplodedNode::pred_empty ( ) const
inline

◆ pred_end() [1/2]

pred_iterator clang::ento::ExplodedNode::pred_end ( )
inline

Definition at line 239 of file ExplodedGraph.h.

Referenced by pred_end().

◆ pred_end() [2/2]

const_pred_iterator clang::ento::ExplodedNode::pred_end ( ) const
inline

Definition at line 245 of file ExplodedGraph.h.

References ExplodedNode(), and pred_end().

◆ pred_size()

unsigned clang::ento::ExplodedNode::pred_size ( ) const
inline

◆ preds() [1/2]

pred_range clang::ento::ExplodedNode::preds ( )
inline

Definition at line 240 of file ExplodedGraph.h.

Referenced by alreadyExecutedAtLeastOneLoopIteration().

◆ preds() [2/2]

const_pred_range clang::ento::ExplodedNode::preds ( ) const
inline

Definition at line 248 of file ExplodedGraph.h.

◆ Profile() [1/2]

void clang::ento::ExplodedNode::Profile ( llvm::FoldingSetNodeID & ID) const
inline

Definition at line 189 of file ExplodedGraph.h.

References isSink(), and Profile().

◆ Profile() [2/2]

void clang::ento::ExplodedNode::Profile ( llvm::FoldingSetNodeID & ID,
const ProgramPoint & Loc,
const ProgramStateRef & state,
bool IsSink )
inlinestatic

Definition at line 180 of file ExplodedGraph.h.

Referenced by clang::ento::ExplodedGraph::getNode(), and Profile().

◆ succ_begin() [1/2]

succ_iterator clang::ento::ExplodedNode::succ_begin ( )
inline

◆ succ_begin() [2/2]

const_succ_iterator clang::ento::ExplodedNode::succ_begin ( ) const
inline

Definition at line 254 of file ExplodedGraph.h.

References ExplodedNode(), and succ_begin().

◆ succ_empty()

bool clang::ento::ExplodedNode::succ_empty ( ) const
inline

Definition at line 200 of file ExplodedGraph.h.

Referenced by getFirstSucc().

◆ succ_end() [1/2]

succ_iterator clang::ento::ExplodedNode::succ_end ( )
inline

◆ succ_end() [2/2]

const_succ_iterator clang::ento::ExplodedNode::succ_end ( ) const
inline

Definition at line 257 of file ExplodedGraph.h.

References ExplodedNode(), and succ_end().

◆ succ_size()

◆ succs() [1/2]

succ_range clang::ento::ExplodedNode::succs ( )
inline

Definition at line 252 of file ExplodedGraph.h.

◆ succs() [2/2]

const_succ_range clang::ento::ExplodedNode::succs ( ) const
inline

Definition at line 260 of file ExplodedGraph.h.

◆ BranchNodeBuilder

friend class BranchNodeBuilder
friend

Definition at line 67 of file ExplodedGraph.h.

References BranchNodeBuilder.

Referenced by BranchNodeBuilder.

◆ CoreEngine

friend class CoreEngine
friend

Definition at line 68 of file ExplodedGraph.h.

References CoreEngine.

Referenced by CoreEngine.

◆ EndOfFunctionNodeBuilder

friend class EndOfFunctionNodeBuilder
friend

Definition at line 69 of file ExplodedGraph.h.

References EndOfFunctionNodeBuilder.

Referenced by EndOfFunctionNodeBuilder.

◆ ExplodedGraph

friend class ExplodedGraph
friend

Definition at line 70 of file ExplodedGraph.h.

References ExplodedGraph.

Referenced by addPredecessor(), and ExplodedGraph.

◆ IndirectGotoNodeBuilder

friend class IndirectGotoNodeBuilder
friend

Definition at line 71 of file ExplodedGraph.h.

References IndirectGotoNodeBuilder.

Referenced by IndirectGotoNodeBuilder.

◆ NodeBuilder

friend class NodeBuilder
friend

Definition at line 72 of file ExplodedGraph.h.

References NodeBuilder.

Referenced by NodeBuilder.

◆ SwitchNodeBuilder

friend class SwitchNodeBuilder
friend

Definition at line 73 of file ExplodedGraph.h.

References SwitchNodeBuilder.

Referenced by SwitchNodeBuilder.


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