Permalink
Commits on Apr 27, 2012
  1. Revert "Moved ancillary methods off specialized traits."

    This reverts commit 1d0372f.
    
    I forgot about polymorphic dispatch.  Have to seek another way.
    paulp committed Apr 27, 2012
  2. fixes broken eval tests

    xeno-by committed Apr 27, 2012
  3. Merge commit 'refs/pull/445/head'; commit 'refs/pull/446/head'; commi…

    …t 'refs/pull/447/head' into develop
    paulp committed Apr 27, 2012
  4. fixes SI-5713

    xeno-by committed Apr 27, 2012
  5. SI-3755: catch exception thrown by adaptToNewrun

    it would be nice to have a test for this,
    but you'd need to involve the repl,
    as I couldn't trigger it using multiple scalac runs
    adriaanm committed Apr 27, 2012
Commits on Apr 26, 2012
  1. SI-5702 Pattern parser halts on star

    In patterns, the parser halts when it sees stars.
    This means it does not handle infix notation for a case class
    named "*".  This patch uses lookahead to decide whether to parse
    '_' '*' as a sequence pattern or as the start of infix.
    (For both normal and error cases, the tokens are always consumed
    immediately.) Error messages are improved for _* (as a help to learners)
    and slightly improved recovery helps the parse continue.
    The entry point for XML patterns is now distinct; otherwise,
    the change is local to pattern3-simplepattern; the entry point
    for simplepattern() is unchanged because it is commented
    "hook for IDE."
    som-snytt committed Apr 22, 2012
  2. Better position printing in NodePrinters.

    Try this unreasonably long command line:
    
    scalac -Xprint-pos -Yshow-trees -Xprint:all -Yrangepos *.scala
    paulp committed Apr 23, 2012
  3. A brand new, fast classfile parser.

    Try it: ./tools/dump-class ./build/quick/classes
    
    The output is intended to be easy to filter on the command line.
    This is a starting point for lots of interesting bytecode analysis
    for which we have waited too long.
    
    Example.  All generic signatures we produce.
    
      // almost 20K classfiles
      % find build/quick/classes -name '*.class' |wc -l
          18519
    
      // fully parsed in 6 seconds
      tools/dump-class build/quick/classes |grep "^  signature" | wc -l
          50802
    
      real	0m6.230s
    
    It's designed to be easy to make faster if you don't care about
    particular classfile bits; you can override those methods to jump
    forward in the input stream rather than building a structure.
    For just a little sampling, here are our most frequently
    repeated name/signature combinations.
    
    194   signature               <init>  ()V   // this one is weird, wonder why there's a generic signature
    115   signature    $div$colon$bslash  <A1:Ljava/lang/Object;>(TA1;Lscala/Function2<TA1;TA1;TA1;>;)TA1;
    105   signature          applyOrElse  <A1:Ljava/lang/Object;B1:Ljava/lang/Object;>(TA1;Lscala/Function1<TA1;TB1;>;)TB1;
    103   signature                 view  ()Ljava/lang/Object;
    101   signature                toSet  <B:Ljava/lang/Object;>()Lscala/collection/immutable/Set<TB;>;
    
    And the top five name/descriptor combinations.
    
    11170   descriptor           <clinit>  ()V
    10155   descriptor   serialVersionUID  J
    7130   descriptor              apply  (Ljava/lang/Object;)Ljava/lang/Object;
    3028   descriptor              apply  ()Ljava/lang/Object;
    2426   descriptor             <init>  ()V
    paulp committed Apr 26, 2012
  4. clean up typedMatchAnonFun

    adriaanm committed Apr 26, 2012
  5. SI-5690: no-selector match in function yields function

    the implicit beta-reduction performed by typedFunction on a Function(.., Match(EmptyTree, ...))
    must of course only be done when the selector actually is empty...
    
    (yes, typedMatchAnonFun needs to be cleaned up, I know)
    adriaanm committed Apr 26, 2012
  6. Trying to set an example in the land of macros.

    Hopefully there are useful examples to be had in here.
    Please note that you should never be testing "x.size != 0",
    use isEmpty or nonEmpty.  Even if these happen to be small
    collections, it's not a habit you want to form: size is O(n)
    on a number of collections.  (Most pointedly, Lists.)
    paulp committed Apr 26, 2012
  7. More style tips for team macros.

    paulp committed Apr 25, 2012
  8. Reverts 211df62 .

    A strange blip in the benchmarks makes me wish to see
    this on the sidelines.
    paulp committed Apr 26, 2012
Commits on Apr 25, 2012
  1. Merge commit 'refs/pull/439/head'; commit 'refs/pull/440/head'; commi…

    …t 'refs/pull/441/head' into develop
    paulp committed Apr 25, 2012
  2. diagnostics for SI-5692

    xeno-by committed Apr 25, 2012
  3. fixes SI-5693

    xeno-by committed Apr 25, 2012
  4. removes Expr <-> Tree implicits

    xeno-by committed Apr 25, 2012
  5. Minor tweaks to reifier logic.

    Nothing too major, please see the comment.
    paulp committed Apr 25, 2012
  6. Some long overdue conveniences.

    Not just conveniences though.  One of the clearest statements made
    by profiling is that collections methods of the form of the enclosed
    flatCollect are materially faster than the alternatives.
    paulp committed Apr 24, 2012
  7. Added a Presentation Compiler test for hyperlinking.

    This test ensures hyperlinking works inside and around pattern matching. The new virtual pattern matcher
    synthesizes trees that are not properly nested, and whose positions make it impossible to retrieve the correct
    tree/symbol for a given position. Therefore, the current test is using the old pattern matcher. However,
    once the virtual pattern matcher is fixed, remove the corresponding line from patmat.flags to re-enable virtpatmat.
    dragos committed Apr 25, 2012
  8. Merge commit 'refs/pull/436/head'

    paulp committed Apr 25, 2012
  9. Fix reifier crashing repl.

    Very first time I tried "reify" in the repl and it crashed.
    I changed an assert to issue a proper error, as best I could
    figure out how.  We probably need to do a lot more of this.
    paulp committed Apr 25, 2012
  10. fixes SI-5707

    xeno-by committed Apr 25, 2012
  11. fixes SI-5706

    xeno-by committed Apr 25, 2012
  12. Merge pull request #434 from adriaanm/topic/virtpatmat

    updated check file
    adriaanm committed Apr 25, 2012