pub enum DataflowKind {
Show 37 variants
Definition,
Use,
Mutation,
Return,
Param,
Yield,
ComprehensionVar,
LambdaParam,
Global,
Nonlocal,
NestedParam,
ClosureCapture,
Goroutine,
ChannelSend,
ChannelReceive,
Defer,
TypeAssertion,
Panic,
Recover,
ErrorAssign,
ErrorCheck,
NamedReturnModify,
ChannelMake,
ChannelCloseDfg,
SelectReceive,
SelectSend,
MutexLock,
MutexUnlock,
WaitGroupAdd,
WaitGroupDone,
WaitGroupWait,
OnceDo,
ContextDone,
ContextErr,
ContextValue,
PoolGet,
PoolPut,
}Expand description
Kind of data flow.
Variants§
Definition
Variable is defined
Use
Variable is read
Mutation
Variable is mutated
Return
Value is returned
Param
Function parameter
Yield
Value is yielded from generator
ComprehensionVar
Comprehension-scoped variable (does not leak to outer scope in Python 3)
LambdaParam
Lambda parameter (scoped to lambda body)
Global
BUG-017 FIX: Variable declared as global (references module-level scope)
Nonlocal
BUG-017 FIX: Variable declared as nonlocal (references enclosing function scope)
NestedParam
Nested function parameter (scoped to nested function body, used for closure analysis)
ClosureCapture
Closure capture: use of outer variable from within nested function
Goroutine
Go: Variable captured/used in goroutine (go func() {…})
ChannelSend
Go: Channel send operation (ch <- val)
ChannelReceive
Go: Channel receive operation (val := <-ch)
Defer
Go: Deferred call (defer f())
TypeAssertion
Go: Type assertion (x.(Type))
Panic
Go: Panic call (panic(err))
Recover
Go: Recover call in deferred function (recover())
ErrorAssign
Go: Error value assigned (err := …)
ErrorCheck
Go: Error check (if err != nil)
NamedReturnModify
Go: Named return value modified in defer
ChannelMake
Go: Channel creation (make(chan T) or make(chan T, size))
ChannelCloseDfg
Go: Channel close operation (close(ch))
SelectReceive
Go: Select statement receive (case val := <-ch:)
SelectSend
Go: Select statement send (case ch <- val:)
MutexLock
Go: Mutex lock (mu.Lock() or mu.RLock())
MutexUnlock
Go: Mutex unlock (mu.Unlock() or mu.RUnlock())
WaitGroupAdd
Go: WaitGroup.Add() operation
WaitGroupDone
Go: WaitGroup.Done() operation
WaitGroupWait
Go: WaitGroup.Wait() synchronization point
OnceDo
Go: sync.Once.Do() call
ContextDone
Go: Context.Done() check for cancellation
ContextErr
Go: Context.Err() check for cancellation reason
ContextValue
Go: Context.Value() retrieval
PoolGet
Go: sync.Pool.Get()
PoolPut
Go: sync.Pool.Put()
Trait Implementations§
Source§impl Clone for DataflowKind
impl Clone for DataflowKind
Source§fn clone(&self) -> DataflowKind
fn clone(&self) -> DataflowKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DataflowKind
impl Debug for DataflowKind
Source§impl<'de> Deserialize<'de> for DataflowKind
impl<'de> Deserialize<'de> for DataflowKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for DataflowKind
impl PartialEq for DataflowKind
Source§impl Serialize for DataflowKind
impl Serialize for DataflowKind
impl Copy for DataflowKind
impl Eq for DataflowKind
impl StructuralPartialEq for DataflowKind
Auto Trait Implementations§
impl Freeze for DataflowKind
impl RefUnwindSafe for DataflowKind
impl Send for DataflowKind
impl Sync for DataflowKind
impl Unpin for DataflowKind
impl UnwindSafe for DataflowKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request