Repository navigation
Analysis release 2.2.1
Added 🚀
-
Local changes and past commits in one step:
ccsh analysetakes--local-changesto map only the files you
changed since your last push, and--committo map the codebase as it was at a commit, tag, branch or date. -
Inheritance on leaf edges: a leaf edge from a Java, Kotlin or C# class to the class it extends or the interface
it implements says so, asinheritanceorimplementation.
Fixed 🐞
-
Same name in several places:
dependencyparserlinks a class that several files declare under one name to the
copy nearest to the file that uses it, instead of to whichever copy it read first, in every language but C#. -
Imports in Java and Kotlin:
dependencyparserresolves a Java or Kotlin name only by the language's import
rules, so it no longer links it to a class of the same name that no import makes visible, that two star imports
make ambiguous, or that a Kotlin import renames withas. -
Using directives in C#:
dependencyparserlooks a C# name up in each enclosing namespace before the using
directives written around it, so a class of the namespace wins over a using at the top of the file, a name two
using directives both import links to neither, andSettings.Configinsidenamespace Shopmeans
Shop.Settings.Configbefore a top-levelSettings.Config, unless written withglobal::. -
Attributes in C#:
dependencyparserlinks a C# attribute such as[Audited]to whichever ofAuditedand
AuditedAttributeis the attribute class, instead of to both. -
Using aliases in C#:
dependencyparserlinks a name written through a C# using alias such as
using Dto = Shop.Dto;to the type or namespace it stands for, and no longer takes the alias for an import of
every type of that namespace. -
Names written with their class or package:
dependencyparserlinks a Java or Kotlin name written with its class
or package in front, such asOuter.Nested,Speed.class,com.ex.Configor a Kotlin import alias in front of
a nested class, to that declaration, and not also to the class in front. -
Nested classes:
dependencyparserkeeps a Java, Kotlin or C# nested class below the class around it, no longer
counts what it uses for the outer class, links a name to the nested class of the own or the base class before any
other class of that name, and finds a Java or Kotlin one through an import such asimport …CreatureFacade.Builder. -
Type parameters and local classes:
dependencyparserno longer links a Java, Kotlin or C# type parameter or a
Java or Kotlin local class to a class of the same name elsewhere in the package. -
Private Kotlin declarations:
dependencyparserlinks a Kotlinprivatetop-level declaration only from its own
file, so two files with a private class of the same name each link to their own. -
No links between unrelated languages: in a repository with several languages,
dependencyparserno longer
links a name to a declaration of a language that cannot refer to it, such as a Python name to a SQL table.