summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'odersky/topic/inline' into merge-inlinePaul Phillips2012-03-14162-649/+1568
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-075-12/+138
| |
| * New starr which has java.io.Serializable as a universal traitMartin Odersky2012-03-067-7/+7
| |
| * 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-0675-168/+199
| | | | | | | | as errors. Fixed erasure scheme.
| * Added check that primary constructor of a value class must be public.Martin Odersky2012-03-052-6/+15
| |
| * new and updated test cases for value classes.Martin Odersky2012-03-054-2/+39
| |
| * 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
| |
| * New binaries to support value classes in standard library (the ones two ↵Martin Odersky2012-02-228-3/+8
| | | | | | | | commits ago were a mistake).
| * Compiler now ready to accept value classes in standard library. Time for a ↵Martin Odersky2012-02-225-7/+19
| | | | | | | | 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
| |
| * Updatwd check file.Martin Odersky2012-02-221-2/+2
| |
| * 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-1910-48/+156
| |
| * New FlatArray scheme for handling value classes.Martin Odersky2012-02-175-79/+176
| |
| * Trying generic value classes. Does not work yet, but fixed on bug already.Martin Odersky2012-02-152-2/+14
| |
| * Updated check file.Martin Odersky2012-02-151-0/+11
| |
| * New scheme for "Rows" of value classes.Martin Odersky2012-02-153-28/+79
| |
| * Changed array erasure scheme to never unbox elements of inline classes.Martin Odersky2012-02-156-88/+90
| |
| * Changed erasure behavior of arrays to use always boxed representation.Martin Odersky2012-02-144-48/+95
| | | | | | | | | | | | 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-143-6/+11
| |
| * Setting up things to demonstrate a swallowed type error in manifest generation.Martin Odersky2012-02-134-15/+26
| |
| * Added missing files from last commitMartin Odersky2012-02-134-0/+85
| |
| * All steps of value class proposal implemented. Most restrictions are now ↵Martin Odersky2012-02-1314-164/+311
| | | | | | | | 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
| |
| * Added test case.Martin Odersky2012-02-071-0/+19
| |
| * Removing unnecessary AnyVal code.Paul Phillips2012-02-0612-100/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...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-06119-1102/+3487
| |\ | | | | | | | | | | | | | | | 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-0644-62/+81
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | |
| | * | Fixed a bunch of scalap check files to account for absence of ScalaObjectMartin Odersky2012-02-0619-24/+24
| | | |
| | * | 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-0619-95/+49
| | | | | | | | | | | | | | | | ScalaObject. Undoing wrong fix in ExtensionMethods.