summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* intermediate work towards a new starr for value classes.Martin Odersky2012-02-0312-86/+134
|
* 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
|
* Merge remote branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-3148-733/+1373
|\
| * More work on inline classes.Paul Phillips2012-01-3012-15/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-2/+13
| |\
| | * Have ant notice starr out of date.Paul Phillips2012-01-301-2/+13
| | | | | | | | | | | | | | | If your compiler .desired.sha1 is newer than the jar, it will go download it.
| * | Pushed new starr and updated desired shas.Paul Phillips2012-01-303-3/+3
| | |
| * | Merge branch 'master' into inlinePaul Phillips2012-01-302-19/+35
| |\|
| | * Print compound types legibly.Paul Phillips2012-01-302-19/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | This one's about a million years overdue. Try this on for size, from the command line: printf ":power\nList(1).?.baseClasses.sigs >\n" | scala Also, a little more power mode refinement.
| * | Synthesize getClass method for AnyVal children.Paul Phillips2012-01-301-0/+11
| | | | | | | | | | | | The synthetic method is only a null for now.
| * | Removed obsolete checkfile.Paul Phillips2012-01-302-13/+0
| | |
| * | Merge remote-tracking branch 'odersky/topic/inline' into inlinePaul Phillips2012-01-301-1/+1
| |\ \
| * | | Eliminated 2500 lines of whitespace changes.Paul Phillips2012-01-3021-478/+478
| | | |
| * | | Merge branch 'master' into inlinePaul Phillips2012-01-3013-193/+733
| |\ \ \ | | | |/ | | |/|
| | * | Merge branch 'develop'Paul Phillips2012-01-3011-137/+642
| | |\ \
| | | | \
| | | | \
| | | *-. \ Merge remote-tracking branches 'axel22/issue/4147', 'axel22/issue/5374' and ↵Paul Phillips2012-01-303-2/+21
| | | |\ \ \ | | | | | | | | | | | | | | | | | | | | | 'hubertp/ticket/4336' into develop
| | | | | * | Closes #4336.Hubert Plociniczak2012-01-302-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the type params might already be instantiated if explicit type application is done. Review by @adriaanm
| | | | * | | Merge branch 'master' into issue/5374aleksandar2012-01-30170-6097/+8456
| | | | |\| |
| | | | * | | Changed the serialVersionUID in List serialization start marker.aleksandar2012-01-301-1/+1
| | | | | | |
| | | * | | | Fixed the benchmarks a bit.aleksandar2012-01-303-18/+27
| | | | | | |
| | | * | | | Merge pull request #1 from lpereir4/avlAleksandar Prokopec2012-01-308-135/+612
| | | |\ \ \ \ | | | | |_|/ / | | | |/| | | AvlTree performance improvements
| | | | * | | Scalacheck test in order to ensure AVL invariants are respected.Lucien Pereira2012-01-281-0/+114
| | | | | | |
| | | | * | | Added benchmarking files, in order to easily compare variousLucien Pereira2012-01-285-0/+328
| | | | | | | | | | | | | | | | | | | | | | | | | | | | implementations performances.
| | | | * | | Use of polymorphic dispatch instead of pattern matching.Lucien Pereira2012-01-282-127/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use a specialized iterator.
| | | | * | | Getting rid of closure creation occuring for each rebalancing. Tail ↵Lucien Pereira2012-01-151-34/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | recursion is not necessary here.
| | | | * | | syntactic error correctionLucien Pereira2012-01-141-1/+1
| | | | | | |
| | * | | | | A couple power mod conveniences.Paul Phillips2012-01-302-56/+91
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And disambiguations. And renamed all kinds of methods to something less inscrutable. Moved all the instance-to-compiler-structure implicit behind a wrapper to avoid accidental conversions. The wrapper has a single method, ?, which you can experience like so: // Sorry tab completion doesn't yet figure out implicit conversions scala> val x = Map(1 -> 2).? x: $r.power.InternalInfo[scala.collection.immutable.Map[Int,Int]] = Map(1 -> 2) (Map) scala> x. asInstanceOf baseTypeSeq baseTypeSeqMap baseTypeWhichDefines companion decls declsOriginal declsOverride erasure fullManifest glb info isInstanceOf lub memberMethods memberTypes members membersDeclared membersInherited membersUnabridged moduleClass name owner owners pkg pkgClass pkgClassSymbols pkgClasses pkgMembers pkgName pkgSymbols shortClass signature symbol toString tpe // This uses an implicit to install sigs (and another for '>' which is // the generic printing function) but transparency, one step at a time. scala> Map(1 -> 2).?.membersDeclared.sigs > def $init$(): Unit override def empty: scala.collection.immutable.Map[A,B] override def toMap[T,U](implicit ev: <:<[(A, B),(T, U)]): scala.collection.immutable.Map[T,U] override def seq: scala.collection.immutable.Map[A,B] def withDefault[B1 >: B](d: A => B1): scala.collection.immutable.Map[A,B1] def withDefaultValue[B1 >: B](d: B1): scala.collection.immutable.Map[A,B1] override def updated[B1 >: B](key: A,value: B1): scala.collection.immutable.Map[A,B1] def +[B1 >: B](kv: (A, B1)): scala.collection.immutable.Map[A,B1]
| * | | | | 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.
* | | | | | Merge remote branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-3019-316/+430
|\| | | | | | |_|_|_|/ |/| | | |
| * | | | Moving getClassReturnType out of erasure.Paul Phillips2012-01-303-35/+35
| | | | | | | | | | | | | | | | | | | | And other post-merge cleanup.
| * | | | Merge branch 'master' into inlinePaul Phillips2012-01-3018-283/+397
| |\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala
| | | \ \
| | | \ \
| | *-. \ \ Merge remote-tracking branches 'scalamacros/topic/yshowsymkinds' and ↵Paul Phillips2012-01-299-39/+92
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'scalamacros/ticket/5418' into develop
| | | | * | | Test for https://issues.scala-lang.org/browse/SI-5418Eugene Burmako2012-01-292-0/+14
| | | | | | |
| | | * | | | -Yshow-symkinds: prints kinds next to symbol namesEugene Burmako2012-01-287-39/+78
| | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This very situational option proved to be very useful when debugging https://issues.scala-lang.org/browse/SI-5415 With the help of -Yshow-symkinds, it became possible to distinguish a free var from a module symbol, which gave precise indication of the root of the bug.
| | * | | | Test case closes SI-4515.Paul Phillips2012-01-292-0/+47
| | | | | |
| | * | | | Bonus test case for SI-3999.Paul Phillips2012-01-281-0/+20
| | | | | |
| | * | | | More method synthesis unification.Paul Phillips2012-01-286-171/+182
| | | | | |
| | * | | | Cleaned up polymorphic method creation.Paul Phillips2012-01-283-67/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I love the smell of polymorphic method synthesis in the early afternoon.
* | | | | | updated check file; got accidentally dropped from last commit.Martin Odersky2012-01-301-1/+1
|/ / / / /
* | | | | Resinstantiating anyval-children test. Getting he complete build to run.Martin Odersky2012-01-307-50/+62
| | | | |
* | | | | 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-2989-4346/+636
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-2881-4296/+590
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/tools/nsc/typechecker/ContextErrors.scala
| | * | | | | Unsealed AnyVal.Paul Phillips2012-01-2820-332/+347
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | Test case closes SI-3854.Paul Phillips2012-01-272-0/+20
| | | | | |
| | * | | | Changed partest to use UTF-8.Paul Phillips2012-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally had a concrete motivation to change partest's inexplicable ISO-8859-1 encoding to UTF-8. My test case would cause it to barf "illegal character". Is this going to break on windows or something? If so, it's time to fix the broken place which can't handle UTF-8.
| | * | | | Make 'illegal' characters less annoying.Paul Phillips2012-01-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | At least tell us what they are.
| | * | | | Revert "-Yshow-symkinds: prints kinds next to symbol names"Paul Phillips2012-01-277-77/+39
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 6a5901461c1aaac7dd8786cb374b079520895527.