Documentation ¶
Overview ¶
Package visitor contains walker.visitor implementations
Package visitor contains walker.visitor implementations ¶
Package visitor contains walker.visitor implementations ¶
Package visitor contains walker.visitor implementations ¶
Package visitor contains walker.visitor implementations ¶
Package visitor contains walker.visitor implementations ¶
Package visitor contains walker.visitor implementations
Index ¶
- Constants
- Variables
- func ClearArgsType()
- func ClearAssigns()
- func ClearGlobalArgs()
- func ClearScopes()
- func ClearUsedTraits()
- func Contains(s []string, str string) bool
- func ExistWaitQueue(holdon Vd, file string) bool
- func GetHashStmts(nodes []node.Node) [16]byte
- func LocalProcessStringExpr(file string, n node.Node, pat int, curcls int) string
- func NodeSource(n *node.Node) string
- func ProcessStringExpr(n node.Node, pat int) string
- func Set_local_var_assign(file string, var_name string, value string)
- type ConstWalker
- type CsaDumper
- type DefWalker
- type Dumper
- type IncludeWalker
- type Localvardep
- type Lvd
- type Namespace
- type NamespaceResolver
- func (nsr *NamespaceResolver) AddAlias(useType string, nn node.Node, prefix []node.Node)
- func (nsr *NamespaceResolver) AddNamespacedName(nn node.Node, nodeName string)
- func (nsr *NamespaceResolver) EnterNode(w walker.Walkable) bool
- func (nsr *NamespaceResolver) GetChildrenVisitor(key string) walker.Visitor
- func (nsr *NamespaceResolver) LeaveNode(w walker.Walkable)
- func (nsr *NamespaceResolver) ResolveName(nameNode node.Node, aliasType string)
- func (nsr *NamespaceResolver) ResolveType(n node.Node)
- type TrackWalker
- type VarWalker
- type Vardep
- type VariableTree
- type Vd
Constants ¶
const Alpha = "abcdefghijklmnopqrstuvwxyz"
Variables ¶
var Actions = make(map[string]map[string]bool)
///// hashmap for WP
var ArgsType = make(map[string]string)
var Assigns map[string]st
var CG = make(map[string]string)
var CName string = "" // hold the name of class
var CallGCString = 0
var_functionality
var Children = make(map[string]map[string]bool) // hold a reverse mapping between sub-class and parent class
var ClassDefinitions map[string]bool
var ClassInstances map[string]bool
var Classes = make(map[string][]string)
var Constants *map[string]st
var Curcls = -1
var Currentcls = -1
var Dyn_func_call = 0
var Dyn_inc = 0
var Dyn_ins = 0
var DynamicIncludes map[string]bool
var Exists = struct{}{}
var Extends = make(map[string]string) // hold a mapping between parent class and sub-class
/ handle inheritance in method/function invokes
var File string
var Funcfilemap = make(map[string]string)
var FunctionCalls map[string]bool
var Functions = make(map[string][]int)
var Globalvars = make(map[string]bool)
var ImplementedIntface map[string][]string
var Improved_vartrack = false
var Includes map[string][]string
var IntExtends = make(map[string]map[string]bool) // hold a mapping between parent interface and sub-interfaces
var LocalWaitingQueue = make(map[string][]Lvd)
var Methfilemap = make(map[string]string)
var MethodCalls map[string]bool
var MethodSummary map[string]string
var Methods = make(map[string][]int)
var NamespaceSummary map[string]string
var No_more_var = false
var NsEnable = true
var NumIncludes int = 0
var Numcalls = 0
var Regexignore = "{}[]<>#$%@!~=+? :&;,'"
var RelativePath string
var Scopes []node.Node
var ScriptDep map[string][]string
var SemiDynamicIncludes map[string]bool
var StaticIncludes map[string]bool
var Static_func_call = 0
var Static_inc = 0
var Static_ins = 0
var Total_func_call = 0
stat variables function call
var Total_inc = 0
includes
var Total_ins = 0
object init -> autoload
var Tracked_variables []string
var UnresCalls = make(map[string]string)
var UsedNamespaceSummary map[string][]string
var VarAssigns map[string]string // mapping between rhs and lhs in assignment statements
var VarForest = make(map[string]VariableTree)
var VarTrack = make(map[string]map[string]string)
var Variable_dependency map[string][]string
var WaitingQueue = make(map[string][]Vardep)
Functions ¶
func ClearArgsType ¶
func ClearArgsType()
func ClearAssigns ¶
func ClearAssigns()
func ClearGlobalArgs ¶
func ClearGlobalArgs()
func ClearScopes ¶
func ClearScopes()
func ClearUsedTraits ¶
func ClearUsedTraits()
func ExistWaitQueue ¶
func GetHashStmts ¶
func LocalProcessStringExpr ¶
func NodeSource ¶
func Set_local_var_assign ¶
Types ¶
type ConstWalker ¶
type ConstWalker struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions }
func (ConstWalker) GetChildrenVisitor ¶
func (d ConstWalker) GetChildrenVisitor(key string) walker.Visitor
GetChildrenVisitor is invoked at every node parameter that contains children nodes
func (ConstWalker) LeaveNode ¶
func (d ConstWalker) LeaveNode(w walker.Walkable)
LeaveNode is invoked after node process
type DefWalker ¶
type DefWalker struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions NsResolver *NamespaceResolver }
func (DefWalker) GetChildrenVisitor ¶
GetChildrenVisitor is invoked at every node parameter that contains children nodes
type Dumper ¶
type Dumper struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions NsResolver *NamespaceResolver }
func (Dumper) GCProcessStringExpr ¶
func (Dumper) GetChildrenVisitor ¶
GetChildrenVisitor is invoked at every node parameter that contains children nodes
type IncludeWalker ¶
type IncludeWalker struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions NsResolver *NamespaceResolver }
func (IncludeWalker) EnterNode ¶
func (d IncludeWalker) EnterNode(w walker.Walkable) bool
EnterNode is invoked at every node in hierarchy
func (IncludeWalker) GetChildrenVisitor ¶
func (d IncludeWalker) GetChildrenVisitor(key string) walker.Visitor
GetChildrenVisitor is invoked at every node parameter that contains children nodes
func (IncludeWalker) LeaveNode ¶
func (d IncludeWalker) LeaveNode(w walker.Walkable)
LeaveNode is invoked after node process
type Localvardep ¶
this one is responsible for local dependency of variables
type Lvd ¶
type Lvd = Localvardep
type Namespace ¶
Namespace context
func (*Namespace) ResolveAlias ¶
ResolveAlias returns alias or error if not found
type NamespaceResolver ¶
NamespaceResolver visitor
func NewNamespaceResolver ¶
func NewNamespaceResolver() *NamespaceResolver
NewNamespaceResolver NamespaceResolver type constructor
func (*NamespaceResolver) AddNamespacedName ¶
func (nsr *NamespaceResolver) AddNamespacedName(nn node.Node, nodeName string)
AddNamespacedName adds namespaced name by node
func (*NamespaceResolver) EnterNode ¶
func (nsr *NamespaceResolver) EnterNode(w walker.Walkable) bool
EnterNode is invoked at every node in heirerchy
func (*NamespaceResolver) GetChildrenVisitor ¶
func (nsr *NamespaceResolver) GetChildrenVisitor(key string) walker.Visitor
GetChildrenVisitor is invoked at every node parameter that contains children nodes
func (*NamespaceResolver) LeaveNode ¶
func (nsr *NamespaceResolver) LeaveNode(w walker.Walkable)
LeaveNode is invoked after node process
func (*NamespaceResolver) ResolveName ¶
func (nsr *NamespaceResolver) ResolveName(nameNode node.Node, aliasType string)
ResolveName adds a resolved fully qualified name by node
func (*NamespaceResolver) ResolveType ¶
func (nsr *NamespaceResolver) ResolveType(n node.Node)
ResolveType adds a resolved fully qualified type name
type TrackWalker ¶
type TrackWalker struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions NsResolver *NamespaceResolver }
func (TrackWalker) EnterNode ¶
func (d TrackWalker) EnterNode(w walker.Walkable) bool
EnterNode is invoked at every node in hierarchy
func (TrackWalker) GetChildrenVisitor ¶
func (d TrackWalker) GetChildrenVisitor(key string) walker.Visitor
GetChildrenVisitor is invoked at every node parameter that contains children nodes
func (TrackWalker) LeaveNode ¶
func (d TrackWalker) LeaveNode(w walker.Walkable)
LeaveNode is invoked after node process
type VarWalker ¶
type VarWalker struct { Writer io.Writer Indent string Comments parser.Comments Positions parser.Positions NsResolver *NamespaceResolver }
func (VarWalker) GetChildrenVisitor ¶
GetChildrenVisitor is invoked at every node parameter that contains children nodes
type VariableTree ¶
type VariableTree struct { Name string // variable name holder Content string // holds the content if not dynamic Dynamic bool // defines whether the variable content is dynamic or not Op string // holds the operation (usually between variables such as concat) Children []VariableTree // holds all possible value for the specific value with the name of "Name" }