 Documentation
      ¶
      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"
}