mill.codesig

package mill.codesig

Members list

Type members

Classlikes

class CallGraphAnalysis(localSummary: LocalSummary, resolved: ResolvedCalls, externalSummary: ExternalSummary, ignoreCall: (Option[MethodDef], MethodSig) => Boolean, logger: Logger, prevTransitiveCallGraphHashesOpt: () => Option[Map[String, Int]])(using st: SymbolTable)

Attributes

Companion
object
Source
ReachabilityAnalysis.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion
class
Source
ReachabilityAnalysis.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object CodeSig

Attributes

Source
CodeSig.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CodeSig.type
case class ExternalSummary(directMethods: Map[Cls, Map[MethodSig, Boolean]], directAncestors: Map[Cls, Set[Cls]], directSuperclasses: Map[Cls, Cls])

Attributes

Companion
object
Source
ExternalSummary.scala
Supertypes
trait Serializable
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Walks the inheritance hierarchy of all classes that we extend in user code but are defined externally, in order to discover all methods defined on those external classes that have the potential to be over-ridden by user-defined classes

Walks the inheritance hierarchy of all classes that we extend in user code but are defined externally, in order to discover all methods defined on those external classes that have the potential to be over-ridden by user-defined classes

Attributes

Companion
class
Source
ExternalSummary.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
object JvmModel

Attributes

Source
JvmModel.scala
Supertypes
class Object
trait Matchable
class Any
Self type
JvmModel.type
case class LocalSummary(items: Map[Cls, ClassInfo])

Attributes

Companion
object
Source
LocalSummary.scala
Supertypes
trait Serializable
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object LocalSummary

Parses over the Java bytecode and creates a LocalSummary object which contains the key information needed for call-graph analysis and method hash computation.

Parses over the Java bytecode and creates a LocalSummary object which contains the key information needed for call-graph analysis and method hash computation.

Attributes

Companion
class
Source
LocalSummary.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
class Logger(mandatoryLogFolder: Path, logFolder: Option[Path])

Attributes

Source
Logger.scala
Supertypes
class Object
trait Matchable
class Any
case class ResolvedCalls(localCalls: Map[MethodCall, MethodCallInfo], externalClassLocalDests: Map[Cls, (Set[Cls], Set[MethodSig])], classSingleAbstractMethods: Map[Cls, Set[MethodSig]])

Attributes

Companion
object
Source
ResolvedCalls.scala
Supertypes
trait Serializable
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object ResolvedCalls

Traverses the call graph and inheritance hierarchy summaries produced by LocalSummary and ExternalSummary to resolve method calls to their potential destinations and compute transitive properties of the call graph

Traverses the call graph and inheritance hierarchy summaries produced by LocalSummary and ExternalSummary to resolve method calls to their potential destinations and compute transitive properties of the call graph

Attributes

Companion
class
Source
ResolvedCalls.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type