summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #929 from scalamacros/ticket/5895Adriaan Moors2012-07-2017-92/+236
|\ | | | | fixes field mirrors and also improves docs and exceptions for all mirrors
| * improves docs of scala.reflect.api.MirrorsEugene Burmako2012-07-191-34/+110
| |
| * SI-5984 improves error reporting in JavaMirrorsEugene Burmako2012-07-1912-28/+80
| | | | | | | | | | | | | | | | | | | | Factors out error raising code and introduces a special exception class for Scala reflection errors. Also adds membership sanity checks to reflectXXX. Previously reflectField, reflectMethod, reflectClass and reflectModule in InstanceMirror didn't check that the symbols being passed to them actually correspond to some member of the related class.
| * SI-5895 fixes FieldMirrorsEugene Burmako2012-07-176-38/+54
| | | | | | | | | | | | | | reflectField now accepts getters and setters along with the field symbols, it also checks whether a field has a reasonable binary representation (this is necessary, because ctor parameters that are unused outside of their declaring constructors don't get compiled down to Java fields/methods).
* | Merge pull request #952 from adriaanm/ticket-4897Adriaan Moors2012-07-193-1/+12
|\ \ | | | | | | SI-4897 derive expected value from single type
| * | SI-4897 derive expected value from single typeAdriaan Moors2012-07-193-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | when the type in a type test is, say, `C.this.A.type`, must use the corresponding term `C.this.A` to test for equality if you use the naive REF(<C.this.A.type>.symbol), you'll get a path like `OwnerOfA.this.A`, where `OwnerOfA` might be a superclass of `C`, and explicitouter won't like that
* | | Merge pull request #947 from phaller/topic/sip14-critical-fixes-blockingAdriaan Moors2012-07-1911-456/+89
|\ \ \ | | | | | | | | Critical bugfixes/leak fixes/API corrections + ScalaDoc for SIP-14
| * | | Clean ups in impl.Futurephaller2012-07-192-13/+4
| | | |
| * | | Critical bugfixes/leak fixes/API corrections + ScalaDoc for SIP-14Viktor Klang2012-07-1910-443/+85
| | | |
* | | | Merge pull request #923 from scalamacros/ticket/6047Adriaan Moors2012-07-192-0/+21
|\ \ \ \ | | | | | | | | | | test case closes SI-6047
| * | | | test case closes SI-6047Eugene Burmako2012-07-172-0/+21
| | |_|/ | |/| | | | | | | | | | The bug is not reproducible both in M4 and in M5.
* | | | Merge pull request #946 from paulp/girl-interruptedPaul Phillips2012-07-191-1/+5
|\ \ \ \ | |_|/ / |/| | | Shield from InterruptedException in partest.
| * | | Print the stack trace.Paul Phillips2012-07-191-1/+2
| | | | | | | | | | | | | | | | We're not completely blind in there, are we.
| * | | Shield from InterruptedException in partest.Paul Phillips2012-07-191-1/+4
|/ / / | | | | | | | | | Sorry, I'm not in practice with java.util.concurrent.
* | | Merge pull request #919 from scalamacros/ticket/6086Adriaan Moors2012-07-1911-34/+118
|\ \ \ | | | | | | | | SI-6086 magic symbols strike back
| * | | SI-6086 magic symbols strike backEugene Burmako2012-07-1711-34/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the symbols inside the compiler get created on the fly, because there are no physical entities in classfiles corresponding to them. This curious fact needs to be taken into account when loading symbols, so that the magic symbols get correctly loaded by reflective mirrors. magicSymbols (as defined in Definitions.scala) include not only top-level classes, but some other stuff (e.g. String_+ or methods on Any). Hence a filtering was done to exclude the stuff that's irrelevant to reflective symbol loading. Unfortunately a filter was configured to accept only _.isClass, which consequently ruled out scala.AnyRef (that is a type alias).
* | | | Merge pull request #944 from dgruntz/issue/EpsilonAdriaan Moors2012-07-192-6/+0
|\ \ \ \ | | | | | | | | | | Removes Float.Epsilon and Double.Epsilon
| * | | | Removes Float.Epsilon and Double.EpsilonDominik Gruntz2012-07-192-6/+0
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Float.Epsilon and Double.Epsilon contain the wrong value. Epsilon should be an upper bound on the relative error due to rounding errors in floating point arithmetic, i.e. it is 1/2 ULP (unit in the last position) which is 2^(-24) for Float and 2^(-53) for Double. This was discussed in detail in https://issues.scala-lang.org/browse/SI-3791 and it was decided to deprecate Epsilon for 2.9 and to remove it for 2.10 and to reintroduce it with the correct value for 2.11. See also the discussion (and comment from Martin) on https://groups.google.com/forum/?fromgroups#!topic/scala-internals/m763WjBdfyo
* | | | Merge pull request #943 from adriaanm/rebase-ticket-5939Adriaan Moors2012-07-193-17/+12
|\ \ \ \ | | | | | | | | | | SI-5939 resident compilation of sources in empty package
| * | | | SI-5939 resident compilation of sources in empty packageMartin Odersky2012-07-193-17/+12
| |/ / / | | | | | | | | | | | | Empty packages can now be cleanly invalidated.
* | | | Merge pull request #906 from adriaanm/optimize-findmemberAdriaan Moors2012-07-1911-73/+226
|\ \ \ \ | |/ / / |/| | | Optimize findmember
| * | | Variation #10 to optimze findMemberMartin Odersky2012-07-143-49/+55
| | | | | | | | | | | | | | | | Undoing the memberType caching. This seems to make it slower rather than faster. Also, comparing new vs old statistics shows that only very few asSeenFrom operations are saved by the caching.
| * | | Attempt #9 to opimize findMember.Martin Odersky2012-07-141-24/+43
| | | | | | | | | | | | | | | | Also avoid recomputation of memberType in findMembers
| * | | Attempt #8 to opimize findMember.Martin Odersky2012-07-141-1/+3
| | | | | | | | | | | | | | | | Only consider DEFERRED members in 2nd pass.
| * | | Attempty #7 to optimize findMemberMartin Odersky2012-07-141-18/+45
| | | | | | | | | | | | | | | | memberType operations are not cached, so that at most one memberType is taken per found symbol.
| * | | Fixing problem that caused fingerprints to fail in reflection.Martin Odersky2012-07-144-4/+5
| | | | | | | | | | | | | | | | Also fixed test case that failed when moving to findMembers. Avoids similar problems in the future by renaming nme.ANYNAME
| * | | Attemmpt #6 to optimize findMemberMartin Odersky2012-07-141-16/+19
| | | | | | | | | | | | | | | | Replace scope by ::-list, where new elements are added at the end.
| * | | Attempt #5 to optimize findMember.Martin Odersky2012-07-141-53/+52
| | | | | | | | | | | | | | | | Specific optimizations to findMember that have become possible because findMembers is its own function now.
| * | | Attempt #4 to optimize findMemberMartin Odersky2012-07-141-1/+70
| | | | | | | | | | | | | | | | broke out findMembers as a separate operation to streamline the code. findMember itself still needs to be optimized.
| * | | Attempt #3 to optimize findMemberMartin Odersky2012-07-144-8/+23
| | | | | | | | | | | | | | | | Fixed fingerPrinting scheme to work with rehashes, also added finger prints to typedIdent searches.
| * | | Attempt #2 to optimize findMemberMartin Odersky2012-07-143-12/+12
| | | |
| * | | Attempt #1 to optimize findMemberMartin Odersky2012-07-142-4/+16
| | | | | | | | | | | | | | | | 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.
* | | | Merge pull request #922 from dragos/issue/fix-SI-6092Adriaan Moors2012-07-194-6/+55
|\ \ \ \ | | | | | | | | | | SI-6092 don't leak in LazyAnnotationInfo, don't lift try{}finally{}
| * | | | Fixed SI-6092. Fixed leaky annotations, and relaxed the conditions under ↵Iulian Dragos2012-07-184-6/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which a try-catch is lifted out to an inner method. Less known fact: lazy values null-out their dependent values is their accessed only from their initializer. The analysis is not context-dependent (meaning the owner where a reference happens needs to be exactly that lazy value). * Removed no-op code around positions in `LazyAnnotationInfo` * Don't lift expressions that have no `catch` clause The two changes combined fix a memory leak that's been plaguing the IDE: an annotation (even when forced) would hang on to a namer, through the outer field of its call-by-name parameter. The test for the memory leak is in the IDE project (couldn't find a simple way to reproduce it outside the IDE), but there's a test checking that the field is null after initialization.
* | | | | Merge pull request #939 from adriaanm/ticket-6089Adriaan Moors2012-07-193-5/+25
|\ \ \ \ \ | | | | | | | | | | | | SI-6089 better tail position analysis for matches
| * | | | | SI-6089 better tail position analysis for matchesAdriaan Moors2012-07-183-5/+25
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | we mistakenly went into apply nodes to look for matchEnd-labeldefs in tail positions -- only apply nodes that jump to labels in tailpos should be traversed (this arises for nested matches)
* | | | | Merge pull request #940 from axel22/issue/5937Adriaan Moors2012-07-182-10/+28
|\ \ \ \ \ | | | | | | | | | | | | SI-5937: Vector updated, +:, and :+ ignore provided builder, breaking type safety
| * | | | | Make field strict and private.Aleksandar Prokopec2012-07-181-1/+1
| | | | | |
| * | | | | Fix SI-5937.Aleksandar Prokopec2012-07-182-10/+28
| | | | | |
* | | | | | Merge pull request #935 from scalamacros/ticket/5695Adriaan Moors2012-07-185-27/+0
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-5695 removes Context.enclosingApplication
| * | | | | | SI-5695 removes Context.enclosingApplicationEugene Burmako2012-07-185-27/+0
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently it's impossible to find out the enclosing Apply node if you're an argument being typechecked (because the arguments are typechecked separately from the enclosing Apply). This functionality is by far not a core feature of macros, so I'm removing it.
* | | | | | Merge pull request #909 from lrytz/t5892Adriaan Moors2012-07-185-2/+55
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-5892 allow implicit views in annotation args
| * | | | | | SI-5892 allow implicit views in annotation argsLukas Rytz2012-07-185-2/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the problem was that lazy annotations got completed in phase pickler. the `inferView` method in Typers bails out if `isPastTyper`. now the lazy annotations completes `atPhase(typerPhase)`. test case in `pos`. the second test case in `neg` is for another bug that is discussed in a comment of SI-5892. when type checking arguments of type parameter annotations, the class members should not be in scope. this was alreay fixed in 9129cfe9.
* | | | | | | Merge pull request #934 from paulp/partest-timeoutAdriaan Moors2012-07-181-1/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Increase partest timeout and emit warning when it hits.
| * | | | | | | Increase partest timeout and emit warning when it hits.Paul Phillips2012-07-171-1/+2
| | |/ / / / / | |/| | | | |
* | | | | | | Merge pull request #938 from phaller/topic/scala-concurrent-deprecate-cleanupAdriaan Moors2012-07-1813-107/+23
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-6095, SI-6098 - clean up public API, add deprecations
| * | | | | | | SI-6095, SI-6098 - clean up public API, add deprecationsphaller2012-07-1813-107/+23
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove Scheduler, Cancellable, and Task trait. Hide impl.Promise object. Deprecate managedBlock methods in TaskRunners. Remove duplicate toBoxed method and pointless renaming import. Remove duplicate import of CanBuildFrom and Builder in Future. Organize imports in impl.Promise. Review by @axel22 and @heathermiller
* | | | | | | Merge pull request #926 from scalamacros/topic/macro-classpathsAdriaan Moors2012-07-181-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | fixes a typo in macro classloaders
| * | | | | | | fixes a typo in macro classloadersEugene Burmako2012-07-171-2/+2
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primary should be here, because a test a few lines up checks whether primary != "". Hence usage of fallback here is just a typo. Primary and fallback classpaths were designed for situations when library classpath are not enough (e.g. for bootstrapping libraries that don't get onto tool classpaths). Originally I planned to use them to bootstrap scala-library, however, there's always a starr/locker on a tool classpath, so we don't need special treatment of this case. After I realized that, I decided to keep advanced classpath switches, because others might not be as lucky as we are.
* | | | | | | Merge pull request #883 from dgruntz/issue/6061Adriaan Moors2012-07-183-14/+25
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-6061 adds weakly conformance for number types to resolveOverloaded