summaryrefslogtreecommitdiff
path: root/test/files/run/constrained-types.check
Commit message (Collapse)AuthorAgeFilesLines
* Begone t1737...Hubert Plociniczak2011-11-021-2/+2
|
* Added *.log and build/ to gitignore so partest/...Josh Suereth2011-11-231-2/+2
| | | | | | | Added *.log and build/ to gitignore so partest/ant artifacts don't show up in our commit messages. Also fixed whitespace issues arising from the filter-branch history rewrite for git move.
* Selective dealiasing when printing errors.Paul Phillips2011-10-031-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Important note for busy commit log skimmers *** Symbol method "fullName" has been trying to serve the dual role of "how to print a symbol" and "how to find a class file." It cannot serve both these roles simultaneously, primarily because of package objects but other little things as well. Since in the majority of situations we want the one which corresponds to the idealized scala world, not the grubby bytecode, I went with that for fullName. When you require the path to a class (e.g. you are calling Class.forName) you should use javaClassName. package foo { package object bar { class Bippy } } If sym is Bippy's symbol, then sym.fullName == foo.bar.Bippy sym.javaClassName == foo.bar.package.Bippy *** End important note *** There are many situations where we (until now) forewent revealing everything we knew about a type mismatch. For instance, this isn't very helpful of scalac (at least in those more common cases where you didn't define type X on the previous repl line.) scala> type X = Int defined type alias X scala> def f(x: X): Byte = x <console>:8: error: type mismatch; found : X required: Byte def f(x: X): Byte = x ^ Now it says: found : X (which expands to) Int required: Byte def f(x: X): Byte = x ^ In addition I rearchitected a number of methods involving: - finding a symbol's owner - calculating a symbol's name - determining whether to print a prefix No review.
* Finished reverting the misbegotten r23262, no r...Paul Phillips2011-05-261-1/+1
| | | | | Finished reverting the misbegotten r23262, no review.
* Enhancing the repl-testing code by turning it i...Paul Phillips2011-04-051-57/+75
| | | | | | | | | | Enhancing the repl-testing code by turning it into a transcript producing machine. "Here's some code." "Here's a transcript!" "Good day to you, sir!" "No, good day to YOU!" These changes are awesome. Look at the checkfile diffs for god's sake, they'll make you weep with joy. No review.
* I keep seeing huge simplifications available in...Paul Phillips2011-02-011-1/+1
| | | | | | | | | I keep seeing huge simplifications available in the repl. Lot of interesting features have come to town since it was first conceived. In this commit I give the internal names some tips on aesthetics, and put each line in its own package like civilized artificial constructs. No review.
* Moved ClassfileAnnotation/StaticAnnotation/Anno...Paul Phillips2010-12-061-4/+4
| | | | | | | Moved ClassfileAnnotation/StaticAnnotation/Annotation/TypeConstraint into scala.annotation and enabled the deprecated type aliases in scala.* to point there. Also enclosed is a new starr to bootstrap. No review.
* Modification to the widening logic to treat loc...Paul Phillips2010-10-141-2/+2
| | | | | | | | | | | | | | | | | | Modification to the widening logic to treat locally defined symbols like final members thus allowing more constants to be inlined. Concretely, that means that in code like this: def f: Unit = { val b = false ; if (b) println("ok") } The call to println is no longer generated at all, and in this code: def f(x: Int) = { val X = 1 ; val Y = 2; x match { case X => 1 ; case Y => 2 } } A tableswitch is generated instead of the present if/then/else. I also added a big comment to the former widenIfNotFinal (now widenIfNecessary for obvious reasons.) Review by rytz.
* closes #1569, #3731: refactored dependent metho...Adriaan Moors2010-09-161-2/+2
| | | | | | | | | | | | | | closes #1569, #3731: refactored dependent method types to get rid of debruijn indices and use singleton types instead. this is the core of the dependent types refactoring, no implicit or inference changes (one baffling discovery: resultType should drop annotations that don't subclass TypeConstraint, even in the trivial case... wow -- thanks to Tiark for helping me figure it out on a terrace in Barcelona TODO: probably need a more principled approach to the propagation of plugin type-annotations) review by odersky
* Some repl cleanups and debugging conveniences.Paul Phillips2010-02-211-1/+1
|
* Named and default argumentsLukas Rytz2009-05-301-1/+1
| | | | | | | - MethodTypes now have (params: List[Symbol]) - "copy"-methods for case classes - the "copy" object in the compiler is now called "treeCopy"
* some small changes to implicits handling, exist...Martin Odersky2009-04-231-4/+4
| | | | | | some small changes to implicits handling, existential abstraction, type parameter bounds checking
* hopefully fixed the build by fixing deSkolemize...Martin Odersky2009-02-161-1/+1
| | | | | | hopefully fixed the build by fixing deSkolemize, and adapting the new collection libraries to stricter override checking.
* Merge from the annots-normtrees branch.Lex Spoon2007-11-281-0/+136
now use compiler trees instead of reflect trees. In many cases, annotations on types can be rewritten instead of discarded as the types undergo various operations. Also, -Yself-in-annots has been added.