| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | | |
and fix a bug in TreeUnpickler
|
| | |
| | |
| | |
| | | |
Prevviously they were actually unused.
|
| | |
| | |
| | |
| | | |
Mangled is like toSimpleName, except that it keeps the term/type distinction.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Once we start using unencoded operators internally, we will face the problem
that one cannot decode realiably a class file filename. We therefore turn
things around, keeping members of package scopes in mangled and encoded form.
This is compensated by (1) mangling names for lookup of such members and
(2) when unpickling from Scala 2 info or Tasty, comparing mangled names when
matching a read class or module object against a root.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Simplifies the test that the class represented by a classfile
is the class logically referenced by the file. The simplification
is needed if we want to populate package scopes with unmangled
classnames.
|
| | |
| | |
| | |
| | |
| | | |
Classfile parsing is about JVM-level names, not Scala level ones. So it
is more consistent to use mangled names throughout.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
toSimpleName is called a lot from the backend, so it makes
sense to memoize it. It would be even better to communicate
with the backend using strings, because then we would not
have to enter all these simple names in the name table.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Drop Seq implementation of name. This implementation
was always problematic because it entailed potentially
very costly conversions to toSimpleName. We now have
better control over when we convert a name to a simple
name.
|
| | |
| | |
| | |
| | | |
Remove unused functionality
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
1. Fix problem in fullNameSeparated
2. Revise expandedName operations
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The backend contains:
val outerName = innerClassSym.rawowner.javaBinaryName
// Java compatibility. See the big comment in BTypes that summarizes the InnerClass spec.
val outerNameModule = if (innerClassSym.rawowner.isTopLevelModuleClass) outerName.dropModule
Where `dropModule` is defined in the backend interface as:
def dropModule: Name = n.stripModuleClassSuffix
This will only work as expected if `javaBinaryName` returns a name with
proper semantic information, but before this commit we just used the
output of `fullNameSeparated` which contains no semantic information.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Start scheme where unmangling is done by NameKinds instead of
in NameOps.
Also add namekinds for protected accessors.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make it a method of info instead of a convention over tags, because
it's less fragile that way.
Also, add UniqueName extractor.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We now handle only semantic names. Also, name extractor tags
and TASTY name tags are now aligned.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Use a new scheme for creating and accessing semantic names which is
based on semantic name extractors with nested info classes.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Plus further bug fixes.
|
| | |
| | |
| | |
| | | |
Plus various bug fixes and filling in missing functionality
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
nameddefaults.scala now compiles without crashing
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Structured names are not Seqs anymmore. But the Seq behavior
is required in many places that mangle names. As an intermediate step
we drop the Seq basetype but add Seq behavior through a decorator.
Most Seq operations only work on SimpleTermNames and their
TypeName analogue, will throw an exception wehn called on structured
names.
|
| | |
| | |
| | |
| | | |
Keep start as a hash for SimpleTermNames because it distributed better.
|
| | | |
|
| | | |
|