JdkJarTypeSolver

io.joern.javasrc2cpg.typesolvers.JdkJarTypeSolver
See theJdkJarTypeSolver companion class

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def fromJdkPath(jdkPath: String, useCache: Boolean): JdkJarTypeSolver
def packagePrefixForJarEntry(entryName: String): String

Convert Jar entry name foo/bar/qux/Baz.class to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Convert Jar entry name foo/bar/qux/Baz.class to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Attributes

def packagePrefixForJavaParserName(className: String): String

Convert JavaParser class name foo.bar.qux.Baz to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Convert JavaParser class name foo.bar.qux.Baz to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Attributes

def packagePrefixForJmodEntry(entryName: String): String

Convert jmod entry name classes/foo/bar/qux/Baz.class to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Convert jmod entry name classes/foo/bar/qux/Baz.class to package prefix foo.bar Only use first 2 parts since this is sufficient to deterimine whether a class has been registered in most cases and, if not, the failure is just a slow lookup.

Attributes

def possibleStandardNamesForJavaParser(javaParserName: String): List[String]

JavaParser replaces the $ in nested class names with a .. This means that we cannot know what the standard type full name is for JavaParser names with multiple parts, so this method returns all possibilities, for example for a.b.Foo.Bar, it will return:

JavaParser replaces the $ in nested class names with a .. This means that we cannot know what the standard type full name is for JavaParser names with multiple parts, so this method returns all possibilities, for example for a.b.Foo.Bar, it will return:

  • a.b.Foo.Bar
  • a.b.Foo$Bar
  • a.b$Foo$Bar
  • a$b$Foo$Bar

Attributes

Concrete fields

val ClassExtension: String
val JarExtension: String
val JmodClassPrefix: String
val JmodExtension: String

Extensions

Extensions

extension (path: String)
def isJarPath: Boolean
def isJmodPath: Boolean