summaryrefslogtreecommitdiff
path: root/test/files
Commit message (Collapse)AuthorAgeFilesLines
* A couple more checkfiles and comments.Paul Phillips2012-02-042-2/+2
| | | | | | | I guess I have to suck up the "C with Object" here in order to get the "Array[T with Object]" I need in a different test. Now all tests pass for reals.
* Checkfile output update for AnyVal class.Paul Phillips2012-02-041-1/+4
| | | | And with that one, I believe all tests pass.
* Fixed all but one of the scalap tests.Paul Phillips2012-02-0419-21/+21
|
* Fixed specialized tests.Paul Phillips2012-02-041-1/+1
|
* Fixed scalacheck tests.Paul Phillips2012-02-041-1/+1
|
* Making AnyVal into a class instead of a trait.Paul Phillips2012-02-042-0/+11
| | | | | | | | | | | | | | | | | | | -- 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.
* Simple test manipulating Any-derived traits.Paul Phillips2012-02-041-0/+16
|
* Updated checkfiles to subtract ScalaObject.Paul Phillips2012-02-0418-37/+26
|
* Merge branch 'master' into topic/inlinePaul Phillips2012-02-0392-19/+967
|\
| * 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-0/+427
| | |
| * | Miscellaneous fixes to reificationEugene Burmako2012-02-0223-0/+246
| |/ | | | | | | | | | | | | | | 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-0112-0/+100
| |\ \ | | | | | | | | | | | | 'scalamacros/pullrequest/5256' into develop
| | | * Hardens classToType logicEugene Burmako2012-02-0110-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-012-0/+15
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | 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-015-0/+53
| |\ \ \ | | | | | | | | | | | | | | | '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.
| | * | 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-302-0/+133
|\ \ \ | | |/ | |/|
| | |
| | \
| *-. \ 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
| * | | Merge pull request #1 from lpereir4/avlAleksandar Prokopec2012-01-301-0/+114
| |\ \ \ | | |/ / | |/| | AvlTree performance improvements
| | * | Scalacheck test in order to ensure AVL invariants are respected.Lucien Pereira2012-01-281-0/+114
| | | |
* | | | Merge branch 'master' into inlinePaul Phillips2012-01-303-0/+67
|\| | | | |_|/ |/| | | | | | | | Conflicts: src/compiler/scala/reflect/internal/Definitions.scala
| * | 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/+2
| | |
* | | Merge remote-tracking branch 'paulp/inline' into topic/inlineMartin Odersky2012-01-2912-54/+88
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 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.