summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Moved meta annotations to annotation.meta, plus.Paul Phillips2011-10-1037-267/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It took me a long time to find a trivial error while adjusting the annotation packages, so I spent even longer trying to make sure next time it would take me less time. It's the usual business of eliminating duplication and unnecessary indirection. Behavioral note: there was no consistency or deducible reasoning regarding when annotation checks would be performed against the typeSymbol directly (thus excluding annotation subclasses) or when they would do a subclass check. I saw no reason it shouldn't always be a subclass check; if the annotation isn't supposed to be subclassed it should be final, and if it is, then the subclasses had probably better not stop exhibiting the behavior of the base class. Example: this now draws deprecated warnings, but did not before. class bippy extends deprecated("hi mom", "burma shave") @bippy def f = 5 (The deprecation message isn't printed so we're not there yet, but closer.) There is some new internal documentation on annotations, sadly lacking in my famous ascii diagrams, and some new conveniences. Review by rytz.
* Minor update of the PC's testing framework.Micro Dotta2011-10-092-7/+19
|
* Flipped varargs eta-expansion behavior.Paul Phillips2011-10-0911-4/+42
| | | | | | | | | | | (T*)U now eta-expands to Seq[T] => U, not T* => U. There is a transition command line switch to get the old behavior for any who may have relied upon it: -Yeta-expand-keeps-star Closes SI-4176, no review.
* Fix for error printing regression.Paul Phillips2011-10-093-5/+17
| | | | | | One's devotion to aesthetics must not be allowed to trump one's commitment to clearly delineated tuplehood. Closes SI-5067, no review.
* Big improvements to the documentation of collec...Heather Miller2011-10-092-15/+171
| | | | | | | Big improvements to the documentation of collection.Iterator, courtesy of Daniel Sobral. Also includes a small correction to the documentation of sys.process.Process. No review.
* Fixes to javascript in Scaladoc, contributed by...Heather Miller2011-10-091-3/+6
| | | | | | Fixes to javascript in Scaladoc, contributed by Ruediger Keller. Closes SI-5055, no review.
* Added ??? and NotImplementedError because this ...Martin Odersky2011-10-072-0/+24
| | | | | | | Added ??? and NotImplementedError because this seemed to be the opinion of the majority on the "Adding ??? to Predef?" thread on scala-internals. No review.
* Added parameter keepSrcLoaded to askStructure's...Micro Dotta2011-10-071-2/+3
| | | | | | | Added parameter keepSrcLoaded to askStructure's method, that is used to keep the source file as a loaded unit. This was nedeed to fix IDE ticket #1000531 (error when creating override indicators).
* Fixed overzealous caching of implicit members i...Martin Odersky2011-10-071-3/+5
| | | | | | | Fixed overzealous caching of implicit members in module classes. Fixes IDE ticket #1000647 "Implicit conversion not applied". Review by dotta. Still needs to be backported to 2.9.
* Fallback on stale type parameters in forInterac...Martin Odersky2011-10-071-6/+27
| | | | | | | | Fallback on stale type parameters in forInteractive mode. Should not be necessary bit unfortunately we cannot control all the calls we might get from different threads in the IDE. So it's better to be robust here. Partial fix of ticket #1000531
* Add "Google tokens for Scala" for symbolic name...Kato Kazuyoshi2011-10-063-4/+28
| | | | | | | | | | | | | Add "Google tokens for Scala" for symbolic names on Scaladoc. Review by ureche. We can't use Scala's symbolic names on Google. Instead of waiting Google, we'll introduce mapping from the names to equivalent searchable representations. This idea proposed by Grzegorz Kossakowski. https://groups.google.com/group/scala-internals/browse_thread/thread/413 dbc691542f76f
* Closing soundness hole in variance checking.Paul Phillips2011-10-063-2/+37
| | | | | See SI-5060. Review by odersky.
* Imprison the lisp test, no review.Paul Phillips2011-10-062-0/+0
|
* Use normal Global with RangePositions instead o...Hubert Plociniczak2011-10-051-1/+1
| | | | | | Use normal Global with RangePositions instead of interactive Global when Yrangepos is on. No review
* Adding debug output to track down override mark...Martin Odersky2011-10-051-7/+11
| | | | | Adding debug output to track down override marker error in IDE.
* Consistent hashCode for Symbol.Paul Phillips2011-10-051-2/+2
| | | | | | Use the string's hashcode so it is stable across jvm restarts. Closes SI-5056, no review.
* Massaging type printing and package objects.Paul Phillips2011-10-055-87/+79
| | | | | | Following the 2.5% performance will o' the wisp, and sweeping up the forest floor while I am blithely drawn to my inevitable doom. No review.
* Restores XML entity fix.Paul Phillips2011-10-043-4/+22
| | | | | | Did something eat some whitespace? I don't know. This is almost the same commit as r25783, but with different whitespace. No review.
* Revert "Fix for XML entity bug."Paul Phillips2011-10-043-22/+4
| | | | | | Until I have a second to figure out how a checkfile whose contents are *recorded from running the test case* can fail to match. No review.
* Add a small "template engine" and separete HTML...Kato Kazuyoshi2011-10-048-183/+302
| | | | | | Add a small "template engine" and separete HTML from Scaladoc's source code. Review by ureche.
* Add some basic tests for Scaladoc.Kato Kazuyoshi2011-10-043-2/+54
|
* Missing test closes #4494. no reviewHubert Plociniczak2011-10-042-0/+4
|
* Partest now correctly parses -Yrangepos (previo...Hubert Plociniczak2011-10-044-13/+17
| | | | | | | Partest now correctly parses -Yrangepos (previously no effect). Fixed some issues with range positions. partest now passes with -Yrangepos on. review by odersky (mostly done already).
* Fix for XML entity bug.Paul Phillips2011-10-043-4/+22
| | | | | | | | | | | | Hard to believe a bug like this can exist this long. Cay Horstman showed me. // Hey, where's my eacute? scala> <city name="San Jos&eacute;"/>.attributes foreach println name="San Jos&;" No review.
* Removinf reinstantiated Flags because it's not ...Martin Odersky2011-10-031-265/+0
| | | | | | Removinf reinstantiated Flags because it's not needed for IDE building, after all.
* Repairing bitrot with serialization.Paul Phillips2011-10-032-21/+9
| | | | | | | | The comment in SyntheticMethods and the comment in the serialization test said exactly opposite things. The logic at work all seems to be invalid anyway since nested objects are not treated like lazy vals, they have no bitmap. Serialize everything serializable. Review by plocinic.
* Reinstatiated Flags because its removal caused ...Martin Odersky2011-10-031-0/+265
| | | | | Reinstatiated Flags because its removal caused build failures.
* Selective dealiasing when printing errors.Paul Phillips2011-10-0370-321/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** Important note for busy commit log skimmers *** Symbol method "fullName" has been trying to serve the dual role of "how to print a symbol" and "how to find a class file." It cannot serve both these roles simultaneously, primarily because of package objects but other little things as well. Since in the majority of situations we want the one which corresponds to the idealized scala world, not the grubby bytecode, I went with that for fullName. When you require the path to a class (e.g. you are calling Class.forName) you should use javaClassName. package foo { package object bar { class Bippy } } If sym is Bippy's symbol, then sym.fullName == foo.bar.Bippy sym.javaClassName == foo.bar.package.Bippy *** End important note *** There are many situations where we (until now) forewent revealing everything we knew about a type mismatch. For instance, this isn't very helpful of scalac (at least in those more common cases where you didn't define type X on the previous repl line.) scala> type X = Int defined type alias X scala> def f(x: X): Byte = x <console>:8: error: type mismatch; found : X required: Byte def f(x: X): Byte = x ^ Now it says: found : X (which expands to) Int required: Byte def f(x: X): Byte = x ^ In addition I rearchitected a number of methods involving: - finding a symbol's owner - calculating a symbol's name - determining whether to print a prefix No review.
* Shuffling classes around.Paul Phillips2011-10-0134-128/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old Man Reflection is coming home and he's not going to like finding out a bunch of beans have moved into his reflecting room. We had better evict those guys before he blows his stack. scala.reflect.*Bean* --> scala.beans.* scala.beans, that's kind of a fancy package name for some beans. I figure it's time to start fishing or cutting bait on this kind of thing. I don't even know what beans are, but if we're going to have them in the mainline, the least surprising place to find them is scala.beans. If we don't want to put them in scala.beans for whatever reason, then I say they don't belong in trunk at all. Bonus round: scala.annotation.target --> scala.beans.meta I don't know if there is any more unfortunate name for a package possible than "target". Maybe ".svn" or ".git" if you could have dots in package names. Package CVS wouldn't hit too hard these days. Package lib_managed? I'll try to come up with something. In any case this golden opportunity could not be squandered. There is a new starr included, because GenJVM contains all kinds of shooting-from-the-hip Bean-related name hardcoding. (Yes, still. I ran out of stones. So a few birds escape with their lives... this time.)
* Cleanups involving name encoding and decoding.Martin Odersky2011-09-3010-12/+14
|
* First untested attempt to create a runtime comp...Martin Odersky2011-09-302-20/+76
| | | | | | First untested attempt to create a runtime compiler. Review by extempore.
* Fixed position error in Parsers detected by Hub...Martin Odersky2011-09-301-1/+1
| | | | | Fixed position error in Parsers detected by Hubert.
* Removed redundant testMartin Odersky2011-09-301-4/+0
|
* Elininated previously deprecated package reflec...Martin Odersky2011-09-3015-3189/+0
| | | | | Elininated previously deprecated package reflect.generic
* Massively simplified caseFieldAccessors.Paul Phillips2011-09-305-112/+106
| | | | | | | | | It's nice when you can delete such absurd complication by figuring out how to avoid it in the first place. Also includes some Namer cleanup as I tried to follow the logic involved to fix a protected[this] accessor bug. No review.
* My suspicion that unsafeTypeParams was "double-...Paul Phillips2011-09-301-5/+5
| | | | | | | My suspicion that unsafeTypeParams was "double-adjustment-dipping" its phase manipulation is borne out by the fact that no tests were harmed in the removal of the second adjustment. OK, review by odersky.
* Reflection classloader hack.Paul Phillips2011-09-291-1/+13
| | | | | | Finding top level classes from the command line. Hackiness will diminish greatly. Review by odersky.
* Removed special comments on Martin's requestmichelou2011-09-2915-356/+10
|
* Following Paul's detective work, fixed Java cla...Martin Odersky2011-09-293-1/+19
| | | | | | Following Paul's detective work, fixed Java class loading in reflection. Moved test code.scala into checkin build. Yay!
* A few pending refinements to SyntheticMethods.Paul Phillips2011-09-282-56/+61
| | | | | No review.
* Improved an error message.Paul Phillips2011-09-285-19/+26
| | | | | Closes SI-4319, no review.
* Fix bug in ModuleDef elimination.Paul Phillips2011-09-283-14/+26
| | | | | Fixes corner case diagnosed by miguel. Closes SI-5012, no review.
* BigDecimal adjustments.Paul Phillips2011-09-283-7/+48
| | | | | | More sensible use of MathContext, plus some BigDecimal tests. Contributed by Erik Osheim. Closes SI-4981, no review.
* Hand specialized SettingValue.Paul Phillips2011-09-283-22/+28
| | | | | | | | | | | | | | | Discovered every time we do something like if (settings.debug.value) the boolean is coming out of a box. How uncouth. To fix this, I had to make the storage abstract, so concrete setting types have to declare the storage personally. This seems a small price to pay. I tried to use specialization but I think it's impossible to get the type parameter and the abstract type to agree with one another when mr. invariant var is the object of your affection, without scalac putting the kibosh on the whole adventure. No review.
* Pulling wool over ant's eyes.Paul Phillips2011-09-281-0/+3
| | | | | No review.
* More consistent usage of atPhase.Paul Phillips2011-09-283-28/+27
| | | | | | | | | | Some improvables I noticed while working on a fingerprint phase. This eliminates fifty classes from the compiler. My new hobby is reading the whole bytecode diff anytime I'm touching something like unsafeTypeParams where I know someone is liable to start praying for my network access to fail, so I hope knowing that fills you with new confidence. Anyway, review by moors.
* Fixes #4895.Aleksandar Pokopec2011-09-283-2/+28
| | | | | | | The size map size computation for parallel hash sets was invalid. No review.
* Oops, can't even revert right.Paul Phillips2011-09-281-1/+1
| | | | | No review.
* Put back the XXX line in partest.Paul Phillips2011-09-281-1/+2
| | | | | | Classpaths and partest, soon to be jointly responsible for one or more tragedies. No review.
* Fix for classpaths.Paul Phillips2011-09-283-6/+3
| | | | | Not sys.props("CLASSPATH"), sys.env("CLASSPATH"). No review.