summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Making reflection thread-safe.Martin Odersky2012-01-2537-337/+718
| | | | 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 branch 'pullRequestIssue5387-withTest' of ↵Paul Phillips2012-01-191-1/+1
|\ | | | | | | https://github.com/cvogt/scala into develop
| * Improved performance of TraversableLike.dropWhile, which now stops ↵Christopher Vogt2012-01-201-1/+1
| | | | | | | | | | | | 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.
* Merge remote-tracking branch 'dcsobral/interpolationFix'Paul Phillips2012-01-181-2/+2
|\
| * Fix check for number of argumentsDaniel C. Sobral2012-01-171-2/+2
| | | | | | | | | | | | | | Fix the test for number of arguments by passing all arguments instead of passing the argument list as a single argument. Add positive and negative tests for it.
* | Merge remote-tracking branches 'kmizu/pull-request-fix-SI-5377' and ↵Paul Phillips2012-01-181-1/+40
|\ \ | | | | | | | | | 'kepler/topic/showraw'
| * | Upgraded the implementation of showRawEugene Burmako2012-01-171-1/+40
| | | | | | | | | | | | | | | | | | Now showRaw no longer significantly lags behind -Yreify-copypaste. Didn't put very much effort into it, since quite soon LiftCode will become a macro and we'll be able to reuse it in RawTreePrinter.
* | | Fixed a bug SI-5377 (https://issues.scala-lang.org/browse/SI-5377).Kota Mizushima2012-01-191-1/+1
| | | | | | | | | | | | Added test cases for SI-5377.
* | | Revert "Fixing inliner visibility issue."Paul Phillips2012-01-172-65/+76
| | | | | | | | | | | | | | | | | | This reverts commit 2820770bffe2e7d180bccbcd7a3d83944b1dd8d6. Last minute change had unintended consequences.
* | | Fixing inliner visibility issue.Paul Phillips2012-01-172-76/+65
| | | | | | | | | | | | | | | | | | | | | Changes motivated by ICodeReader neglecting to utilize logic which exists in its superclass. Now you can enjoy empty package classes being inlined into other empty package classes. Closes SI-4925.
* | | Merge branch 'specialized/hlist' of https://github.com/dragos/scala into developPaul Phillips2012-01-171-1/+4
|\ \ \ | |_|/ |/| |
| * | Make specialization pick up opportunities when the Iulian Dragos2012-01-171-1/+4
| | | | | | | | | | | | | | | | | | specialized method has additional (non-specialized) type parameters. This fix comes from Stefan's desire to specialize HLists (see corresponding test). review by @prokopec
* | | The SpecializeTypes part of symbol cleanup.Paul Phillips2012-01-166-154/+130
| | | | | | | | | | | | It was acting funny and I had to handhold it a little bit.
* | | Improved a cyclic reference error message.Paul Phillips2012-01-161-1/+10
| | | | | | | | | | | | | | | "illegal cyclic reference involving value <import>" not so useful.
* | | Made a couple programmer functions more available.Paul Phillips2012-01-162-4/+9
| | |
* | | Less regressive package object fix.Paul Phillips2012-01-161-10/+6
| | | | | | | | | | | | At least I think so.
* | | Symbol creation followup.Paul Phillips2012-01-1629-230/+189
| | | | | | | | | | | | | | | | | | Changed most symbol creations to be consistent with all the others. Opportunistically streamlined various call sites. Moved some phase-specific methods out of Symbol to somewhere more appropriate (like that phase.)
| | |
| \ \
*-. \ \ Merge remote-tracking branches 'odersky/pullrequest/interpolation' and ↵Paul Phillips2012-01-167-154/+471
|\ \ \ \ | |_|/ / |/| | | | | | | 'magarciaEPFL/fasterInliner' into develop
| | * | bringing down -Yinline time by 33%Miguel Garcia2012-01-162-26/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After inlining one ore more callsites, Inliner runs anew a type-flow analysis for the same method, ie. the previous solution is discarded although it's a subset of that needed after the inlining(s). Background in: http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/2011Q4/Inliner.pdf Instead, we invalidate only the fragment of the CFG affected by inlining (the basic block where inlining occurred and newly added basic blocks) and let the iterative dataflow analysis start from there. It reaches the fixpoint faster. The inlining decisions thus made are exactly the same as with the slower version, see -Ylog:inliner, with a focus on lines starting with "[log inliner] Inlining" review by @VladUreche @dragos @paulp
| * | | A string interpolation implementation of SIP-11.Martin Odersky2012-01-165-128/+383
| | | | | | | | | | | | | | | | This is the complete implementation of SIP-11, in its version of 15-Jan-2012. For now, the interpolations are enabled only under the -Xexperimental flag.
* | | | Make AnyValManifest not a sealed class.Grzegorz Kossakowski2012-01-151-1/+1
| |/ / |/| | | | | | | | | | | | | | | | | | | | Scala+GWT has a whole new hierarchy of Manifests that does not use reflection. Every type in new hierarchy is a subtype of a type from old hierarchy. Sealed modifier introduced in 2e92de4cd66532404081eec6b9e82c6f85b51434 breaks this scheme. Removing it so Scala+GWT can compile again.
| | |
| \ \
| \ \
| \ \
| \ \
| \ \
*-----. \ \ Merge remote-tracking branches 'szabolcsberecz/xml-attribute-order', ↵Paul Phillips2012-01-157-6/+83
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | 'szabolcsberecz/pathsettings-jar-location-fix', 'dcsobral/issue/5371' and 'dcsobral/issue/5370' into develop
| | | | * | | Reword confusing explanationDaniel C. Sobral2012-01-141-7/+11
| | | | | | |
| | | | * | | Explain Function1 vs PartialFunctionDaniel C. Sobral2012-01-132-1/+35
| | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an explanation in PartialFunction as to how it differs from Function1, with examples of what it can do that Function1 cannot. Make it explicit that calling apply may throw exceptions in both of them, even in the case where isDefinedAt returns true. Closes SI-5370.
| | | * / / Improve description of flatten, flatMapDaniel C. Sobral2012-01-133-2/+38
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add examples and better explain the expected return type of the methods flatMap and flatten. Closes SI-5371.
| | * | | Fixed instrumented.jar and scalacheck.jar locationSzabolcs Berecz2012-01-141-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the file order in the directory, PathSettings.srcSpecLib could end up as "instrumented.jar.desired.sha1" instead of "instrumented.jar" which would cause all the specialized tests to fail. The same goes for scalacheck.jar
| * | | | Preserve attribute order in inline XMLSzabolcs Berecz2012-01-141-1/+1
| |/ / /
* | | | Fix for raw types issue found in the IDE.Paul Phillips2012-01-141-5/+5
| | | |
* | | | Putting some of the symbol potential to work.Paul Phillips2012-01-1410-153/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Renamed the parameter to all the newXXX symbol creators to "newFlags" because I've seen too many bugs which arose from having a parameter name which shadows a field and where mistakes can inflict subtle bugs which won't be found until much later (yes I'm trying to describe "flags" right now.) Opportunistically cleaned up some symbol creations.
* | | | Symbols making friends with Polly Morphism.Paul Phillips2012-01-1411-98/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since I have established (no small effort, this) that there is no need for certain important flags to be mutable for the entire lifetime of a symbol, I have codified this knowledge by moving it out of the flags entirely and into the inheritance hierarchy where its constant nature can find true happiness. AliasTypeSymbol ... it's an alias (forever!) AbstractTypeSymbol ... it's an abstract type (forever!) The only time DEFERRED is inspected is if the generic creation function is called (e.g. "newTypeSymbol", not "newAliasType") in which case the presence of the flag is used to determine which symbol to create. This is mostly for legacy support. Certain symbols were being created inconsistently with the others. Now every symbol is created by invoking a creation method on the owner, with the exception of FreeVar. I changed the owner of those from RootClass to NoSymbol because there is no reason for them to pollute the symbol hierarchy at the root. The signature of cloneSymbolImpl is now def cloneSymbolImpl(owner: Symbol, newFlags: Long): Symbol There is an overload with the old signature which calls that one with no flags. With this step, every symbol creation in trunk is performed with knowledge of the initial flags, opening the door to many optimizations in the Symbol and Type logic, not to mention boosting my sanity by at least five sanity points.
* | | | Toward the elimination of setInternalFlags.Paul Phillips2012-01-143-23/+24
| | | | | | | | | | | | | | | | | | | | | | | | Modifications in LiftCode to avoid upsetting the happy world upon which I am converging where flags change in an almost predictable fashion.
* | | | Corresponding changes in ICodeReader.Paul Phillips2012-01-141-26/+8
| | | |
* | | | Flattening the java flags -> scala logic.Paul Phillips2012-01-141-22/+58
|/ / / | | | | | | | | | To make the choices more transparent.
* | | Fix for crasher in uncurry.Paul Phillips2012-01-131-2/+6
| | | | | | | | | | | | A small dose of packedType closes SI-4869.
* | | Fix for spurious implicit ambiguity with package objects.Paul Phillips2012-01-131-5/+13
| | | | | | | | | | | | Closes SI-3999. Review by @odersky.
* | | Fixed overloading in package objects.Paul Phillips2012-01-131-1/+18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Removed some unsociable exception behavior.Paul Phillips2012-01-131-7/+0
| |
* | Merge remote-tracking branch 'szabolcsberecz/xml-attribute-fixes' into developPaul Phillips2012-01-121-6/+9
|\ \
| * | Cleanup after "Fixed equality and string representation of xml attributes ↵Szabolcs Berecz2012-01-121-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with null value" This commit reverts the following two commits: 5f2568e36b87d183fd4e4442d5c304db628846c4 - "Revert "Accept prefixed xml attributes with null value" b00002f9049c034510438881b4a4449d73fe2f54 - "Disabling some scaladoc tests." and fixes a scaladoc test broken by: 4787f883604d1344257c0b40c15790c3dde477f2 - "Fixed equality and string representation of xml attributes with null value"
| | |
| \ \
| \ \
| \ \
*---. \ \ Merge remote-tracking branches 'axel22/issue/4147', 'schmmd/codec' and ↵Paul Phillips2012-01-1225-866/+422
|\ \ \ \ \ | |_|_|/ / |/| | | | | | | | | 'soc/SI-4627' into develop
| | | * | Clean up standard/swing library by deprecating/moving code examplesSimon Ochsenreither2011-12-0720-866/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecate scala/xml/include/sax/Main.scala. Move scala/swing/test/* to docs/examples. Saves 160KB in scala-swing.jar. Fixes SI-4627.
| | * | | Added toString to Codec class (uses Codec.name).Michael Schmitz2012-01-091-0/+3
| | | | |
| * | | | Merge branch 'master' into issue/4147aleksandar2012-01-12158-3773/+5443
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .gitignore
| * | | | | Add mutable tree sets to the standard library.aleksandar2012-01-124-0/+418
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implementation is based on AVL trees. The current implementation is contributed by Lucien Pereira. Fixes #4147.
* | | | | | Disambiguate some type printing.Paul Phillips2012-01-121-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | Functions of functions use parens for grouping.
* | | | | | Streamlining output of -Yinfer-debug.Paul Phillips2012-01-123-83/+55
| |/ / / / |/| | | | | | | | | | | | | | Also exposed some typevar related code outside a method.