com.typesafe.tools.mima.core

Members list

Concise view

Type members

Classlikes

final case class AbstractClassProblem(oldclazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
sealed abstract class AbstractMethodProblem(memb: MemberInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait MemberRef
class Problem
class Object
trait Matchable
class Any
Known subtypes
object ByteCodecs

Helper methods to serialize a byte array as String that can be written as "modified" UTF-8 to classfiles.

Helper methods to serialize a byte array as String that can be written as "modified" UTF-8 to classfiles.

Modified UTF-8 is the same as UTF-8, except for 0x00, which is represented as the "overlong" 0xC0 0x80. Constant strings in classfiles use this encoding.

Encoding (according to SID-10):

  • The 8-bit bytes are split into 7-bit bytes, e.g., 0xff 0x0f becomes 0x7f 0x1f 0x00
  • Every bit is incremented by 1 (modulo 0x80), in the example we get 0x00, 0x20 0x01
  • 0x00 is mapped to the overlong encoding, so we get 0xC0 0x80 0x20 0x01

The +1 increment should reduce the number of (overlong) zeros in the resulting string, as 0x7f is (hoped to be) more common than 0x00.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class ClassfileParser

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed class ConcretePackageInfo(val owner: PackageInfo, cp: ClassPath, pkg: String, defs: Definitions) extends PackageInfo

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
final case class CyclicTypeReferenceProblem(clazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class DirectAbstractMethodProblem(newmeth: MethodInfo) extends AbstractMethodProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class DirectMissingMethodProblem(meth: MethodInfo) extends MissingMethodProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class FinalClassProblem(oldclazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class FinalMethodProblem(newmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class InaccessibleClassProblem(newclazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class InaccessibleFieldProblem(newfld: FieldInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class InaccessibleMethodProblem(newmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class IncompatibleFieldTypeProblem(oldfld: FieldInfo, newfld: FieldInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class IncompatibleMethTypeProblem(oldmeth: MethodInfo, newmeths: List[MethodInfo]) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class IncompatibleResultTypeProblem(oldmeth: MethodInfo, newmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class IncompatibleSignatureProblem(oldmeth: MethodInfo, newmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class IncompatibleTemplateDefProblem(oldclazz: ClassInfo, newclazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class InheritedNewAbstractMethodProblem(absmeth: MethodInfo, newmeth: MethodInfo) extends AbstractMethodProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
object MemberInfo

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class MemberInfo(val owner: ClassInfo, val bytecodeName: String, val flags: Int, val descriptor: String)

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
sealed abstract class MemberProblem(val ref: MemberInfo) extends Problem with MemberRef

Attributes

Graph
Supertypes
trait MemberRef
class Problem
class Object
trait Matchable
class Any
Known subtypes
trait MemberRef extends ProblemRef

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
sealed class Members[+A <: MemberInfo](val value: List[A])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object NoMembers.type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final case class MissingClassProblem(oldclazz: ClassInfo) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class MissingFieldProblem(oldfld: FieldInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
sealed abstract class MissingMethodProblem(meth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait MemberRef
class Problem
class Object
trait Matchable
class Any
Known subtypes
final case class MissingTypesProblem(newclazz: ClassInfo, missing: Iterable[ClassInfo]) extends TemplateProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Problem
class Object
trait Matchable
class Any
final case class NewMixinForwarderProblem(oldmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
object NoMembers extends Members[Nothing]

Attributes

Graph
Supertypes
class Members[Nothing]
class Object
trait Matchable
class Any
Self type
object NoPackageInfo extends PackageInfo

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class PackageInfo

Package information, including available classes and packages, and what is accessible.

Package information, including available classes and packages, and what is accessible.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final class PickleBuffer(val bytes: Array[Byte])

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class Problem extends ProblemRef

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class ReversedAbstractMethodProblem(newmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
final case class ReversedMissingMethodProblem(meth: MethodInfo) extends MissingMethodProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
class Signature(signature: String)

Attributes

Companion:
object
Graph
Supertypes
class Object
trait Matchable
class Any
object Signature

Attributes

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

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any
sealed class SyntheticPackageInfo(val owner: PackageInfo, val name: String) extends PackageInfo

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

BNF notation. Terminal symbols start with 2 upper case letters, and are represented as a single byte tag. Non-terminals are mixed case. Lower case letter prefixes, followed by an underscore, are only descriptive.

BNF notation. Terminal symbols start with 2 upper case letters, and are represented as a single byte tag. Non-terminals are mixed case. Lower case letter prefixes, followed by an underscore, are only descriptive.

Micro-syntax: Digit = 0 | ... | 127 StopDigit = 128 | ... | 255 -- value = digit - 128 LongInt = Digit* StopDigit -- big endian 2's complement, value fits in a Long w/o overflow Int = LongInt -- big endian 2's complement, fits in an Int w/o overflow Nat = LongInt -- non-negative value, fits in an Int without overflow Length = Nat -- length of rest of entry in bytes

Macro-format: File = Header FormatVersion ToolingVersion UUID nameTable_Length Name* Section* Header = 0x5C 0xA1 0xAB 0x1F FormatVersion = majorVersion_Nat minorVersion_Nat experimentalVersion_Nat ToolingVersion = Length UTF8-CodePoint* -- string that represents the tool that produced the TASTy UUID = Byte*16 -- random UUID Section = NameRef Length Bytes

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
final class TastyReader(val bytes: Array[Byte], start: Int, end: Int, val base: Int)

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
object TastyRefs

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
sealed abstract class TemplateProblem(val ref: ClassInfo) extends Problem with TemplateRef

Attributes

Graph
Supertypes
class Problem
class Object
trait Matchable
class Any
Known subtypes
trait TemplateRef extends ProblemRef

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
final case class UpdateForwarderBodyProblem(oldmeth: MethodInfo) extends MemberProblem

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait MemberRef
class Problem
class Object
trait Matchable
class Any

Types

type ProblemFilter = Problem => Boolean

Returns true for problems to keep, false for problems to drop.

Returns true for problems to keep, false for problems to drop.

Attributes