Package

scala.meta.internal

mtags

Permalink

package mtags

Visibility
  1. Public
  2. All

Type Members

  1. final class ClasspathLoader extends AnyRef

    Permalink

    Utility to load relative paths from a classpath.

    Utility to load relative paths from a classpath.

    Provides similar functionality as URLClassLoader but uses idiomatic Scala data structures like AbsolutePath and Option[T] instead of java.net.URL and nulls.

  2. trait CommonMtagsEnrichments extends AnyRef

    Permalink
  3. trait GlobalSymbolIndex extends AnyRef

    Permalink

    An index to lookup the definition of global symbols.

    An index to lookup the definition of global symbols.

    Only indexes plain Scala and Java source files, no compilation needed.

  4. final class Identifier extends AnyRef

    Permalink
  5. case class IndexError(file: io.AbsolutePath, cause: Throwable) extends Exception with NoStackTrace with Product with Serializable

    Permalink
  6. case class InvalidJarException(path: io.AbsolutePath, underlying: Throwable) extends Exception with Product with Serializable

    Permalink
  7. class JavaMtags extends MtagsIndexer

    Permalink
  8. trait Md5Fingerprints extends AnyRef

    Permalink

    Maps MD5 fingerprints to full text contents.

  9. final class Mtags extends AnyRef

    Permalink
  10. trait MtagsEnrichments extends CommonMtagsEnrichments

    Permalink
  11. trait MtagsIndexer extends AnyRef

    Permalink
  12. final class OnDemandSymbolIndex extends GlobalSymbolIndex

    Permalink

    An implementation of GlobalSymbolIndex with fast indexing and low memory usage.

    An implementation of GlobalSymbolIndex with fast indexing and low memory usage.

    Fast indexing is enabled by ScalaToplevelMtags, a custom parser that extracts only toplevel symbols from a Scala source file. Java source files don't need indexing because their file location can be inferred from the symbol with the limitation that it doesn't work for Java source files with multiple package-private top-level classes.

    Low memory usage is enabled by only storing "non-trivial toplevel" symbols. A symbol is "toplevel" when its owner is a package. A symbol is "non-trivial" when it doesn't match the path of the file it's defined in, for example Some# in Option.scala is non-trivial while Option# in Option.scala is trivial.

  13. final class OpenClassLoader extends URLClassLoader

    Permalink
  14. final class OverloadDisambiguator extends AnyRef

    Permalink

    Utility to generate method symbol disambiguators according to SemanticDB spec.

    Utility to generate method symbol disambiguators according to SemanticDB spec.

    See https://scalameta.org/docs/semanticdb/specification.html#scala-symbol

  15. class ScalaMtags extends SimpleTraverser with MtagsIndexer

    Permalink
  16. class ScalaToplevelMtags extends MtagsIndexer

    Permalink

    Custom parser that extracts toplevel members from a Scala source file.

    Custom parser that extracts toplevel members from a Scala source file.

    Example input:

    package com.zoo
    class Animal { class Dog }
    object Park { trait Bench }

    emits the following symbols: com/zoo/Animal# and com/zoo/Park. The inner classes Animal.Dog and Park.Bench are ignored.

    This class exists for performance reasons. The ScalaMtags indexer provides the same functionality but it is much slower. Performance is important because toplevel symbol indexing is on a critical path when users import a new project.

  17. final case class SemanticdbClasspath(sourceroot: meta.AbsolutePath, classpath: meta.Classpath = Classpath(Nil), charset: Charset = StandardCharsets.UTF_8, fingerprints: Md5Fingerprints = Md5Fingerprints.empty) extends Semanticdbs with Product with Serializable

    Permalink
  18. trait Semanticdbs extends AnyRef

    Permalink
  19. final class Symbol extends AnyRef

    Permalink

    Represents a unique definitions such as a Scala val, object, class, or Java field/method.

    Represents a unique definitions such as a Scala val, object, class, or Java field/method.

    Examples:

    "scala/Predef.String#"
    "scala/collection/immutable/`::`#"
    "scala/Option#get()."
    "scala/Option.apply()."
  20. case class SymbolDefinition(querySymbol: Symbol, definitionSymbol: Symbol, path: io.AbsolutePath) extends Product with Serializable

    Permalink
  21. sealed abstract class TextDocumentLookup extends AnyRef

    Permalink

Value Members

  1. object BuildInfo extends Product with Serializable

    Permalink

    This object was generated by sbt-buildinfo.

  2. object ClasspathLoader

    Permalink
  3. object DefinitionAlternatives

    Permalink
  4. object InverseLegacyToken

    Permalink

    Utility to print helpful messages for parse errors.

  5. object JavaMtags

    Permalink
  6. object MD5

    Permalink
  7. object Md5Fingerprints

    Permalink
  8. object Mtags

    Permalink
  9. object MtagsEnrichments extends MtagsEnrichments

    Permalink
  10. object OnDemandSymbolIndex

    Permalink
  11. object ScalaMtags

    Permalink
  12. object SemanticdbClasspath extends Serializable

    Permalink
  13. object Semanticdbs

    Permalink
  14. object Symbol

    Permalink
  15. object SymbolOccurrenceOrdering

    Permalink
  16. object TextDocumentLookup

    Permalink

Ungrouped