CodeSigUtils

mill.internal.CodeSigUtils
object CodeSigUtils

Attributes

Source
CodeSigUtils.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def allMethodSignatures(namedTask: Named[_], classToTransitiveClasses: Map[Class[_], IndexedSeq[Class[_]]], allTransitiveClassMethods: Map[Class[_], Map[String, Method]], constructorHashSignatures: Map[String, Seq[(String, Int)]]): Seq[String]

Returns all method signatures relevant to a task: task method + constructor signatures. Used for both code signature computation and invalidation tree building.

Returns all method signatures relevant to a task: task method + constructor signatures. Used for both code signature computation and invalidation tree building.

Constructor signatures are included because when a module's constructor changes, all tasks in that module need to be invalidated. The signature format matches the codesig tree format: "className# (params)void"

Value parameters

constructorHashSignatures

Pre-computed map from class name to constructor signatures.

Attributes

Source
CodeSigUtils.scala
def codeSigForTask(namedTask: => Named[_], classToTransitiveClasses: => Map[Class[_], IndexedSeq[Class[_]]], allTransitiveClassMethods: => Map[Class[_], Map[String, Method]], codeSignatures: => Map[String, Int], constructorHashSignatures: => Map[String, Seq[(String, Int)]]): Iterable[Int]

Attributes

Source
CodeSigUtils.scala
def constructorHashSignatures(codeSignatures: Map[String, Int]): Map[String, Seq[(String, Int)]]

Attributes

Source
CodeSigUtils.scala
def enclosingModules(namedTask: Named[_]): Vector[Module]

Returns all enclosing modules for a task, from innermost to outermost. Used by both codeSigForTask and moduleAccessorSignatures.

Returns all enclosing modules for a task, from innermost to outermost. Used by both codeSigForTask and moduleAccessorSignatures.

Attributes

Source
CodeSigUtils.scala
def precomputeMethodNamesPerClass(transitiveNamed: Seq[Named[_]]): (Map[Class[_], IndexedSeq[Class[_]]], Map[Class[_], Map[String, Method]])

Attributes

Source
CodeSigUtils.scala