summaryrefslogtreecommitdiff
path: root/src/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'merge-inline' of /scratch/trunk3 into developPaul Phillips2012-03-1436-228/+644
|\
| * Cleaning up stray ScalaObject references.Paul Phillips2012-03-141-8/+0
| |
| * New starr to support new fundamental laws of reality.Paul Phillips2012-03-142-572/+1
| | | | | | | | | | | | | | | | | | | | And grueling recovery from branch drift. Merges a portion (and only a portion) of topic/inline into master. The major changes which come with this merge are: AnyVal is unsealed, can be extended directly. ScalaObject is no longer with us.
| * Merge branch 'master' into merge-inlinePaul Phillips2012-03-14135-3303/+5448
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/Importers.scala src/compiler/scala/reflect/internal/Symbols.scala src/compiler/scala/reflect/internal/Trees.scala src/compiler/scala/reflect/internal/Types.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/transform/LiftCode.scala src/compiler/scala/tools/nsc/transform/UnCurry.scala src/compiler/scala/tools/nsc/typechecker/RefChecks.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala test/files/run/programmatic-main.check test/files/speclib/instrumented.jar.desired.sha1
| * | Made a typer hack less hacky.Paul Phillips2012-02-041-4/+6
| | |
| * | Hardening in Constructors.Paul Phillips2012-02-041-2/+2
| | |
| * | A little msil I missed un-reverting.Paul Phillips2012-02-041-5/+4
| | |
| * | Hardened/documented AnyVal constructor switcheroo.Paul Phillips2012-02-042-0/+3
| | |
| * | Tweaking parent printing a little further.Paul Phillips2012-02-041-5/+14
| | | | | | | | | | | | Not too many Object/AnyRef parents, not too few.
| * | Fixing AnyVal verify error and reflection.Paul Phillips2012-02-041-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | Have to give AnyVal a constructor and simultaneously pacify both the typer (which knows Any has no constructor) and the jvm (which mandates a constructor must call its superconstructor.) It's the usual angle of adding a not-quite-right tree during parsing and then finishing it later (in this case, in AddInterfaces.)
| * | Fixed all but one of the scalap tests.Paul Phillips2012-02-041-7/+5
| | |
| * | Restored msil.Paul Phillips2012-02-0410-364/+359
| | |
| * | Utilizing convenience methods martin hasn't discovered yet.Paul Phillips2012-02-041-7/+2
| | |
| * | Making AnyVal into a class instead of a trait.Paul Phillips2012-02-045-37/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -- traits can extend Any, AnyRef, or AnyVal -- classes can extend AnyRef or AnyVal but not Any. This breaks reflection for the moment as it smuggles AnyVal so far downstream that it's reflecting its way into bytecode (or something) but the following test case goes five for six as anticipated. trait Foo1 extends Any trait Foo2 extends AnyVal trait Foo3 extends AnyRef class Bar1 extends Any // fail @inline class Bar2 extends AnyVal class Bar3 extends AnyRef Eliminated various hijinx from definitions.
| * | Guard List_apply from premature forcitude.Paul Phillips2012-02-041-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Solved the annotation cycle puzzle. Was being burned again by the hack which preferentially treats List() as Nil to avoid List's extractor. This commit includes a new starr which fully bootstraps. Also at this point traits can extend Any and will not be given an AnyRef parent (until erasure.) This is the case for AnyVal and NotNull.
| * | Made Any parents work more.Paul Phillips2012-02-048-62/+86
| | | | | | | | | | | | Working on type printing logic.
| * | ant and diff friendlier msil-disabling.Paul Phillips2012-02-046-3564/+3570
| | |
| * | Disabled all things MSIL.Paul Phillips2012-02-0311-3842/+3842
| | | | | | | | | | | | It's a huge drag when making fundamental changes.
| * | Eliminated ScalaObject.Paul Phillips2012-02-035-7/+21
| | | | | | | | | | | | "This too shall pass."
| * | Mostly eliminated ScalaObject.Paul Phillips2012-02-0318-31/+16
| | |
| * | Merge branch 'master' into topic/inlinePaul Phillips2012-02-0324-859/+1152
| |\ \
| * | | intermediate work towards a new starr for value classes.Martin Odersky2012-02-036-72/+118
| | | |
| * | | First steps towards erasure of inline classes.Martin Odersky2012-01-312-0/+20
| | | |
| * | | New trait for erasure of inline classes.Martin Odersky2012-01-311-0/+9
| | | |
| * | | More work on inline classes.Paul Phillips2012-01-305-11/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fail compile if AnyVal is inherited by a trait, a non-@inline class, or a class with an AnyRef parent somewhere. Added tests. Added logging, like [log extmethods] Inline class class Bippy spawns extension method. Old: def getClass: Class[_ <: Bippy] New: final def extension$getClass($this: Bippy): Class[_ <: Bippy] Fixed what I hope was a bug in ExtensionMethods where the original method params were dropped. Since adding a NonNull parent was also inflicting an AnyRef on AnyVal subclasses, suppressed that for those. Had the bright idea that AnyVal could extend NotNull. It doesn't seem to accomplish much, but then, I don't think NotNull accomplishes much. Still, maybe it's time to restrict the ways one can use AnyVal so one can't do this: scala> var x: AnyVal = _ x: AnyVal = null
| * | | Merge branch 'master' into inlinePaul Phillips2012-01-302-19/+35
| |\ \ \
| * | | | Synthesize getClass method for AnyVal children.Paul Phillips2012-01-301-0/+11
| | | | | | | | | | | | | | | | | | | | The synthetic method is only a null for now.
| * | | | Eliminated 2500 lines of whitespace changes.Paul Phillips2012-01-3016-198/+198
| | | | |
| * | | | Merge branch 'master' into inlinePaul Phillips2012-01-303-57/+92
| |\ \ \ \
| * | | | | Working AnyVal#getClass.Paul Phillips2012-01-301-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renamed newMethod in Definitions to enterNewMethod to better indicate what it does, and also so AnyVal's getClass can avoid the "enter" part.
| * | | | | Moving getClassReturnType out of erasure.Paul Phillips2012-01-303-35/+35
| | | | | | | | | | | | | | | | | | | | | | | | And other post-merge cleanup.
| * | | | | Merge branch 'master' into inlinePaul Phillips2012-01-3013-283/+316
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala
| * | | | | | Resinstantiating anyval-children test. Getting he complete build to run.Martin Odersky2012-01-304-49/+59
| | | | | | |
| * | | | | | Fixed problems with step 2Martin Odersky2012-01-302-7/+8
| | | | | | |
| * | | | | | New phase that creates extension methods for inline classes.Martin Odersky2012-01-301-0/+161
| | | | | | |
| * | | | | | Merge remote-tracking branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-2932-135/+231
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Temporarily removed getClass from AnyVal to get build going. Disabled anyval-childen test. Fixed some other build problems. Implemented step 1 + 2 of inline classes proposal.
| | * \ \ \ \ \ Merge branch 'unsealed-anyval' into inlinePaul Phillips2012-01-2828-119/+215
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala
| | | * | | | | | Unsealed AnyVal.Paul Phillips2012-01-289-42/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hacks here and there to allow them to survive at least to erasure. Since nothing is done with them there yet, they inevitably crash and burn a little ways beyond that.
| * | | | | | | | inline method expansion codeMartin Odersky2012-01-2916-248/+305
| |/ / / / / / /
| * | | | | | | Dropping what looks like debug output from error message. Before the change,Martin Odersky2012-01-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | writing `class C extends AnyVal` in the REPL produced a compiler crash due to a NPE.
| * | | | | | | Merge branch 'master' into topic/inlineMartin Odersky2012-01-2673-1767/+3406
| |\ \ \ \ \ \ \
| * | | | | | | | wipMartin Odersky2012-01-211-2/+8
| | | | | | | | |
* | | | | | | | | Merge remote-tracking branches 'soc/fix-todos' and ↵Paul Phillips2012-03-148-597/+619
|\ \ \ \ \ \ \ \ \ | | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | 'axel22/feature/pc-execution-contexts' into develop
| * | | | | | | | Merge branch 'master', remote-tracking branch 'magarciaEPFL/GenASM' into developPaul Phillips2012-03-128-597/+619
| |\ \ \ \ \ \ \ \
| | * | | | | | | | shortening Name-String-Name-String conversions to just Name-StringMiguel Garcia2012-03-095-12/+10
| | | | | | | | | |
| | * | | | | | | | rather than info.parents, superClass and mixinClasses are enoughMiguel Garcia2012-03-081-26/+32
| | | | | | | | | |
| | * | | | | | | | Merge branch 'master' into GenASMMiguel Garcia2012-03-081-1/+1
| | |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ Merge branch 'master' into GenASMMiguel Garcia2012-03-085-9/+12
| | |\ \ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ \ \ Merge branch 'master' into GenASMMiguel Garcia2012-03-074-21/+28
| | |\ \ \ \ \ \ \ \ \ \
| | * | | | | | | | | | | dynamic dispatch instead of map lookups or equality testsMiguel Garcia2012-03-073-38/+33
| | | | | | | | | | | | |