GoGlobal

io.joern.gosrc2cpg.datastructures.GoGlobal
object GoGlobal extends Global

Attributes

Graph
Supertypes
class Global
class Object
trait Matchable
class Any
Self type
GoGlobal.type

Members list

Value members

Concrete methods

def recordAliasToNamespaceMapping(alias: String, namespace: String): String
def recordFullNameToReturnType(methodFullName: String, returnType: String, signature: String): Unit
def recordStructTypeMemberType(memberFullName: String, memberType: String): Unit
def typesSeen(): List[String]

Concrete fields

val aliasToNameSpaceMapping: ConcurrentHashMap[String, String]

This map will only contain the mapping for those packages whose package name is different from the enclosing folder name

This map will only contain the mapping for those packages whose package name is different from the enclosing folder name

e.g

module namespace = joern.io/sample

folder path = <project_root>/lib

package name = fpkg

In above sample as the package name fpkg is different from lib this one will be cached in the map

Attributes

val methodFullNameReturnTypeMap: ConcurrentHashMap[String, (String, String)]
val structTypeMemberTypeMapping: ConcurrentHashMap[String, String]

Mapping fully qualified name of the member variable of a struct type to it's type It will also maintain the type mapping for package level global variables. e.g.

Mapping fully qualified name of the member variable of a struct type to it's type It will also maintain the type mapping for package level global variables. e.g.

module namespace = joern.io/sample

package sample

type Person struct{ Age int}

var ( HostURL = "http://api.sample.com" )

It will map

joern.io/sample.Person.Age - int

joern.io/sample.HostURL - string

Attributes

Inherited fields

val usedTypes: ConcurrentHashMap[String, Boolean]

Attributes

Inherited from:
Global