Skip to content

Conversation

@lpereir4
Copy link

  • removal of closures creation
  • use of polymorphic dispatch instead of pattern matching
  • scalacheck test in order to verify invariants hold
  • benchmarking files

soc and others added 15 commits December 7, 2011 22:09
Deprecate scala/xml/include/sax/Main.scala.
Move scala/swing/test/* to docs/examples.

Saves 160KB in scala-swing.jar.

Fixes SI-4627.
This implementation is based on AVL trees.
The current implementation is contributed by Lucien Pereira.

Fixes #4147.
Implementing a warning for the behavior described in SI-1987 gave me
enough of a foot in the door to fix it rather than warning about it. I
suppose this is a variation of rubber ducky debugging.

% scalac -Ylog:typer test/files/run/t1987.scala
[log typer] !!! Overloaded package object member resolved incorrectly.
  Discarded: def duh(n: Double): Unit
  Using: val duh: (n: Double)Unit <and> (n: Long)Unit

Review by @odersky.
A small dose of packedType closes SI-4869.
@lpereir4
Copy link
Author

My mistake, please only take the five last commits.

axel22 added a commit that referenced this pull request Jan 30, 2012
AvlTree performance improvements
@axel22 axel22 merged commit bdb3fc8 into axel22:issue/4147 Jan 30, 2012
axel22 pushed a commit that referenced this pull request Feb 3, 2012
This change resolves some issues with ParCtrie splitters and their
`remaining` method, which currently evaluates the size of the Ctrie.
Since this is still not done lazily, nor in parallel, it has a certain cost,
which is unacceptable.

Change #1: The `shouldSplitFurther` method is by default implemented by
calling the `remaining` method. This method now forwards the call to the
same method in the splitter which is by default implemented in the same
way as before, but can be overridden by custom collections such as the
ParCtrie.

Change #2: ParCtrie splitter now has a `level` member which just counts
how many times the method has been split. This information is used to
override the default `shouldSplitFurther` implementation.

Change #3: The tasks and splitters rely heavily on the `remaining` method
in the splitter for most operations. There is an additional method called
`isRemainingCheap` which returns true by default, but can be overridden
by custom collections such as the `Ctrie`.
axel22 pushed a commit that referenced this pull request Jul 10, 2012
- relaxed the restrictions on nodes - nodes can be classes, traits and
objects, both stand-alone and companion objects -- all are added to the
diagram, but usually companion objects are filtered out as they don't
have any superclasses
- changed the rules for default diagram creation:
  - classes and traits (and AnyRef) get inheritance diagrams
  - packages and objects get content diagrams
(can be overridden by @contentDiagram [hideDiagram] and
@inheritanceDiagram [hideDiagram])
- tweaked the model to register subclasses of Any
- hardcoded the scala package diagram to show all relations
- enabled @contentDiagram showInheritedNodes by default and changed
the setting to hideInheritedNodes (and added a test for this)
- better node selection (can select nodes that don't have a
corresponding trait)
- fixed the docsite link in member selection, which was broken since
the first commit :))
axel22 pushed a commit that referenced this pull request Aug 14, 2012
Keeps fingerprints in scopes which are bitsets telling you what the last 6 bits of each hashcode of the names stored in the scope are. findMember will avoid looking in a scope if inferprints do not match.
axel22 pushed a commit that referenced this pull request Oct 3, 2012
This change allows an additional notation of the @throws annotation:

  Old-style: @throws(classOf[Exception])
  New-style: @throws[Exception]

The optional String argument moves @throws in line with @deprecated,
@migration, etc. and prevents confusion caused by the default inheritance
of ScalaDoc comments and the non-inheritance of annotations.

  Before: /** This method does ...
            * @throws IllegalArgumentException if `a` is less than 0. */
          @throws(classOf[IllegalArgumentException])
          def foo(a: Int) = ...

  Now:    /** This method does ... */
          @throws[IllegalArgumentException]("if `a` is less than 0")
          def foo(a: Int) = ...

ScalaDoc @throws tags remain supported for cases where documentation of
thrown exceptions is needed, but are not supposed to be added to the
exception attribute of the class file.

In this commit the necessary compiler support is added.
The code to extract exceptions from annotations is now shared instead
of being duplicated all over the place.

The change is completely source and binary compatible, except that the code
is now enforcing that the type thrown is a subtype of Throwable as mandated
by the JVM spec  instead of allowing something like @throws(classOf[String]).

Not in this commit:
  - ScalaDoc support to add the String argument to ScalaDoc's exception list
  - Adaption of the library
axel22 pushed a commit that referenced this pull request May 30, 2013
Additional test case for Lukas' fix to annotated originals.
axel22 pushed a commit that referenced this pull request May 30, 2013
We actually need to call normalize here, otherwise we don't
progress through #1 below.

    [infer implicit] scala.this.Predef.implicitly[Higher[Foo.Bar]] with pt=Higher[Foo.Bar] in object Foo
    1. tp=Foo.Bar tp.normalize=[A <: <?>]Foo.Bar[A] tp.dealias=Foo.Bar
    2. tp=Foo.Bar[A] tp.normalize=Box[A] tp.dealias=Box[A]
axel22 pushed a commit that referenced this pull request Oct 28, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants