aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | Merge pull request #1984 from dotty-staging/fix-#1747-v2odersky2017-02-217-11/+28
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix #1747: Improve error message for Scala/Java type mismatch
| * | | | | | | Fix test case^2Martin Odersky2017-02-151-2/+2
| | | | | | | |
| * | | | | | | Unrelated cleanup: Make SearchResult sealed.Martin Odersky2017-02-151-1/+1
| | | | | | | |
| * | | | | | | Fix test caseMartin Odersky2017-02-151-1/+1
| | | | | | | |
| * | | | | | | Better error message for Java/Scala method discrepanciesMartin Odersky2017-02-141-2/+14
| | | | | | | |
| * | | | | | | Avoid automatism for passing variances to PolyTypesMartin Odersky2017-02-143-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to "fill-in" with zeroes if variances were missing. I now think that;'s too error-prone. Better define all variances explicitly.
| * | | | | | | Tweak printing of polymrophic methodsMartin Odersky2017-02-142-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Omit the `=>' if a PolyType has a MethodType as result type.
* | | | | | | | Merge pull request #2013 from dotty-staging/fix-#2006Nicolas Stucki2017-02-214-21/+19
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | Don't inline when errors are detected
| * | | | | | | Don't inline when errors are detectedMartin Odersky2017-02-214-21/+19
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Inlining is only well-defined if the body to inline does not have any errors. We therefore check for errors before we perform any transformation of trees related to inlining. The error check is global, i.e. we stop on any error not just on errors in the code to be inlined. This is a safe approximation, of course.
* | | | | | | Merge pull request #1996 from dotty-staging/fix-#1990odersky2017-02-2113-19/+149
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Fix #1990: Handle inlining where this proxies change types
| * | | | | | Harden outer proxy computation of inlined codeMartin Odersky2017-02-198-30/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | | | Fix sorting of accessed this-proxiesMartin Odersky2017-02-192-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They are sorted according to the nesting depth of the classes they represent. This is no necessarily the same as the nesting level of the symbols of the proxy classes. i1990a.scala shows an example where the two differ.
| * | | | | | Fix default parameter value.Martin Odersky2017-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interesting that the tests pass even if we always assume outOfContext = true. So this raises the question why have a flag? It's just that I am not sure the `outOfContext` behavior is correct in all cases. So I prefer to be conservative here.
| * | | | | | Bonus test: builder patternMartin Odersky2017-02-182-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shows that the builder pattern can be expressed with implicit function types.
| * | | | | | Fix #1990: Handle case where inlining changes class of outerMartin Odersky2017-02-183-5/+28
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new situation in the test was that outer of the inlined method was `A` but it's as seen from type is a subtype `B`. We need two fixes: - Ignore outerSelects in TreeChecker. These are treated as having fixed symbols. - Adapt the outer-path logic to deal with code that's moved to another context.
* | | | | | Merge pull request #2007 from dotty-staging/ennru_MixedLeftAndRightAssocFelix Mulder2017-02-204-10/+67
|\ \ \ \ \ \ | | | | | | | | | | | | | | mixed left and right assoc
| * | | | | | Use Message ID enumEnno Runne2017-02-202-2/+3
| | | | | | |
| * | | | | | Incorporated comments from @felixmulderEnno Runne2017-02-202-11/+12
| | | | | | |
| * | | | | | Change 'mixed left- and right-associative operators' to MessageEnno Runne2017-02-203-8/+63
|/ / / / / /
* | | | | | Merge pull request #1987 from dotty-staging/topic/remove-unused-flagsFelix Mulder2017-02-208-187/+32
|\ \ \ \ \ \ | | | | | | | | | | | | | | Remove unused flags
| * | | | | | Make non-existent compiler options emit warnings instead of failingFelix Mulder2017-02-206-15/+16
| | | | | | |
| * | | | | | Add option to clear sbt log when using `~`Felix Mulder2017-02-201-0/+2
| | | | | | |
| * | | | | | Remove unused flagsFelix Mulder2017-02-203-173/+15
| |/ / / / /
* | | | | | Merge pull request #1986 from dotty-staging/error-messages-idsFelix Mulder2017-02-205-56/+116
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | Use enum for error messages IDs.
| * | | | | Use enum for error messages IDs.Nicolas Stucki2017-02-165-56/+116
| | | | | |
* | | | | | Merge pull request #1989 from dotty-staging/remove/scalac-testsGuillaume Martres2017-02-1810-1/+0
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Disable tests that require scala-compiler
| * | | | | Disable tests that require scala-compilerGuillaume Martres2017-02-1810-1/+0
| | |/ / / | |/| | | | | | | | | | | | | This is necessary if we ever want to get rid of our dependency on scala-compiler
* | | | | Merge pull request #1972 from dotty-staging/fix/inline-errorsodersky2017-02-182-6/+10
|\ \ \ \ \ | | | | | | | | | | | | TreeMap/TreeAccumulator: proper context for inlined trees
| * | | | | TreeMap/TreeAccumulator: proper context for inlined treesGuillaume Martres2017-02-132-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was already be done in TreeTraverser but should also be done in TreeMap and TreeAccumulator for ctx.error(..., tree.pos) to not use completely incorrect positions inside inlined trees.
* | | | | | Merge pull request #1995 from dotty-staging/fix/private-leaks-posodersky2017-02-181-5/+4
|\ \ \ \ \ \ | | | | | | | | | | | | | | checkNoPrivateLeaks: Use correct position for errors
| * | | | | | checkNoPrivateLeaks: Use correct position for errorsGuillaume Martres2017-02-171-5/+4
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we never used the `pos` argument of `checkNoPrivateLeaks` and instead used `sym.pos`, this makes a difference for calls to `avoidPrivateLeaks` coming from `TreeUnpickler` where we should use `tree.pos` instead.
* | | | | | Merge pull request #1994 from dotty-staging/fix-#1991odersky2017-02-183-20/+54
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix #1991: Use classtag where available in unapply
| * | | | | | Fix binding of x @ (e: T) in ClassTag-based patmatGuillaume Martres2017-02-172-7/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot assume that the untyped rhs of the bind is a `Typed` tree, with extractors it might be an `Apply` node, and in general it might also be a `Parens` node.
| * | | | | | Fix #1991: Use classtag where available in unapplyMartin Odersky2017-02-173-14/+41
| |/ / / / /
* | | | | | Merge pull request #1988 from dotty-staging/fix/bootstrap-no-libraryGuillaume Martres2017-02-171-1/+6
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Bootstrapped dotty should not depend on non-bootstrapped dotty-library
| * | | | | Bootstrapped dotty should not depend on non-bootstrapped dotty-libraryGuillaume Martres2017-02-161-1/+6
|/ / / / /
* | | | | Merge pull request #1962 from dotty-staging/centralize-function-logicodersky2017-02-167-52/+111
|\ \ \ \ \ | |_|/ / / |/| | | | Factor out logic for scala functions.
| * | | | Add checks for synthetic functions and erased functions.Nicolas Stucki2017-02-137-52/+111
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | | | Merge pull request #1983 from ennru/ennru_ExpectedTokenErrorFelix Mulder2017-02-156-13/+75
|\ \ \ \ | | | | | | | | | | Change '... expected but found ...' to Message
| * | | | Change '... expected but found ...' to MessageEnno Runne2017-02-146-13/+75
|/ / / /
* | | | Fix #1976: Hack to support scala.xml's $scope (#1977)odersky2017-02-145-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | This is a gross hack to support the need for a $scope binding when XML literals are created. It should go away once we phase out XML literals. A library-based solution should use implicits instead.
* | | | Merge pull request #1979 from dotty-staging/fix-#1975Felix Mulder2017-02-142-5/+12
|\ \ \ \ | | | | | | | | | | Fix #1975: Align valdefs and for expressions for patterns
| * | | | Fix #1975: Align valdefs and for expressions for patternsMartin Odersky2017-02-142-5/+12
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | val definitions and for expressions both distinguish whether something is a pattern or a variable binding. They no do it the same way: `ident` or an `ident: type` is a variable binding, everything else is a pattern. Previously, capitalized idents were considered as bindings in valdefs but as pattern in fors.
* | | | disable auto-debug test (#1980)liu fengyun2017-02-142-2/+1
| | | | | | | | | | | | | | | | The non-determinism is anonying, disable for now until we have a better solution.
* | | | Merge pull request #1978 from dotty-staging/debug-autoliu fengyun2017-02-141-1/+1
|\ \ \ \ | |/ / / |/| | | increase command wait time to 1s
| * | | increase command wait time to 1sliu fengyun2017-02-141-1/+1
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change helps to reduce non-determinism in the test. The problem can happen when two consecute commands interfere: [expect] [jdb] cmd1 ----> sleep 0.5 <--- part 1 of rep1 read & match buffer clear buffer cmd2 ----> <--- part 2 of rep1
* / / Ennru forward reference error (#1973)Enno2017-02-144-3/+51
|/ / | | | | | | | | | | | | | | | | | | * Change 'forward reference extending over the definition' to Message * Change 'forward reference extending over the definition' to Message * pesky file should not be included * Change 'forward reference extending over the definition' to Message (test case)
* | Merge pull request #1931 from dotty-staging/fix-#1501Guillaume Martres2017-02-136-4/+59
|\ \ | | | | | | Fix #1501 - Check trait inheritance condition
| * | Fix package name of Java's Serializable classMartin Odersky2017-02-101-1/+1
| | | | | | | | | | | | It's java.io, not java.lang.
| * | Narrow Java exception to inheritance ruleMartin Odersky2017-02-081-3/+5
| | | | | | | | | | | | | | | Excepted are only Serializable and Comparable. This follows scalac's behavior.