aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/classfile
Commit message (Collapse)AuthorAgeFilesLines
* Simplify classfile parser "own name" checkingMartin Odersky2017-04-111-12/+5
| | | | | | | 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.
* Don't unmangle names in ClassfileParserMartin Odersky2017-04-111-13/+12
| | | | | Classfile parsing is about JVM-level names, not Scala level ones. So it is more consistent to use mangled names throughout.
* Names are no longer SeqsMartin Odersky2017-04-111-3/+7
| | | | | | | | 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.
* Decentralize unmangling, add new nameKindsMartin Odersky2017-04-111-2/+2
| | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors.
* Rename NameExtractor -> NameKindMartin Odersky2017-04-111-1/+1
|
* Drop Config.semanticNames optionMartin Odersky2017-04-111-1/+2
| | | | | We now handle only semantic names. Also, name extractor tags and TASTY name tags are now aligned.
* Disentangle Names from SeqsMartin Odersky2017-04-111-1/+1
| | | | | | | | | 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.
* Deug info in classfile parserMartin Odersky2017-04-111-1/+8
|
* Unmangle class names in ClassfileParserMartin Odersky2017-04-111-1/+1
|
* replace derived{Method,Poly}Type with derivedLambdaTypeMartin Odersky2017-04-061-3/+3
|
* Harmonize paramTypes and paramBoundsMartin Odersky2017-04-061-2/+2
| | | | | | MethodTypes have paramTypes whereas PolyTypes have paramBounds. We now harmonize by alling both paramInfos, and parameterizing types that will become common to both.
* Fix ClassfileParserMartin Odersky2017-03-311-1/+1
| | | | | | | #2158 has uncovered flaws in the classfile parser. Matches that used to always miss led to code that made no sense. The function naming was terrible too, that's why nobody understood what was going on. `findSourceFile` to find the class file, seriously?
* Drop mixed MethodType apply methodMartin Odersky2017-03-141-1/+1
| | | | | | The dropped method takes direct parameter types but a result type expression. Since parameter types are now in general dependent as well, that method is mostly redundant.
* Construct MethodTypes from parameter closureMartin Odersky2017-03-141-4/+4
| | | | | To allow for dependencies between method type parameters, construct MethodTypes from a closure that maps the currently constructed MethodType to its parameter types.
* ClassfileParser: avoid looking up inner class in wrong phaseGuillaume Martres2017-02-181-1/+1
| | | | | | | | | getMember needs to take an implicit `Context` parameter, otherwise the following code: val result = ctx.atPhaseNotLaterThan(ctx.typerPhase) { implicit ctx => getMember(owner, innerName.toTypeName) } will not run getMember at the typer phase.
* Drop atPhaseNotLaterThanTyperMartin Odersky2017-02-011-1/+1
| | | | | It was used only once and its body is almost as short as the name, so no need to have a separate method.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-224-0/+1787