aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix issues with `enterBlock` for comment parsingFelix Mulder2016-04-112-4/+4
|
* Merge pull request #1151 from felixmulder/topic/wip-docstringsodersky2016-04-088-44/+113
|\ | | | | Add support for raw docstrings in ASTs
| * Remove old datastructure for commentsFelix Mulder2016-04-071-7/+0
| |
| * Add commandline argument `-Ykeep-comments` to remove hardcodingFelix Mulder2016-04-072-7/+10
| |
| * Add binding between Symbol and Untyped tree in base contextFelix Mulder2016-04-074-4/+23
| | | | | | | | This commit also adds a printer for use by dottydoc.
| * Implement comments as attachments instead of tree membersFelix Mulder2016-04-073-18/+15
| |
| * Change tests to be based on JUnit, rename comments variableFelix Mulder2016-04-071-9/+9
| |
| * Add docstring support for types, vals, vars and defsFelix Mulder2016-04-071-11/+13
| |
| * Fix association of docstrings based on posisitionFelix Mulder2016-04-072-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit fixes errors that would've occurred in this situation: ``` /** Docstring 1 */ <- this one would've been chosen /** Docstring 2 */ /** Docstring 3 */ class Class ``` And this situation: ``` /** Docstring 1 */ trait Trait /** Docstring 2 */ <- this one would've been chosen ```
| * Add package object supportFelix Mulder2016-04-071-5/+6
| |
| * Add ability to parse nested classes/traits docstringsFelix Mulder2016-04-072-25/+38
| |
| * Fix traits w/o bodies not getting the correct docstringFelix Mulder2016-04-071-9/+6
| |
| * Add tests for classes and traitsFelix Mulder2016-04-071-1/+2
| |
| * Add initial support for raw docstrings in ASTsFelix Mulder2016-04-073-9/+41
| |
* | Merge pull request #1201 from liufengyun/i972Dmitry Petrashko2016-04-081-0/+74
|\ \ | |/ |/| Check Java classes are not used as objects
| * Check Java classes are not used as objectsliu fengyun2016-04-041-0/+74
| | | | | | | | | | | | | | | | | | | | Following code should not pass Ycheck: import java.lang.Math val myMath: Math.type = Math myMath.sqrt(3.0) id(myMath)
* | Merge pull request #1186 from dotty-staging/fix-#1185odersky2016-04-0610-168/+239
|\ \ | | | | | | Improvements to cyclic checking, avoidance, named parameters
| * | Domain checking for named type parametersMartin Odersky2016-03-301-0/+5
| | | | | | | | | | | | | | | | | | Now verifies that the named type parameters of an overriding type or class are the same as the named type parameters of an overridden type.
| * | Base deskolemize on ApproximatingTypeMapMartin Odersky2016-03-301-88/+9
| | |
| * | Add ApproximatingTypeMap classMartin Odersky2016-03-301-22/+94
| | | | | | | | | | | | | | | | | | Also: In a TypeMap, the variance of the prefix is unchanged (was: always 0). This brings it in line with TypeAccumulator and the subtyping rules.
| * | Fix documentation of liftIfHKMartin Odersky2016-03-301-1/+1
| | |
| * | Fix a case in deskolemize.Martin Odersky2016-03-301-1/+1
| | | | | | | | | | | | We should not return a ClassInfo as a value type.
| * | Simplify widenToParentsMartin Odersky2016-03-301-4/+5
| | | | | | | | | | | | No need to form the glb.
| * | Adapt type assignment for AppliedTypeTrees to new named paramsMartin Odersky2016-03-301-6/+4
| | |
| * | Don't lambda expand and/or types over named type parametersMartin Odersky2016-03-301-2/+16
| | | | | | | | | | | | | | | Do it only if at least one of the types has unnamed parameters. This is a fundamental conflict with how we deal with intersections and unions.
| * | Take named type parameters into account when instantiating variables.Martin Odersky2016-03-301-1/+5
| | | | | | | | | | | | | | | | | | When instantiating a type variable, make the instance has the same named type parameters as the upper bound. This is the analogue of kind-correctness for named type parameters.
| * | Add methods for expressing named type paramsMartin Odersky2016-03-302-0/+75
| | | | | | | | | | | | | | | Add methods for expressing what the named type parameters of a class or type are. Also, add a method that widens a type so that is has a specified set of named type parameters.
| * | Fix bug in printing New nodesMartin Odersky2016-03-301-1/+1
| | | | | | | | | | | | Explicitly given type parameters were printed twice.
| * | Fix error message output.Martin Odersky2016-03-301-1/+1
| | | | | | | | | | | | Type was printed in raw form.
| * | Fix type-shifting problem in vcInlineMethodsMartin Odersky2016-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | vcInlineMethods could produce a different type on rewire which led to a -Ycheck failure. We now insert a cast when that happens. Test case: pos/flowops1.scala with -Ycheck:vcInline.
| * | Simplify and fix avoid logicMartin Odersky2016-03-302-27/+10
| | | | | | | | | | | | | | | The previous formulation broke for named parameters. Test case in flowops1.scala.
| * | Fixes to checkNonCyclicMartin Odersky2016-03-301-20/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Simplified logic and now check prefixes of TypeRefs. Without the simplified logic we would get false cyclic errors for ski.scala. Test case: flowops.scala Fixes #1185.
* | | Merge pull request #1199 from dotty-staging/fix-stale-symodersky2016-04-065-24/+24
|\ \ \ | | | | | | | | Make erased value type take a TypeRef instead of a ClassSymbol
| * | | Fix doc commentMartin Odersky2016-04-031-1/+1
| | | |
| * | | Make erased value type take a TypeRef instead of a ClassSymbolMartin Odersky2016-04-035-23/+23
| | |/ | |/| | | | | | | To address #1198, we need to avoid putting symbols in ErasedValueTypes.
* | | Merge pull request #1203 from lampepfl/DarkDimius-patch-5odersky2016-04-061-1/+1
|\ \ \ | | | | | | | | Two fixes to TermRefWithSignature.newLikeThis
| * | | Fix TermRefWithSignature.newLikeThisDmitry Petrashko2016-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | Used to not support more precise prefixes. Assumed that symbol does not change.
| * | | Fix double computation in TermRefWithSignature.newLikeThisDmitry Petrashko2016-04-041-1/+1
| |/ / | | | | | | Used to compute `asMemberOf(prefix)` twice.
* / / simple integration with jlineliu fengyun2016-04-052-8/+18
|/ /
* | Merge pull request #1172 from dotty-staging/compiler-docsodersky2016-04-0130-79/+74
|\ \ | | | | | | First of a series of compiler design documents
| * | Better documentation of main classesMartin Odersky2016-04-015-3/+12
| | |
| * | Document phasesMartin Odersky2016-04-013-50/+52
| | | | | | | | | | | | Give a one-line explanation what each phase does in Compiler.
| * | Move Mode to coreMartin Odersky2016-04-0124-26/+10
| | | | | | | | | | | | | | | Mode is used from a lot of low-level code, does not just reflect Typer info. So it makes more sense top to place it in the core package.
* | | Temporarilly enable printing of original failure signature to debug failing ↵Martin Odersky2016-03-311-1/+1
|/ / | | | | | | builds
* | Fix #854: Optimize matches on primitive constants as switches.Sébastien Doeraene2016-03-311-2/+133
| | | | | | | | | | | | | | | | This does not yet unable the checks that `@switch` verifies that the compiler was indeed able to perform the optimization. This implementation also does not support guards. A match with guards will never be optimized as a switch.
* | FullParameterization: Fix indentation and a typo.Dmitry Petrashko2016-03-311-2/+2
| |
* | Fix #1089: Special-case local methodsDmitry Petrashko2016-03-311-16/+32
| | | | | | | | | | | | This is a simpler fix than the previous one. Local methods, cannot change `this` and do not need to go through FullParameterization.
* | Tailrec: drop support for polymorphic recursion.Dmitry Petrashko2016-03-311-1/+3
| | | | | | | | | | | | | | | | | | | | If the method that recurses over a different type arguments, if this method is specialised, it would lead to method not being tail-rec anymore. Eg: def foo[@specialized A, @specialized B]: Unit = foo[B, A]
* | FullParametrization: allow to have $this of ThisType.Dmitry Petrashko2016-03-312-15/+35
| | | | | | | | | | | | | | | | | | TailRec methods remain members of enclosing class, it means that they can refer to methods that require this.type. It means that tailrec, unlike value classes is not allowed to widen type of $this to it's full self type. Fixes #1089
* | Merge pull request #1182 from dotty-staging/repl-fixesodersky2016-03-317-62/+55
|\ \ | |/ |/| Repl fixes and tests