constants

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2026 License: GPL-3.0 Imports: 1 Imported by: 0

Documentation

Overview

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer. All type constants should be defined here and imported by other packages.

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer.

Package constants provides centralized type constants for the tracer.

Index

Constants

View Source
const (
	LabelHTTPGet     = core.LabelHTTPGet
	LabelHTTPPost    = core.LabelHTTPPost
	LabelHTTPCookie  = core.LabelHTTPCookie
	LabelHTTPHeader  = core.LabelHTTPHeader
	LabelHTTPBody    = core.LabelHTTPBody
	LabelCLI         = core.LabelCLI
	LabelEnvironment = core.LabelEnvironment
	LabelFile        = core.LabelFile
	LabelDatabase    = core.LabelDatabase
	LabelNetwork     = core.LabelNetwork
	LabelUserInput   = core.LabelUserInput
)

Re-export InputLabel constants from core for backward compatibility.

Variables

This section is empty.

Functions

This section is empty.

Types

type CallGraphNodeType

type CallGraphNodeType int

CallGraphNodeType represents the type of a call graph node

const (
	CGNodeTypeRegular    CallGraphNodeType = iota
	CGNodeTypeEntryPoint                   // HTTP handlers, main functions, CLI entry points
	CGNodeTypeSource                       // Input source functions
)

type ConditionEffect

type ConditionEffect string

ConditionEffect describes how a condition affects data flow

const (
	EffectAllows  ConditionEffect = "allows" // Condition allows flow if true
	EffectBlocks  ConditionEffect = "blocks" // Condition blocks flow if true
	EffectUnknown ConditionEffect = "unknown"
)

type ConditionType

type ConditionType string

ConditionType classifies the type of condition

const (
	CondTypeComparison  ConditionType = "comparison"   // ==, !=, <, >, etc.
	CondTypeNullCheck   ConditionType = "null_check"   // isset, empty, is_null
	CondTypeTypeCheck   ConditionType = "type_check"   // is_string, instanceof
	CondTypeLengthCheck ConditionType = "length_check" // strlen, count
	CondTypeLogical     ConditionType = "logical"      // &&, ||, !
	CondTypeUnknown     ConditionType = "unknown"
)

type FlowEdgeType

type FlowEdgeType string

FlowEdgeType represents how data flows between nodes

const (
	EdgeAssignment  FlowEdgeType = "assignment"  // $x = $y
	EdgeParameter   FlowEdgeType = "parameter"   // func($x)
	EdgeReturn      FlowEdgeType = "return"      // return $x
	EdgeProperty    FlowEdgeType = "property"    // $obj->prop = $x
	EdgeArraySet    FlowEdgeType = "array_set"   // $arr['key'] = $x
	EdgeArrayGet    FlowEdgeType = "array_get"   // $x = $arr['key']
	EdgeMethodCall  FlowEdgeType = "method_call" // $obj->method($x)
	EdgeConstructor FlowEdgeType = "constructor" // new Class($x)
	EdgeFramework   FlowEdgeType = "framework"   // Framework-specific flow
	EdgeConcatenate FlowEdgeType = "concatenate" // $x . $y
	EdgeDestructure FlowEdgeType = "destructure" // const {a, b} = obj
	EdgeIteration   FlowEdgeType = "iteration"   // foreach/for loop
	EdgeConditional FlowEdgeType = "conditional" // if/else branch
	EdgeCall        FlowEdgeType = "call"        // Function call
	EdgeDataFlow    FlowEdgeType = "data_flow"   // Generic data flow
)

type FlowNodeType

type FlowNodeType string

FlowNodeType represents the type of a node in the data flow graph

const (
	NodeSource   FlowNodeType = "source"   // Original input source (e.g., $_GET, req.body)
	NodeCarrier  FlowNodeType = "carrier"  // Object/variable that holds user data
	NodeVariable FlowNodeType = "variable" // Regular variable in the flow
	NodeFunction FlowNodeType = "function" // Function/method call
	NodeProperty FlowNodeType = "property" // Object property access
	NodeParam    FlowNodeType = "param"    // Function parameter
	NodeReturn   FlowNodeType = "return"   // Return value
)

type InputLabel

type InputLabel = core.InputLabel

InputLabel categorizes the type of user input. This is a type alias — the canonical definition lives in pkg/sources/core.

type PathNodeType

type PathNodeType string

PathNodeType represents the type of a path node

const (
	PathNodeSource    PathNodeType = "source"    // Input source
	PathNodeCall      PathNodeType = "call"      // Function call
	PathNodeReturn    PathNodeType = "return"    // Return from function
	PathNodeAssign    PathNodeType = "assign"    // Variable assignment
	PathNodeCondition PathNodeType = "condition" // Conditional branch
	PathNodeTransform PathNodeType = "transform" // Data transformation
)

type PropagationStepType

type PropagationStepType string

PropagationStepType defines the type of propagation step

const (
	StepAssignment            PropagationStepType = "assignment"
	StepParameterPass         PropagationStepType = "parameter_pass"
	StepReturn                PropagationStepType = "return"
	StepInterproceduralReturn PropagationStepType = "interprocedural_return"
	StepConcatenation         PropagationStepType = "concatenation"
	StepArrayAccess           PropagationStepType = "array_access"
	StepObjectAccess          PropagationStepType = "object_access"
	StepDestructure           PropagationStepType = "destructure"
)

type PruneReason

type PruneReason string

PruneReason explains why a path was pruned

const (
	PruneNone        PruneReason = ""
	PruneMaxDepth    PruneReason = "max_depth_exceeded"
	PruneCycle       PruneReason = "cycle_detected"
	PruneInfeasible  PruneReason = "infeasible_condition"
	PruneDead        PruneReason = "dead_code"
	PruneUnreachable PruneReason = "unreachable"
	PruneLowPriority PruneReason = "low_priority"
)

type ScopeType

type ScopeType string

ScopeType represents the type of scope

const (
	ScopeGlobal   ScopeType = "global"
	ScopeFile     ScopeType = "file"
	ScopeModule   ScopeType = "module"
	ScopeClass    ScopeType = "class"
	ScopeFunction ScopeType = "function"
	ScopeBlock    ScopeType = "block"
)

type SymbolType

type SymbolType string

SymbolType represents the type of a code symbol

const (
	SymbolFunction  SymbolType = "function"
	SymbolMethod    SymbolType = "method"
	SymbolClass     SymbolType = "class"
	SymbolInterface SymbolType = "interface"
	SymbolVariable  SymbolType = "variable"
	SymbolConstant  SymbolType = "constant"
	SymbolProperty  SymbolType = "property"
	SymbolParameter SymbolType = "parameter"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL