summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #553 from heathermiller/doc/linksJosh Suereth2012-05-1616-30/+27
|\ | | | | Small documentation fixes & small fix to Scaladoc @see formatting
| * Corrects links in API documentationHeather Miller2012-05-1611-18/+16
| |
| * Missed a straggling doc comment.Heather Miller2012-05-151-1/+1
| |
| * Small documentation fixes & small fix to Scaladoc @see formattingHeather Miller2012-05-155-11/+10
| |
* | Putting back things sbt noticed were gone.Paul Phillips2012-05-153-0/+30
| |
* | Removing more unneeded code.Paul Phillips2012-05-1538-1330/+123
| |
* | Test adjustments.Paul Phillips2012-05-151-0/+1
| |
* | Removing extraneous files.Paul Phillips2012-05-1571-5380/+56
| | | | | | | | Culling accumulated unnecessary code.
* | Enumeration#maxId: fix documentation to reflect realityScott R. Parish2012-05-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maxId is not really the "maximum id", but rather one past the max: scala> object Foo extends Enumeration { | val x = Value | val y = Value | } defined module Foo scala> Foo.maxId res0: Int = 2 scala> Foo(2) java.util.NoSuchElementException: key not found: 2 at scala.collection.MapLike$class.default(MapLike.scala:225) ... scala> Foo(1) res2: Foo.Value = y
* | Fixed positions for `AnnotationInfo.original`.Iulian Dragos2012-05-151-1/+5
|/
* Tweak to avoid value classes in modifier check.Paul Phillips2012-05-141-1/+1
|
* Debugging output tweaks.Paul Phillips2012-05-145-26/+35
| | | | And undeprecated Positional.
* No-op changes.Paul Phillips2012-05-143-6/+3
| | | | | Fixed a comment and simplified a mysterious "if (x) y else y" method thanks to the helpful jibe received in comments.
*-------. Merge commit 'refs/pull/547/head'; commit 'refs/pull/548/head'; commit ↵Paul Phillips2012-05-147-24/+68
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'refs/pull/549/head'; commit 'refs/pull/550/head'; commit 'refs/pull/551/head' into develop
| | | | | * Better fix for SI-5676. Review by @paulpHubert Plociniczak2012-05-142-5/+8
| | | | | |
| | | | * | Closes SI-5796.Hubert Plociniczak2012-05-141-2/+3
| | | | |/
| | | * | fix SI-5384Lukas Rytz2012-05-141-2/+22
| | | | | | | | | | | | | | | | | | | | make TreeInfo recognize constructor calls after named arguments transformation.
| | * | | suspend type vars in SubTypePair's equalsAdriaan Moors2012-05-141-4/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SubTypePair's equals method calls =:= on the involved types, which mutates the TypeVars contained in them this is undesirable since we're simply checking whether a subtype test is pending in addition to making subtyping "more correct" for type vars, it should avoid the stackoverflow that's been plaguing us (https://groups.google.com/d/topic/scala-internals/2gHzNjtB4xA/discussion) SubTypePair's equals method method is only called when subtype checking hits a recursion threshold (subsametypeRecursions >= LogPendingSubTypesThreshold)
| * | | | Specialize lazy vals (closes SI-5552)Erik Osheim2012-05-142-11/+14
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, specialized lazy vals would not work at all when used in specialized classes, and would just return an uninitialized value. After this patch, they work in the same way as other specialized fields do (i.e. a new specialized field is created, and the specialized class uses that instead of the base class' field). Note that there are still known problems with specialized lazy vals (for instance SI-4717) but it seemed to me that this was better than nothing.
* / / / Removed an unnecessary self type.Paul Phillips2012-05-141-2/+0
|/ / /
* | | Address doc comment rot in the standard library.Jason Zaugg2012-05-1394-370/+204
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Match @param/@tparam names to the actual parameter name - Use @tparam for type parameters - Whitespace is required between `*` and `@` - Fix incorrect references to @define macros. - Use of monospace `` and {{{}}} (much more needed) - Remove `@param p1 ...` stubs, which appear in the generated docss. - But, retainsed `@param p1` stubs, assuming they will be filtered from the generated docs by SI-5795. - Avoid use of the shorthand `@param doc for the solitary param` (which works, but isn't recognized by the code inspection in IntelliJ I used to sweep through the problems) The remaining warnings from `ant docs` seem spurious, I suspect they are an unintended consequence of documenting extension methods. [scaladoc] /Users/jason/code/scala/src/library/scala/collection/TraversableOnce.scala:181: warning: Variable coll undefined in comment for method reduceOption in class Tuple2Zipped [scaladoc] def reduceOption[A1 >: A](op: (A1, A1) => A1): Option[A1] = reduceLeftOption(op) [scaladoc] ^
* | | Tweak to the runner to deal with the big bad world.Paul Phillips2012-05-131-2/+11
| | | | | | | | | | | | | | | Relative symlinks which start with .. are then run with an absolute path. It's robustness city.
* | | Deprecated some classes.Paul Phillips2012-05-1218-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All this stuff. I believe most of this is uncontroversial. scala/util/Marshal.scala scala/util/automata/BaseBerrySethi.scala scala/util/automata/DetWordAutom.scala scala/util/automata/Inclusion.scala scala/util/automata/NondetWordAutom.scala scala/util/automata/SubsetConstruction.scala scala/util/automata/WordBerrySethi.scala scala/util/grammar/HedgeRHS.scala scala/util/grammar/TreeRHS.scala scala/util/parsing/ast/AbstractSyntax.scala scala/util/parsing/ast/Binders.scala scala/util/parsing/combinator/testing/RegexTest.scala scala/util/parsing/combinator/testing/Tester.scala scala/util/parsing/input/Positional.scala scala/util/regexp/Base.scala scala/util/regexp/PointedHedgeExp.scala scala/util/regexp/SyntaxError.scala scala/util/regexp/WordExp.scala I'd have deprecated much of it long ago if the compiler didn't still depend on it due to xml/dtd/something. And it still does, but it's time to deprecate them anyway.
* | | Merge branch 'master' of https://github.com/scala/scalaPaul Phillips2012-05-121-2/+25
|\| |
| * | Clutch modification to tree printing.Paul Phillips2012-05-121-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't print trees under -Xprint:all if they're identical to the tree printed at the previous phase. It only works for a single compilation unit but that is a huge step forward for us debuggers. For instance this file: trait Foo { def f = 5 } used to produce 332 lines of output and now produces 92, with zero loss of information. It ends with: [[syntax trees at end of cleanup]] // a.scala: tree is unchanged since mixin [[syntax trees at end of icode]] // a.scala: tree is unchanged since mixin [[syntax trees at end of inliner]] // a.scala: tree is unchanged since mixin [[syntax trees at end of inlineExceptionHandlers]] // a.scala: tree is unchanged since mixin [[syntax trees at end of closelim]] // a.scala: tree is unchanged since mixin [[syntax trees at end of dce]] // a.scala: tree is unchanged since mixin [[syntax trees at end of jvm]] // a.scala: tree is unchanged since mixin
| | |
| \ \
| \ \
| \ \
| \ \
| \ \
| \ \
| \ \
*-------. \ \ Merge remote-tracking branches 'retronym/ticket/5407', ↵Paul Phillips2012-05-125-129/+207
|\ \ \ \ \ \ \ | |_|_|_|_|/ / |/| | | | | | | | | | | | | 'scalamacros/topic/macrocherrypick', 'lrytz/t5626', 'lrytz/t5009', 'retronym/ticket/5029', 'retronym/ticket/4025', 'retronym/topic/quieter-nsdhnao' and 'retronym/ticket/1133' into develop
| | | | | * | NSDNHAO need not tell us in which version it resides.Jason Zaugg2012-05-121-1/+1
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done for all crashers now. Furthermore, that error report makes it pretty clear that it's a compiler bug, not user error, so "this is a bug" seem like needless words. Resisted the nostalgic temptation to remove the "an".
| | | | * | Fix SI-5009: case-class copy method now eta-expands over higher parameter lists.Lukas Rytz2012-05-111-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Example: Given case class C(a: Int)(b: Int) if you call (new C(1)(2)).copy(a = 10)), you get a function (f: Int => C) such that (f.apply(20)) yields a (new C(10)(20)).
| | | * | | Fix SI-5626.Lukas Rytz2012-05-111-2/+17
| | | |/ / | | | | | | | | | | | | | | | By not replacing 'CaseClass.apply()' factor by 'new CaseClass()' when the class type 'CaseClass' is not accessible.
| | * | | cherry-picking important macro fixes from topic/reflectionEugene Burmako2012-05-122-121/+172
| | | | |
| | | | |
| \ \ \ \
| \ \ \ \
| \ \ \ \
| \ \ \ \
| \ \ \ \
*-----. | | | | Merge commit 'refs/pull/530/head'; commit 'refs/pull/531/head'; commit ↵Paul Phillips2012-05-1126-80/+187
|\ \ \ \| | | | | | | | | | | | | | | | | | | | | | | | | | | | 'refs/pull/532/head'; commit 'refs/pull/533/head'; commit 'refs/pull/534/head' into develop
| | | | * | | | Recognize java enums as constants from source.Paul Phillips2012-05-113-2/+12
| | | | | |/ / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed up one of the mismatches between how java source is modeled and how java bytecode is modeled. We should get the rest of them too. Closes SI-2764.
| | | * / | | fixes a problem with an extractor object overloaded by a regular defEugene Burmako2012-05-112-1/+10
| | | |/ / /
| | * / / / Fix for unnecessary InnerClasses for top-level objects.Grzegorz Kossakowski2012-05-111-0/+22
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mirror classes (with static forwarders) for top-level objects would get unnecessary InnerClasses entries in some cases. See the following comment I introduced to the place I fixed: We need to make sure that we do not confuse inner classes of the class we mirror with inner classes of the class we are mirroring. These two sets can be different as seen in this case: ```scala class A { class B def b: B = new B } object C extends A ``` Here mirror class of C has a static forwarder for (inherited) method `b` therefore it refers to class `B` and needs InnerClasses entry. However, the real class for `C` (named `C$`) is empty and does not refer to `B` thus does not need InnerClasses entry it. NOTE: This logic has been refactored in GenASM and everything is implemented in a much cleaner way by having two separate buffers.
| | | | |
| | | \ \
| | *-. \ \ Merge commit 'refs/pull/527/head'; commit 'refs/pull/528/head'; commit ↵Paul Phillips2012-05-112-1/+17
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'refs/pull/529/head' into develop
| | | | * | | Fix for SI-5654.Lukas Rytz2012-05-101-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | More details as code comment and in the bug database.
| | | * | | | Use TreeInfo#isSelfConstrCall, rather than the hand-rolled version.Jason Zaugg2012-05-111-1/+1
| | | | | | |
| | | * | | | Forbid forward refs from self constructor invocations.Jason Zaugg2012-05-111-0/+9
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevents the wheels falling off during later compiler phases, or, worse, during bytecode verification. Closes SI-4098.
| | * | | | Merge commit 'refs/pull/526/head' into developPaul Phillips2012-05-101-1/+1
| | |\ \ \ \
| | | * | | | Fixed SI-5708. Correctly compute accessibility for object members.Iulian Dragos2012-05-101-1/+1
| | | | | | |
| | * | | | | Impl classes printed more accurately.Paul Phillips2012-05-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | They're not traits.
| | * | | | | Quieted down a developer warning.Paul Phillips2012-05-101-1/+1
| | | | | | |
| | * | | | | Be discriminating about custom hashcodes.Paul Phillips2012-05-106-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If there are no primitives, use the regular boxy one.
| | * | | | | More useful crash reports.Paul Phillips2012-05-104-19/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you can't get your hands on something which crashes scalac - I know, I know - you can try this ready-made crasher. % cat test/pending/pos/t4717.scala trait Bounds[@specialized A] { // okay without `>: A` def x[B >: A]: Unit = new Bounds[B] { lazy val it = ??? // def or val okay it } } % scalac -d /tmp test/pending/pos/t4717.scala error: while compiling: test/pending/pos/t4717.scala during phase: specialize library version: version 2.10.0-20120510-134429-ce1d68ed19 compiler version: version 2.10.0-20120510-152646-ba4dfd1e63 reconstructed args: -d /tmp last tree to typer: Select(This(trait Bounds$mcZ$sp), x$mcZ$sp) symbol: method x$mcZ$sp in trait Bounds$mcZ$sp (flags: override <method> <specialized>) symbol definition: override def x$mcZ$sp[B >: Boolean](): Unit tpe: [B >: Boolean]()Unit symbol owners: method x$mcZ$sp -> trait Bounds$mcZ$sp -> package <empty> context owners: value it -> anonymous class $anon -> method x$mcZ$sp -> trait Bounds$mcZ$sp -> package <empty> == Enclosing template or block == Block( Assign( $anon.this."it " Apply( // def ???(): Nothing in object Predef, tree.tpe=Nothing scala.this."Predef"."$qmark$qmark$qmark" // def ???(): Nothing in object Predef, tree.tpe=()Nothing Nil ) ) $anon.this."it " // lazy private[this] var it: Nothing, tree.tpe=Nothing ) == Expanded type of tree == PolyType( typeParams = List(TypeParam(B >: Boolean)) resultType = NullaryMethodType( resultType = TypeRef(TypeSymbol(final class Unit extends AnyVal)) ) ) // And then the usual stack trace
| | * | | | | Tweak to deal with reflective mirror.Paul Phillips2012-05-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stuff written during the era of "one symbol table" is surprised to find two.
| * | | | | | Move resolver and resolveEither to impl.Promisephaller2012-05-106-42/+28
| | | | | | |
* | | | | | | more defensive bridging to extractor: consider booleanAdriaan Moors2012-05-101-6/+12
| |/ / / / / |/| | | | |
* | | | | | Merge commit 'refs/pull/524/head'Paul Phillips2012-05-101-8/+10
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Fixed partest so it can run in SBT.Josh Suereth2012-05-101-8/+10
| | | | | |
* | | | | | Merge commit 'refs/pull/521/head' into developPaul Phillips2012-05-101-1/+4
|\ \ \ \ \ \