summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Whitespace and a couple checkfile updates.Paul Phillips2012-03-142-4/+4
|
* Merge branch 'master' into merge-inlinePaul Phillips2012-03-141-1/+0
|\
| * Eliminate build-breaking import.Paul Phillips2012-03-141-1/+0
| | | | | | | | ...from m. odersky's private collection of mysterious imports.
* | The rest of the inline classes.Paul Phillips2012-03-142-2/+2
| | | | | | | | | | | | | | | | | | Have you often thought that programming is just like the movie 'Hackers', only with less rollerblading? Now that we have @inline skates, that last caveat can be retired. It's just like the movie 'Hackers'. Signed-off-by: Zero Cool
* | Merge remote-tracking branch 'odersky/topic/inline' into merge-inlinePaul Phillips2012-03-14110-554/+1067
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: lib/scala-compiler.jar.desired.sha1 lib/scala-library-src.jar.desired.sha1 lib/scala-library.jar.desired.sha1 src/compiler/scala/reflect/internal/Definitions.scala src/compiler/scala/reflect/internal/Symbols.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/transform/Constructors.scala src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala src/compiler/scala/tools/nsc/typechecker/Contexts.scala src/compiler/scala/tools/nsc/typechecker/RefChecks.scala src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala src/library/scala/Function0.scala src/library/scala/Function1.scala src/library/scala/Function10.scala src/library/scala/Function11.scala src/library/scala/Function12.scala src/library/scala/Function13.scala src/library/scala/Function14.scala src/library/scala/Function15.scala src/library/scala/Function16.scala src/library/scala/Function17.scala src/library/scala/Function18.scala src/library/scala/Function19.scala src/library/scala/Function2.scala src/library/scala/Function20.scala src/library/scala/Function21.scala src/library/scala/Function22.scala src/library/scala/Function3.scala src/library/scala/Function4.scala src/library/scala/Function5.scala src/library/scala/Function6.scala src/library/scala/Function7.scala src/library/scala/Function8.scala src/library/scala/Function9.scala test/files/codelib/code.jar.desired.sha1 test/files/neg/anyval-children-2.check test/files/run/programmatic-main.check
| * Allows case classes as value classesMartin Odersky2012-03-072-11/+17
| |
| * Make scala.io.Serializable a universal trait.Martin Odersky2012-03-061-2/+3
| |
| * Fixes to value classes: Flags now double definitions, private constructors ↵Martin Odersky2012-03-0670-151/+145
| | | | | | | | as errors. Fixed erasure scheme.
| * Added check that primary constructor of a value class must be public.Martin Odersky2012-03-051-6/+9
| |
| * Now spots double definition after erasure errors involving value classes.Martin Odersky2012-03-051-2/+3
| |
| * Made new automatic version of mkCast more robust for non-standard ↵Martin Odersky2012-02-232-4/+10
| | | | | | | | compilation setups by refining the logic what it means to be after a phase.
| * Made 3 classes in the standard library into value classes.Martin Odersky2012-02-222-3/+3
| |
| * Compiler now ready to accept value classes in standard library. Time for a ↵Martin Odersky2012-02-223-2/+17
| | | | | | | | new STARR!
| * Fixes in namers and extension methods to support nested value classes and ↵Martin Odersky2012-02-222-6/+14
| | | | | | | | generic value classes.
| * Enable derived value classes with an underlying field of a type parameter. ↵Martin Odersky2012-02-221-2/+0
| | | | | | | | They are too useful to ban.
| * Make this substituter on trees also act on types, just as the other tree ↵Martin Odersky2012-02-221-3/+9
| | | | | | | | substitutres do.
| * Split StringAdd into StringAdd and StringFormatMartin Odersky2012-02-223-11/+26
| |
| * Changed erasure boxing/unboxing scheme to support value classes that wrap ↵Martin Odersky2012-02-223-20/+53
| | | | | | | | reference classes.
| * Allowing for protected methods in value classes.Martin Odersky2012-02-221-1/+1
| |
| * Made more traits universal.Martin Odersky2012-02-224-5/+5
| |
| * Moved mkCast and derived method from reflect.internal.TreeGen to ↵Martin Odersky2012-02-222-37/+35
| | | | | | | | tools.nsc.ast.TreeGen. Made mkCast generate the "right" version of casts according to current phase.
| * Made TreePrinters print classes that extend from AnyVal. For Paul to check ↵Martin Odersky2012-02-221-5/+5
| | | | | | | | if OK and remove commented code if that's the case.
| * Made changeOwner more robust; now also deals with return expressions.Martin Odersky2012-02-221-5/+9
| |
| * Renamed "inline class" to "derived value class"Martin Odersky2012-02-209-48/+55
| |
| * Removed one more stone the parser threw at me for daring to have new value ↵Martin Odersky2012-02-202-4/+6
| | | | | | | | classes in the Scala library.
| * Implemented super access in value classes, restrictions for value classes.Martin Odersky2012-02-194-14/+24
| |
| * New FlatArray scheme for handling value classes.Martin Odersky2012-02-174-67/+155
| |
| * Trying generic value classes. Does not work yet, but fixed on bug already.Martin Odersky2012-02-151-2/+2
| |
| * New scheme for "Rows" of value classes.Martin Odersky2012-02-152-0/+67
| |
| * Changed array erasure scheme to never unbox elements of inline classes.Martin Odersky2012-02-155-72/+72
| |
| * Changed erasure behavior of arrays to use always boxed representation.Martin Odersky2012-02-143-48/+54
| | | | | | | | | | | | Conflicts: test/files/run/Meter.scala
| * Refactoring to control the effects of inline erasure, restricting them to ↵Martin Odersky2012-02-143-37/+51
| | | | | | | | just the erasure phase and its actions.
| * Fixing problems with generation of isInstanceOf, classOf.Martin Odersky2012-02-142-6/+10
| |
| * Setting up things to demonstrate a swallowed type error in manifest generation.Martin Odersky2012-02-133-15/+24
| |
| * Added missing files from last commitMartin Odersky2012-02-131-0/+61
| |
| * All steps of value class proposal implemented. Most restrictions are now ↵Martin Odersky2012-02-138-140/+258
| | | | | | | | enforced. Super calls and specialized still missing.
| * Deprecating /:\. Fold should be used instead.Martin Odersky2012-02-121-0/+1
| |
| * wip. Getting started on erasing inline classes.Martin Odersky2012-02-085-85/+150
| |
| * Fixes supercalls tyo AnyVal constructors. Meter example now compiles and ↵Martin Odersky2012-02-081-24/+29
| | | | | | | | runs correctly (but no erasure yet).
| * Rename isValueClass -> isPrimitiveValueClassMartin Odersky2012-02-0716-129/+123
| |
| * Making the Meter test expand and compile.Martin Odersky2012-02-074-23/+23
| |
| * Removing unnecessary AnyVal code.Paul Phillips2012-02-063-54/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...since it works from source. The parser must be forcibly restrained from adding a bogus constructor, but other than that it's pretty much smooth sailing. To give an idea how smooth, if I change scala.Short like so: trait Bippy extends Any final class Short extends AnyVal with Bippy Then it just works, at least until the fiction is revealed. scala> def f(x: Bippy) = x f: (x: Bippy)Bippy scala> f(5) <console>:9: error: type mismatch; found : Int(5) required: Bippy f(5) ^ scala> f(5: Short) java.lang.ClassCastException: java.lang.Short cannot be cast to scala.Bippy at .<init>(<console>:9) at .<clinit>(<console>) at .<init>(<console>:11)
| * Merge branch 'master' into topic/inlinePaul Phillips2012-02-0671-891/+2187
| |\ | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/Global.scala test/files/run/programmatic-main.check
| * \ Merge remote-tracking branch 'odersky/topic/inline' into inline-remergePaul Phillips2012-02-0623-36/+55
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala src/compiler/scala/tools/nsc/typechecker/Namers.scala src/library/scala/AnyVal.scala test/files/run/primitive-sigs-2.check test/files/run/t4172.check test/files/scalap/abstractClass/result.test test/files/scalap/abstractMethod/result.test test/files/scalap/caseClass/result.test test/files/scalap/cbnParam/result.test test/files/scalap/classPrivate/result.test test/files/scalap/classWithExistential/result.test test/files/scalap/classWithSelfAnnotation/result.test test/files/scalap/covariantParam/result.test test/files/scalap/implicitParam/result.test test/files/scalap/paramClauses/result.test test/files/scalap/paramNames/result.test test/files/scalap/sequenceParam/result.test test/files/scalap/simpleClass/result.test test/files/scalap/traitObject/result.test test/files/scalap/typeAnnotations/result.test test/files/scalap/valAndVar/result.test test/files/scalap/wildcardType/result.test
| | * | Added hook in erasure.Martin Odersky2012-02-061-0/+3
| | | |
| | * | A first bunch of Any-extending traits.Martin Odersky2012-02-0616-18/+22
| | | |
| | * | Removing AnyVal as a source class. Removing automatic addition of ↵Martin Odersky2012-02-067-65/+27
| | | | | | | | | | | | | | | | ScalaObject. Undoing wrong fix in ExtensionMethods.
| | * | Definitions are now initialized in reflection (was missing before).Martin Odersky2012-02-062-0/+7
| | | |
| | * | Different treatment of Null <:< T, to allow for Any-extending traits. ↵Martin Odersky2012-02-061-83/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without the change, val x: List[String] with Ordered[String] = null would be illegal. The change is reflected in my local copy of the spec. Where it now says in the section of conformance: \item For every non-bottom class type $T$, $\mbox{\code{scala.Null}} \conforms T$, unless $T \conforms \mbox{\code{scala.AnyVal}}$ or $T \conforms \mbox{\code{scala.NotNull}}$.
| | * | Fix in Definitions that now enables bootstrap without AnyVal.scala present. ↵Martin Odersky2012-02-031-1/+1
| | | | | | | | | | | | | | | | This should be a new starr.