summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Updated checkfiles to subtract ScalaObject.Paul Phillips2012-02-0418-37/+26
|
* Merge branch 'master' into topic/inlinePaul Phillips2012-02-03119-24/+684
|\
| * Updated Flags toString/documentation.Paul Phillips2012-02-028-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | In a stunningly unusual demonstration of farsightedness, I was able to generate these changes only by running: scala scala.tools.nsc.util.FlagsUtilCompiler With this much time in between runs: -// Generated by mkFlagsTable() at Mon Oct 11 10:01:09 PDT 2010 +// Generated by mkFlagsTable() at Thu Feb 02 20:31:52 PST 2012
| * Merge commit 'c58b240' into developPaul Phillips2012-02-023-0/+54
| |\
| | * [vpm] __match determines match semantics; virtualizationAdriaan Moors2012-02-023-0/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | determine match strategy by typing `__match` factored out the interface to generate code in this monad, cleaned up codegen a bit no longer solving a context bound to determine the match strategy and the monad's type constructor it's too expensive don't consider implicits looking for __match implicit search causes HUGE slowdowns -- now the overhead is about 4% compared to just assuming there's no __match in scope to support virtualization&staging, we use the type of `__match.one` as the prototype for how to wrap "pure" types and types "in the monad" pure types T are wrapped as P[T], and T goes into the monad as M[T], if one is defined as: def one[T](x: P[T]): M[T] for staging, P will typically be the Rep type constructor, and type M[T] = Rep[Option[T]] furthermore, naive codegen no longer supplies type information -- type inference will have to work it out optimized codegen still does, of course, and that's enough since we only bootstrap that way TODO: improve the test (currently the condition is not represented)
| * | Fixes reifyThisEugene Burmako2012-02-0230-2/+2
| | |
| * | Miscellaneous fixes to reificationEugene Burmako2012-02-0243-2/+269
| |/ | | | | | | | | | | | | | | More specifically: * Importers now preserve wasEmpty and original * ToolBoxes no longer auto-evaluate nullary functions returned by runExpr * All local symbols from previous typechecks are now correctly erased by ResetAttrs * Originals are now reified
| *-. Merge remote-tracking branches 'scalamacros/pullrequest/5258' and ↵Paul Phillips2012-02-0122-0/+169
| |\ \ | | | | | | | | | | | | 'scalamacros/pullrequest/5256' into develop
| | | * Hardens classToType logicEugene Burmako2012-02-0116-0/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reflection now correctly processes classes, objects and inner classes that are declared in classes and objects. However classToType still crashes on compound types and local classes. For more information on those, follow the links: * Compound types: https://issues.scala-lang.org/browse/SI-5430 * Local classes: https://issues.scala-lang.org/browse/SI-5431 Fixes https://issues.scala-lang.org/browse/SI-5256. Review by @paulp, @odersky.
| | * | Hardens reification against rare kinds of ConstantsEugene Burmako2012-02-016-0/+47
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Importers now correctly process constants that carry types and symbols. However, it is still impossible to reify classOf for a class/trait that is defined inside a quasiquote. Theoretically, this can be implemented, but will require attaching original trees to classOf constants, which needs much more effort.
| * / Fix for parser OOM.Paul Phillips2012-02-012-0/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | The scanner performs some sketchy heuristics when it sees an ascii 1A since it may be EOF or it may be part of a literal. Due to this, it failed to detect an unterminated string literal if the opening quote was unicode-escaped, leading to memory exhaustion as it read SUs until the universe ended. We're parsing a fixed input with known length! There's no reason to be guessing about whether a char is EOF. If we're at the end of the file, it's the end of file. Otherwise, it is not the end of the file.
| *---. Merge remote-tracking branches 'gkossakowski/virtpatmat-switch', ↵Paul Phillips2012-02-0113-0/+102
| |\ \ \ | | | | | | | | | | | | | | | 'scalamacros/pullrequest/5427' and 'scalamacros/pullrequest/5423' into develop
| | | | * Introduce getAnnotations that triggers symbol completionEugene Burmako2012-01-312-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default getter for annotations doesn't perform initialization, hence we've faced the following bug: https://issues.scala-lang.org/browse/SI-5423. One of the approaches to fixing it would be to auto-complete on getter, but according to Martin we'd better not do that because of cycles. That's why I'm just introducing a new, eager, variation of `annotations' and redirecting public API to it. Review by @odersky.
| | | * | Tests for https://issues.scala-lang.org/browse/SI-5427Eugene Burmako2012-02-018-0/+49
| | | |/
| | * | Added a test-case for switches with Yvirtpatmat.Grzegorz Kossakowski2012-02-013-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a bunch of tests that cover changes related to switches that were applied to Yvirtpatmat implementation. Note: I didn't add those tests progressively because my changes fix trees after typer phase but do not affect resulting bytecode. How come? It's because -Yvirtpatmat will emit pattern for switches and then the old pattern matcher implementation would transform them in the old fashion in explicitouter. We cannot disable the old pattern matcher in explicitouter yet because it doesn't handle patterns used for catching exceptions. Thus, consider this as a sign of the fact that Yvirtpatmat is still work in progress.
| * | | Fix for slice boundary condition.Paul Phillips2012-02-012-0/+6
| |/ / | | | | | | | | | | | | Negative "to" index should be normalized to 0 before using it in a difference operation.
| * | Test case closes SI-5352.Paul Phillips2012-01-313-0/+29
| | |
| * | Improved warning for insensible comparisons.Paul Phillips2012-01-314-1/+28
| |/ | | | | | | | | Utilize knowledge of case class synthetic equals to rule out some comparisons statically. Closes SI-5426.
* | intermediate work towards a new starr for value classes.Martin Odersky2012-02-031-6/+6
| |
* | More work on inline classes.Paul Phillips2012-01-305-1/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Removed obsolete checkfile.Paul Phillips2012-01-302-13/+0
| |
* | Merge remote-tracking branch 'odersky/topic/inline' into inlinePaul Phillips2012-01-301-1/+1
|\ \
| * | updated check file; got accidentally dropped from last commit.Martin Odersky2012-01-301-1/+1
| | |
* | | Merge branch 'master' into inlinePaul Phillips2012-01-307-0/+470
|\ \ \ | | |/ | |/|
| | |
| | \
| *-. \ Merge remote-tracking branches 'axel22/issue/4147', 'axel22/issue/5374' and ↵Paul Phillips2012-01-301-0/+19
| |\ \ \ | | | | | | | | | | | | | | | 'hubertp/ticket/4336' into develop
| | | * | Closes #4336.Hubert Plociniczak2012-01-301-0/+19
| | |/ / | | | | | | | | | | | | Some of the type params might already be instantiated if explicit type application is done. Review by @adriaanm
| * | | Fixed the benchmarks a bit.aleksandar2012-01-303-18/+27
| | | |
| * | | Merge pull request #1 from lpereir4/avlAleksandar Prokopec2012-01-306-0/+442
| |\ \ \ | | |/ / | |/| | 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.
* | | | Merge branch 'master' into inlinePaul Phillips2012-01-305-0/+81
|\| | | | |_|/ |/| | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala
| | |
| | \
| *-. \ Merge remote-tracking branches 'scalamacros/topic/yshowsymkinds' and ↵Paul Phillips2012-01-292-0/+14
| |\ \ \ | | | | | | | | | | | | | | | 'scalamacros/ticket/5418' into develop
| | | * | Test for https://issues.scala-lang.org/browse/SI-5418Eugene Burmako2012-01-292-0/+14
| | |/ /
| * | | Test case closes SI-4515.Paul Phillips2012-01-292-0/+47
| | | |
| * | | Bonus test case for SI-3999.Paul Phillips2012-01-281-0/+20
| | | |
* | | | Resinstantiating anyval-children test. Getting he complete build to run.Martin Odersky2012-01-302-0/+1
| | | |
* | | | Merge remote-tracking branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-2913-54/+89
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | 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.
| * | | Unsealed AnyVal.Paul Phillips2012-01-281-0/+1
| |/ / | | | | | | | | | | | | | | | 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
| | |
| | |
| | \
| *-. \ Merge remote-tracking branches 'scalamacros/topic/yshowsymkinds' and ↵Paul Phillips2012-01-271-15/+15
| |\ \ \ | |/ / / |/| | | | | | | 'axel22/feature/immutable-thread-safe' into develop
| | * | Set fields in immutable hash maps and hash sets to vals.aleksandar2012-01-261-15/+15
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | This is part of an effort to make the immutable collections (more) thread safe. The `::` still has non-final member fields for head and tail, but there is not much that can be done right now about that, since these fields are used by list buffers. Tried writing a test with unsafe initialization, but could not invent a scenario which actually fails, at least on the JDK6.
| * | Disabled "not found" suggestions.Paul Phillips2012-01-263-5/+5
| | | | | | | | | | | | | | | The benchmarks charts are confusing me and I want to rule it out as a problem by not having it exist for a while.
| * | Fix for recently induced -optimise crasher.Paul Phillips2012-01-262-0/+19
|/ / | | | | | | | | | | "Induced" but not in my estimation "caused". Would like to understand why the enclosed test case crashes under -optimise without this change to AddInterfaces.
| |
| \
*-. \ Merge remote-tracking branches 'axel22/issue/5374' and 'axel22/issue/5375' ↵Paul Phillips2012-01-254-10/+67
|\ \ \ | | | | | | | | | | | | into develop
| | * | Fix for SI-5375.aleksandar2012-01-252-0/+20
| | | | | | | | | | | | | | | | | | | | Changed CompositeThrowable to inherit Exception instead of Throwable. A few minor fixes for the jdk1.5 parallel collection tasks.
| * | | Refine fix for SI-5374 - make list deserialization backward-compatible.aleksandar2012-01-252-10/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done by structurally serializing list nodes, but prepending a special `ListSerializationStart` symbol ahead of the list. If this symbol is not in the object input stream, the deserialization reverts to the old mode. Note there is not much to be done for list buffers - their serialization was broken before, so legacy serialized list buffers are no longer deserializable. However, their serialVersionUID was changed to reflect this, so deserializing a legacy list buffer should fail fast.
* | | | Merge remote-tracking branch 'odersky/topic/reflect' into developPaul Phillips2012-01-251-8/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Symbols.scala src/compiler/scala/reflect/internal/Types.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/library/scala/reflect/api/Trees.scala
| * | | | Making reflection thread-safe.Martin Odersky2012-01-251-8/+8
| | | | | | | | | | | | | | | | | | | | The idea is that all operations that need to be synchronized are overriden in classes reflect.runtime.Synchronized*. Sometimes this applies to operations defined in SymbolTable, which can be directly overridden. Sometimes it is more convenient to generate SynchronizedClazz subclasses of SymbolTable classes Clazz. In the latter case, all instance creation must go over factory methods that can be overridden in the Synchronized traits.
* | | | | Use context for buffering errors that cannot/shouldn't be reported in the ↵Hubert Plociniczak2012-01-259-31/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | given moment (instead of throwing type errors). This avoids previous problems where we were creating fake error trees in some incorrect places like in type completers in Namers etc. Implicits relied heavily on type errors being thrown but performance should stay the same due to some explicit checks/returns. Some of the problems involved how ambiguous error messages were collected/reported because it was very random (similarly for divergent implicits). This should be more explicit now. Reduced the number of unnecessary cyclic references being thrown (apart from those in Symbols/Types which don't have a context and need to stay for now as is). Review by @paulp, @odersky.
* | | | | Cleaner range counting.Paul Phillips2012-01-242-0/+4233
| |_|/ / |/| | | | | | | | | | | Plus a big unit test I had lying around.