summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | | Making reflection thread-safe.Martin Odersky2012-01-2538-345/+726
| | | | | | | | | | | | | | | | | | | | 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.
| * | | | Cleanup and better documentation of reflect.api.Symbols traitMartin Odersky2012-01-251-28/+63
| | | | |
| * | | | Added doc comments to Names trait.Martin Odersky2012-01-251-3/+30
| | | | |
| | | | |
| \ \ \ \
| \ \ \ \
| \ \ \ \
*---. \ \ \ \ Merge remote-tracking branches 'hubertp/topic/errors', ↵Paul Phillips2012-01-253-6/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 'scalamacros/topic/antbuildexception', 'leifwickland/SI-5405' and 'axel22/issue/5377' into develop
| | | * | | | | Update for fix for SI-5377.aleksandar2012-01-241-2/+3
| | | | |_|/ / | | | |/| | | | | | | | | | | | | | | | | Converting the buffer to another arraybuffer instead of to a list.
| | * | | | | SI-5405: Fix documentation error in scala.math.BigIntLeif Wickland2012-01-241-3/+3
| | | | | | |
| * | | | | | Scalac fork no longer dumps stacktraces on compilation errorsEugene Burmako2012-01-251-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current behavior of scalacfork task is to fail the build when there are compilation errors reported by scalac fork. So far, so good. However, this functionality is implemented by throwing sys.error, which makes ant dump the entire stacktrace. This is annoying, since it almost certainly scrolls the screen away of the error (hello, dear 1366x768) and buries it under a meaningless stacktrace. Surprisingly, there is a very simple fix that remedies the situation. Credit goes to @bakoyaro from SO: http://bit.ly/xdR306
* | | | | | | Use context for buffering errors that cannot/shouldn't be reported in the ↵Hubert Plociniczak2012-01-2534-1198/+2149
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | | | Renamed a method and made it more available.Paul Phillips2012-01-242-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have too many methods called "widen" and/or "normalize". Renamed one of them to something more instructive. Or in the words of abe simpson, Dear Mr. President: There are too many states nowadays. Please eliminate three. P.S. I am not a crackpot.
* | | | | | Eliminated redundant function.Paul Phillips2012-01-241-9/+1
| | | | | |
* | | | | | Cleaner range counting.Paul Phillips2012-01-243-9/+4260
| | | | | | | | | | | | | | | | | | | | | | | | Plus a big unit test I had lying around.
* | | | | | Got out in front of catastrophic failure.Paul Phillips2012-01-241-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should be better than "typeConstructor inapplicable for <none>" being the default message communicating "something is wrong with your attempt to use a compiler programatically."
* | | | | | Created NoAbstractFile.Paul Phillips2012-01-242-1/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A very distinguished value in case one feels (as this one does) that null is disheartening and Option only marginally better.
* | | | | | Moved some code.Paul Phillips2012-01-242-14/+24
|/ / / / / | | | | | | | | | | | | | | | From ConsoleReporter to Position so others can use it.
* | | | | Merge remote-tracking branches 'scalamacros/topic/partest' and ↵Paul Phillips2012-01-249-19/+69
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'gkossakowski/virtpatmat-emitswitch' into develop
| * | | | | Made partest fully support locker-based distribsEugene Burmako2012-01-249-19/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch brings support for specialized and scalacheck tests, and finally makes it possible to run partest for locker. To do that, you need to write your own partest script: http://bit.ly/wl9HaH, and keep another clone of your repository that would provide the classes for running partest. That clone should then be build normally (ant build), and be used to transplant the stuff that isn't built by locker, namely: partest, actors, scalacheck, forkjoin, fjbg, msil and jline. For more information take a look at my scavenger: http://bit.ly/AjMiud.
* | | | | | Merge remote-tracking branch 'gkossakowski/virtpatmat-emitswitch' into developPaul Phillips2012-01-231-41/+27
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Simplified emitSwitch in PatMatVirtualiser.Grzegorz Kossakowski2012-01-241-41/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplified emitSwitch method that does not emit forward jumps for switch tables. Instead, it emits Match trees that are of a shape that can be directly translated to switch. The backend takes care of the actual translation from Match trees into switch tables. As a bonus, we emit more compact trees compared to the old implementation of emitSwitch. Review by @adriaanm.
| | | | | |
| \ \ \ \ \
| \ \ \ \ \
| \ \ \ \ \
*---. \ \ \ \ \ Merge remote-tracking branches 'axel22/issue/5374', 'axel22/issue/5262', ↵Paul Phillips2012-01-2311-36/+193
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | | | | | | | | | 'scalamacros/topic/macros' and 'kmizu/pullrequest-fix-SI-4835' into develop
| | | * | | | | Add test case for SI-4835 (https://issues.scala-lang.org/browse/SI-4835)Kota Mizushima2012-01-232-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test case only confirm that StreamIterator's lazyiness is not broken. Test case about memory consumption could be created. However, such a test cause a greatly increased time of test.
| | | * | | | | * Fixed SI-4835 (https://issues.scala-lang.org/browse/SI-4835).Kota Mizushima2012-01-231-2/+8
| | | |/ / / /
| | * | | | | Temporarily disabling debug traces in macro testsEugene Burmako2012-01-232-12/+22
| | | | | | |
| * | | | | | Test files for SI-5262, which was fixed by SI-5374.aleksandar2012-01-232-0/+28
| | |_|_|/ / | |/| | | |
| * | | | | Fix for SI-5374.aleksandar2012-01-234-22/+90
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Lists are now serialized so that the entire list structure is serialized, including list nodes. This is different from the previous behaviour where only the elements were serialized. List buffers are now optimized so that only the elements of the list are serialized, and not the nodes of the internally maintained list.
* | | | | Figured out the "$class$1" problem.Paul Phillips2012-01-238-56/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In lambda lift traits are renamed independently of their implementation classes, leading in the case of a method-defined trait to an interface called A$1 and an impl class called A$class$1 rather than A$1$class. This is now remedied.
* | | | | Linked up $class visibility to symbol redefinition.Paul Phillips2012-01-234-10/+17
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In what feels like divine intervention as I spent my entire day yesterday unsuccessfully attempting to understand why running atop my new classpath code, trunk would compile and then fail like this: build.xml:1683: Could not create type partest due to java.lang.NoSuchMethodError: scala.tools.ant.sabbus.CompilationPathProperty$class.$init$(Lscala/tools/ant/sabbus/CompilationPathProperty;)V I discovered the link by trying to debug a seemingly completely unrelated problem reported by pvlugter. On the one hand you have PathResolver/ClassPath, which by default does not place trait implementation classes on the compilation classpath, but does do so under -optimise (as I understand it, this is so inlining can be performed, so let us ignore the fact that methods in traits are never inlined, as outlined in SI-4767.) object DefaultJavaContext extends JavaContext { override def isValidName(name: String) = !isTraitImplementation(name) } Then on the other hand you have this logic in AddInterfaces: if (impl != NoSymbol && settings.optimise.value) { log("unlinking impl class " + impl) ... } The test in AddInterfaces is hardcoded to only consider the value of -optimise. Which means that in the completely default -optimise setup, it corresponds to the answers given by "isValidName" in JavaContext, but nothing keeps those elements in sync. The connection to my lost day was that, thinking I was "simplifying" my development, I had commented out the override in DefaultJavaContext so that all classes were on the compilation path. This caused the state of settings.optimise (still false) and whether impl classes were on the classpath (now true) to fall into fatal disagreement.
| | | |
| \ \ \
*-. \ \ \ Merge remote-tracking branches 'scalamacros/topic/partest' and ↵Paul Phillips2012-01-222-53/+84
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'magarciaEPFL/fasterInliner' into develop
| | * | | | increased realiabilityMiguel Garcia2012-01-221-3/+6
| | | | | |
| | * | | | fix to avoid loading what shouldn't be loadedMiguel Garcia2012-01-201-5/+4
| | | | | |
| | * | | | further reduction in inlining time. This time, 40%Miguel Garcia2012-01-201-48/+70
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two main improvements: (a) an IClass is loaded via ICodeReader at most once. (b) given that type-flow analysis results don't change for "external" methods (those loaded via ICodeReader), we can cache them. The same inlining decisions are made as before, see -Ylog:inliner, with a focus on lines starting with "[log inliner] Inlining" review by @VladUreche @dragos @paulp
| * | | | Fixes a bug that messed up --classpath in partestEugene Burmako2012-01-201-4/+11
| | |/ / | |/| |
* | | | Made typeConstructor applicable for some.Paul Phillips2012-01-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Or at least made the error message applicable for some. NSDNHO too. It almost feels like sacrilege to mess with "no-symbol does not have owner", even to the extent of adding the indefinite article. May Zeus not strike me down.
* | | | Merge remote-tracking branches 'retronym/ticket/5072' and ↵Paul Phillips2012-01-213-2/+43
|\ \ \ \ | | | | | | | | | | | | | | | 'odersky/topic/t5120' into develop
| * | | | Fix for problem in SBT that was caused by the too severe fix of type ↵Martin Odersky2012-01-213-2/+43
| | |/ / | |/| | | | | | | | | | soundness problem t5120.
* | | | A better REPL context classloader.Jason Zaugg2012-01-214-5/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when using ThreadStoppingLineManager (ie, not using -Yrepl-sync), the parent classloader was installed as the thread context classloader. On my machine, this was null. Now, the behaviour is consistent with the thread-free line manager, and allows access to classes defined during the REPL session. Closes SI-5072
* | | | Test case for already closed SI-4271.Paul Phillips2012-01-202-0/+22
| | | |
* | | | Test case for already closed SI-4176.Paul Phillips2012-01-201-0/+6
| | | |
| | | |
| \ \ \
*-. \ \ \ Merge remote-tracking branches 'cvogt/windowsExitCodeFix' and ↵Paul Phillips2012-01-204-2/+17
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'szabolcsberecz/SI-5066' into develop
| | * | | | Closes SI-5066Szabolcs Berecz2012-01-203-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | readLine("%s", "prompt") printed "WrappedArray(prompt)" readLine("%s%s", "pro", "mpt") threw a MissingFormatArgumentException
| * | | | | Fixed windows bat file exit code and command chaining (finally)Christopher Vogt2012-01-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was, that executing the following command in the windows shell, always executed scala.bat regardless of the outcome of scalac.bat: scalac.bat somefile.scala && scala.bat Test Apparently exit codes are broken for windows bat files. Implementing the workaround suggested at http://stackoverflow.com/questions/4632891/exiting-batch-with-exit-b-x-where-x-1-acts-as-if-command-completed-successfu fixed the problem. Tested manually in Windows 7 64.
* | | | | | Merge remote-tracking branch 'jsuereth/nicer-push-script' into developPaul Phillips2012-01-202-3/+14
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | |
| * | | | | Made the binary push script a bit friendlier for humansJosh Suereth2012-01-202-3/+14
| | | | | |
* | | | | | Merge remote-tracking branch 'kepler/topic/macros' into developPaul Phillips2012-01-201-4/+2
|\ \ \ \ \ \
| * | | | | | Quick fix for one of the macro testsEugene Burmako2012-01-201-4/+2
| | | | | | |
* | | | | | | Merge remote-tracking branch 'kepler/topic/macros' into developPaul Phillips2012-01-1924-50/+516
|\| | | | | | | |_|_|_|/ / |/| | | | |
| * | | | | Progress with macrosEugene Burmako2012-01-2024-50/+516
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A short recap: * Macro expansion now works finely for instance macro invocations * Macros are now hidden behind -Xmacros * Bodies of macros now have "import _context._" in their preamble * Macros are now loaded from classpath, much like regular libraries * Macros can now override methods (in that case macro expansion does not crash if macro is not found, it just falls back to super) Review by @odersky.
* | | | | Merge branch 'pullRequestIssue5387-withTest' of ↵Paul Phillips2012-01-192-1/+16
|\ \ \ \ \ | | |/ / / | |/| / / | |_|/ / |/| | | https://github.com/cvogt/scala into develop
| * | | Improved performance of TraversableLike.dropWhile, which now stops ↵Christopher Vogt2012-01-202-1/+16
| |/ / | | | | | | | | | | | | | | | re-evaluating the predicate after it once evaluated to true. Closes SI-5387.
* | | Avoid calculating similar strings sometimes.Paul Phillips2012-01-192-5/+20
| | | | | | | | | | | | | | | Like when they're useless. As per suggestion from moors. Closes SI-5382.
* | | Made edit distance case-insensitive.Paul Phillips2012-01-191-1/+3
|/ / | | | | | | As per suggestion from mharrah.