| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
Start scheme where unmangling is done by NameKinds instead of
in NameOps.
Also add namekinds for protected accessors.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
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 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.
|
|
|
|
| |
Subject to flags Config.semanticNames.
|
|
|
|
| |
Add machinery to define and hash cons derived names.
|
|
|
|
|
|
|
|
|
|
| |
This leads to a slight overall simplification, harmonizes pickle
format with internal representation, and makes MethodTypes and
PolyTypes more similar to each other.
I believe the change is useful as it is, but in particular it is
a useful step for an eventual unification of MethodTypes and
PolyTypes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that we simply cannot do reliable outer path
computation that fills in the right hand sides of this-proxies
from the types of these proxies. As-seen-from logic can mangle
the types of proxies enough to scramble the necessary information.
What we now do instead is simply count: We record the number
of outer accesses to an outer this in inlineable code, and do the same number
of outer accesses when computing the proxy.
|
|
|
|
|
|
|
|
| |
* Add `isSyntheticFunction` checks for synthetic functions such as FuntionN
for N > 22 and ImplicitFunctionN for N >= 0.
* Add `erasedFunctionClass` to get the erased verion of synthetic functions.
* Change the semantics of `isFunctionClass` to return true if it is any kind of
FunctionN or ImplicitFunctionN.
|
|
|
|
|
| |
Optimizes implicit closures by avoiding closure
creation where possible.
|
|
|
|
| |
These are always synthetic; generated on demand.
|
|
|
|
|
|
| |
We know create FunctionN types on demand whenever their name
is looked up in the scope of package `scala`. This obviates
the need to predefine function traits 23 to 30.
|
|
|