summaryrefslogtreecommitdiff
path: root/src/reflect
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'refs/pull/1718/head' into merge-msil-genjvm-deletePaul Phillips2012-12-063-129/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'refs/pull/1718/head': Expunged the .net backend. Conflicts: build.detach.xml build.examples.xml build.xml project/Build.scala src/compiler/scala/tools/ant/Scalac.scala src/compiler/scala/tools/nsc/Global.scala src/compiler/scala/tools/nsc/settings/StandardScalaSettings.scala src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala src/compiler/scala/tools/nsc/transform/Mixin.scala src/intellij/compiler.iml.SAMPLE tools/buildcp
| * Expunged the .net backend.Paul Phillips2012-12-053-129/+12
| | | | | | | | | | | | | | | | It lives on in a branch born from this commit's parent. It's abrupt; no attempt is made to offer a "smooth transition" for the serious msil userbase, population zero. If anyone feels very strongly that such a transition is necessary, I will be happy to talk you into feeling differently.
* | Merge pull request #1693 from paulp/name-implicit-removalAdriaan Moors2012-12-066-35/+23
|\ \ | |/ |/| Name implicit removal
| * Remove TermName -> String implicit.Paul Phillips2012-12-024-18/+17
| | | | | | | | | | | | | | | | | | These implicits were crutches going back to a much Stringier time. Of course "with great type safety comes great verbosity" and no doubt this could be cleaned up significantly further. At least the underpinnings are consistent now - the only implicits involving name should be String -> TypeName and String -> TermName.
| * Remove Name -> TermName implicit.Paul Phillips2012-12-012-17/+6
| | | | | | | | And simplify the name implicits.
* | Merge branch 'merge-2.10-wip' into merge-2.10Paul Phillips2012-12-056-12/+73
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10-wip: Fixing OSGi distribution. Fix for rangepos crasher. SI-6685 fixes error handling in typedApply Test cases for SI-5726, SI-5733, SI-6320, SI-6551, SI-6722. Asserts about Tree qualifiers. Fix for SI-6731, dropped trees in selectDynamic. neg test added SI-5753 macros cannot be loaded when inherited from a class or a trait Take advantage of the margin stripping interpolator. Adds a margin stripping string interpolator. SI-6718 fixes a volatile test Mark pattern matcher synthetics as SYNTHETIC. Set symbol flags at creation. Fix for SI-6687, wrong isVar logic. Fix for SI-6706, Symbol breakage under GC. findEntry implementation code more concise and DRYer. Fix for SI-6357, cycle with value classes. Refactoring of adaptMethod SI-6677 Insert required cast in `new qual.foo.T` Conflicts: src/compiler/scala/tools/nsc/transform/Erasure.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/reflect/scala/reflect/internal/SymbolTable.scala src/reflect/scala/reflect/internal/util/package.scala test/files/neg/gadts1.check
| * Asserts about Tree qualifiers.Paul Phillips2012-11-291-3/+16
| | | | | | | | | | Encoding recent revelations about certain tree invariants in the form of asserts.
| * Merge pull request #1676 from retronym/topic/sm-interpolatorPaul Phillips2012-11-284-9/+63
| |\ | | | | | | Adds a margin stripping string interpolator.
| | * Take advantage of the margin stripping interpolator.Jason Zaugg2012-11-261-9/+8
| | | | | | | | | | | | Safer and shorter.
| | * Adds a margin stripping string interpolator.Jason Zaugg2012-11-263-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently only for compiler internal use. Designed to avoid surprises if the interpolated values themselves contain the margin delimiter. Before: val bip = "\n |.." s"""fooo |bar $bip |baz""".stripMargin "fooo bar .. baz" After: sm"""fooo |bar $bip |baz""" "fooo bar |.. baz"
| * | Merge pull request #1665 from paulp/issue/6687Adriaan Moors2012-11-251-1/+1
| |\ \ | | | | | | | | Fix for SI-6687, wrong isVar logic.
| | * | Fix for SI-6687, wrong isVar logic.Paul Phillips2012-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | Fields which back lazy vals need to be excluded via !isLazy lest isVar return true.
* | | | Merge branch 'merge-2.10.wip-x' into merge-2.10.x-masterPaul Phillips2012-11-236-19/+67
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10.wip-x: (24 commits) SI-6023 reify abstract vals Removing controversial `either` method from Futures API. SI-6695 Test case for fixed Array match bug adds comments to standard attachments SI-6673 fixes macro problems with eta expansions Restore the opimization apparently lost after merge. SI-6624 set info of case pattern binder to help find case field accessors Scaladoc update for collection.mutable.MultiMap SI-6663: don't ignore type parameter on selectDynamic invocation SI-6551: don't insert apply call in polymorphic expression. SI-6634 Fixes data corruption issue in ListBuffer#remove Fixes SI-6628, Revert "Fix for view isEmpty." SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method Fixes SI-6150 - backport to 2.10.x branch. SI-5330, SI-6014 deal with existential self-type Fixes SI-6559 - StringContext not using passed in escape function. SI-6648 copyAttrs must preserve TypeTree#wasEmpty Fix raw string interpolator: string parts which were after the first argument were still escaped sane printing of renamed imports SI-6440 Address regressions around MissingRequirementError ... Conflicts: src/library/scala/collection/generic/IndexedSeqFactory.scala src/library/scala/collection/mutable/ListBuffer.scala src/reflect/scala/reflect/internal/Symbols.scala src/reflect/scala/reflect/internal/Types.scala test/files/run/t6150.scala
| * | | Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10.wip-xPaul Phillips2012-11-235-39/+106
| |\ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Zaugg (8) and others # Via Adriaan Moors (6) and Josh Suereth (5) * origin/2.10.0-wip: Removing controversial `either` method from Futures API. SI-6624 set info of case pattern binder to help find case field accessors Fixes SI-6628, Revert "Fix for view isEmpty." SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method Fixes SI-6559 - StringContext not using passed in escape function. SI-6648 copyAttrs must preserve TypeTree#wasEmpty Fix raw string interpolator: string parts which were after the first argument were still escaped Update comment. SI-6646 `ident` or Ident is always new binding. SI-6440 Address regressions around MissingRequirementError Refine the message and triggering of MissingRequirementError. SI-6640 Better reporting of deficient classpaths. SI-6644 Account for varargs in extmethod forwarder SI-6646 Fix regression in for desugaring. Update tools/epfl-publish
| | * | Merge pull request #1607 from retronym/ticket/6640Josh Suereth2012-11-193-21/+31
| | |\ \ | | | | | | | | | | SI-6640 Better reporting of deficient classpaths.
| | | * | SI-6440 Address regressions around MissingRequirementErrorJason Zaugg2012-11-133-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Go back to using globalError to report when a stub's info is referenced, and only throw the MissingRequirementError when compilation really must abort due to having a StubTermSymbol in a place where a StubClassSymbol would have been a better choice. This situation arises when an entire package is missing from the classpath, as was the case in the reported bug. Adds `StoreReporterDirectTest`, which buffers messages issued during compilation for more structured interrogation. Use this in two test for manifests -- these tests were using a crude means of grepping compiler console output to focus on the relevant output, but this approach was insufficient with the new multi-line error message emitted as part of this change. Also used that base test class to add two new tests: one for the reported error (package missing), and another for a simpler error (class missing). The latter test shows how stub symbols allow code to compile if it doesn't the subset of signatures in some type that refer to a missing class. Gave the INFO/WARNING/ERROR members of Reporter sensible toString implementations; they inherit from Enumeration#Value in an unusual manner (why?) that means the built in toString of Enumeration printed `Severity@0`.
| | | * | Refine the message and triggering of MissingRequirementError.Jason Zaugg2012-11-103-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - To force a failure of the stub, call a new method `failIfStub` rather than `info`. - Offer a broader range of potential root causes in the error message.
| | | * | SI-6640 Better reporting of deficient classpaths.Jason Zaugg2012-11-103-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a55788e, StubSymbols were introduced to fail-slow when the classpath was deficient. This allowed compilation to succeed in cases when one didn't actually use the part of class A which referred to some missing class B. But a few problems were introduced. Firstly, when the deferred error eventually happened, it was signalled with abort(msg), rather than through a thrown MissingRequirementError. The latter is desirable, as it doesn't lead to printing a stack trace. Second, the actual error message changed, and no longer included the name of the class file that refers to the missing class. Finally, it seems that we can end up with a stub term symbol in a situation where a class symbol is desired. An assertion in the constructor of ThisType throws trips when calling .isClass, before the useful error message from StubSymbol can be emitted. This commit addresses these points, and rewords the error a little to be more accessible. The last point is the most fragile in this arrangement, there might be some whack-a-mole required to find other places that also need this. I don't see a clean solution for this, but am open to suggestions. We should really build a facility in partest to delete specified classfiles between groups in separate compilation tests, in order to have tests for this. I'll work on that as a followup. For now, here's the result of my manual testing: [info] Set current project to default-821d14 (in build file:/Users/jason/code/scratch1/) > compile [info] Compiling 1 Scala source to /Users/jason/code/scratch1/target/scala-2.10/classes... [error] [error] while compiling: /Users/jason/code/scratch1/test.scala [error] during phase: typer [error] library version: version 2.10.0-RC2 [error] compiler version: version 2.10.0-RC2 ... [error] last tree to typer: Ident(SwingWorker) [error] symbol: <none> (flags: ) [error] symbol definition: <none> [error] symbol owners: [error] context owners: object Test -> package <empty> ... [error] uncaught exception during compilation: java.lang.AssertionError [trace] Stack trace suppressed: run last compile:compile for the full output. [error] (compile:compile) java.lang.AssertionError: assertion failed: value actors [error] Total time: 2 s, completed Nov 10, 2012 3:18:34 PM > > set scalaHome := Some(file("/Users/jason/code/scala/build/pack")) [info] Defining *:scala-home [info] The new value will be used by no settings or tasks. [info] Reapplying settings... [info] Set current project to default-821d14 (in build file:/Users/jason/code/scratch1/) ^[compile [info] Compiling 1 Scala source to /Users/jason/code/scratch1/target/scala-2.10/classes... [error] /Users/jason/code/scratch1/test.scala:4: A signature in SwingWorker.class refers to term actors in package scala which is missing from the classpath. [error] object Test extends SwingWorker [error] ^ [error] one error found [error] (compile:compile) Compilation failed [error] Total time: 2 s, completed Nov 10, 2012 3:18:45 PM
| | * | | Merge pull request #1615 from retronym/ticket/6648Adriaan Moors2012-11-161-0/+13
| | |\ \ \ | | | | | | | | | | | | SI-6648 copyAttrs must preserve TypeTree#wasEmpty
| | | * | | SI-6648 copyAttrs must preserve TypeTree#wasEmptyJason Zaugg2012-11-141-0/+13
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This field tracks whether the type is an inferred on, subject to removal in `resetAttrs`, or an explicit type, which must remain. In ae5ff662, `ResetAttrs` was modified to duplicate trees, rather than mutate trees in place. But the tree copier didn't pass `wasEmpty` on to the new tree, which in turn meant that the subsequent typing run on the tree would not re-infer the types. If the type refers to a local class, e.g. the anonymous function in the enclosed test case, the reference to the old symbol would persist. This commit overrides `copyAttrs` in TypeTree to copy `wasEmpty`. We might consider representing this as a tree attachment, but this would need to be validated for the performance impact.
| * | | | Merge pull request #1645 from scalamacros/ticket/6673Josh Suereth2012-11-211-0/+17
| |\ \ \ \ | | |_|_|/ | |/| | | SI-6673 fixes macro problems with eta expansions
| | * | | adds comments to standard attachmentsEugene Burmako2012-11-181-0/+15
| | | | |
| | * | | SI-6673 fixes macro problems with eta expansionsEugene Burmako2012-11-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eta expansions previously caused the typer to disable macros. That was done in order to detect eta expansion of macro defs and show the user an appropriate error message. Macros were disabled because to find out whether we're expanding a macro def, we need to get its symbol, and to get a symbol of something we need to typecheck that something. However typechecking automatically expands macros, so, unless we disable macros, after a typecheck we won't be able to analyze macro occurrences anymore. Unfortunately this solution has a fatal flaw. By disabling macros we not only prevent the eta-expandee from macro expanding, but also all the subtrees of that eta-expandee (see SI-6673). This commit adds a mechanism for fine-grained control over macro expansion. Now it's possible to prohibit only the node, but not its children from macro expanding.
| * | | | Merge pull request #1624 from adriaanm/paulp-issue/5330-2.10.xAdriaan Moors2012-11-161-3/+15
| |\ \ \ \ | | | | | | | | | | | | SI-5330, SI-6014 deal with existential self-type
| | * | | | SI-5330, SI-6014 deal with existential self-typeAdriaan Moors2012-11-141-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken since https://github.com/scala/scala/commit/b7b81ca2#L0L567. The existential rash is treated in a similar manner as in fc24db4c. Conceptually, the fix would be `def selfTypeSkolemized = widen.skolemizeExistential.narrow`, but simply widening before narrowing achieves the same thing. Since we're in existential voodoo territory, let's go for the minimal fix: replacing `this.narrow` by `widen.narrow`. -- Original patch by @retronym in #1074, refined by @paulp to only perform widen.narrow incantation if there are existentials present in the widened type, as narrowing is expensive when the type is not a singleton. The result is that compiling the entirety of quick, that code path is hit only 143 times. All the other calls hit .narrow directly as before. It looks like the definition of negligible in the diff of -Ystatistics when compiling src/library/scala/collection: < #symbols : 306315 --- > #symbols : 306320 12c13 < #unique types : 293859 --- > #unique types : 293865 I'm assuming based on the 2/1000ths of a percent increase in symbol and type creation that wall clock is manageable, but I didn't measure it.
| * | | | | Merge pull request #1612 from scalamacros/topic/showrawEugene Burmako2012-11-151-2/+5
| |\ \ \ \ \ | | |/ / / / | |/| | | | sane printing of renamed imports
| | * | | | sane printing of renamed importsEugene Burmako2012-11-131-2/+5
| | |/ / / | | | | | | | | | | | | | | | | | | | | Having a select named "foo" with an underlying symbol named "bar" and trying to make sense of all that by prettyprinting is very confusing
* | | | | Merge pull request #1648 from paulp/unused-bonanza-2Adriaan Moors2012-11-2143-1177/+78
|\ \ \ \ \ | | | | | | | | | | | | Removing unused code, take 2.
| * | | | | Remove code from compiler central.Paul Phillips2012-11-202-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All those old-timey methods whose melodies have become unfashionable.
| * | | | | Members removed in scala.reflect.Paul Phillips2012-11-2034-913/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not a bad showing for a newcomer. Of course most of this code predates scala.reflect by a lot.
| * | | | | Members removed from scala.reflect.io.Paul Phillips2012-11-199-189/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mostly hailing from a long-ago day when I imagined I was writing a general purpose library. We dodged that bullet.
| * | | | | Removing ancient comments and pointless comments.Paul Phillips2012-11-198-72/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Translating <code></code> into backticks. Removed the "@param tree ..." blocks which have been taunting me for half a decade now. Removed commented-out blocks of code which had been sitting there for two years or more.
| * | | | | Revert "Commenting out unused members."Paul Phillips2012-11-1943-625/+637
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 951fc3a486.
| * | | | | Commenting out unused members.Paul Phillips2012-11-1943-639/+627
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I want to get this commit into the history because the tests pass here, which demonstrates that every commented out method is not only unnecessary internally but has zero test coverage. Since I know (based on the occasional source code comment, or more often based on knowing something about other source bases) that some of these can't be removed without breaking other things, I want to at least record a snapshot of the identities of all these unused and untested methods. This commit will be reverted; then there will be another commit which removes the subset of these methods which I believe to be removable. The remainder are in great need of tests which exercise the interfaces upon which other repositories depend.
* | | | | | Merge pull request #1640 from paulp/xdevAdriaan Moors2012-11-206-18/+20
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Added -Xdev setting... you know, for devs
| * | | | | Added -Xdev setting... you know, for devsPaul Phillips2012-11-166-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A setting we developers can give all the time and expect to hear useful things without being buried in debugging output. As the comment says: This is for WARNINGS which should reach the ears of scala developers whenever they occur, but are not useful for normal users. They should be precise, explanatory, and infrequent. Please don't use this as a logging mechanism. !!! is prefixed to all messages issued via this route to make them visually distinct. This is what I always intended for "debugwarn", the method I have deprecated in favor of the more accurate: def devWarning(msg: => String): Unit In this VERY SAME COMMIT, I performed the CLOSELY RELATED task of quieting down an -Xlint warning which had become too noisy thanks to implicit classes tickling it. I tightened that warn condition to include both -Xlint and -Xdev.
* | | | | | Merge pull request #1635 from paulp/slick-regression-2Adriaan Moors2012-11-161-0/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix for overly eager package object initialization.
| * | | | | | Fix for overly eager package object initialization.Paul Phillips2012-11-151-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A subtle change in the order in which symbol attributes were inspected (now you know why I avoid vals in the compiler) led to a cycle during initialization for slick. I'm afraid I don't know how to reproduce the issue outside of slick and sbt, so I added some logging instead. After some challenges juggling general correctness and cycle avoidance, I resorted to improving and documenting the logic as well. I predict reviewer will be pleased.
* | | | | | | Merge pull request #1586 from retronym/ticket/6247Adriaan Moors2012-11-161-6/+9
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | Optimize primitive Array(e1, ..., en)
| * | | | | | Optimize primitive Array(e1, ..., en)Jason Zaugg2012-11-071-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Expands an existing optimization for reference arrays to apply to primitives, as well. Fixes one aspect of SI-6247.
* | | | | | | Merge pull request #1623 from paulp/merge-2.10.xAdriaan Moors2012-11-166-18/+91
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Merge 2.10.0-wip/.x into master
| | \ \ \ \ \ \
| | \ \ \ \ \ \
| *-. \ \ \ \ \ \ Merge remote-tracking branches 'origin/2.10.x' and 'origin/2.10.0-wip' into ↵Paul Phillips2012-11-146-18/+91
| |\ \ \ \ \ \ \ \ | | | |_|_|/ / / / | | |/| | | | / / | | | | |_|_|/ / | | | |/| | | | | | | | | | | | | | | | | | | | master Conflicts: src/compiler/scala/tools/nsc/transform/ExtensionMethods.scala
| | | * | | | | Update comment.Jason Zaugg2012-11-131-1/+2
| | | | | | | |
| | | * | | | | SI-6646 `ident` or Ident is always new binding.Jason Zaugg2012-11-131-25/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous commit regressed in these cases: // no withFilter for (X <- List("A single ident is always a pattern")) println(X) for (`x` <- List("A single ident is always a pattern")) println(`x`) At the top level of the LHS of a <-, such identifiers represent new bindings, not stable identifier patterns.
| | | * | | | | SI-6646 Fix regression in for desugaring.Jason Zaugg2012-11-101-18/+27
| | | | |_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The early check in the parser of pattern irrefutability, added in c82ecab, failed to consider InitCaps and `backquoted` identifiers.
| | * | | | | Merge pull request #1585 from retronym/ticket/6539-2Eugene Burmako2012-11-143-0/+20
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | SI-6539 Annotation for methods unfit for post-typer ASTs
| | | * | | | | Refine @compileTimeOnlyJason Zaugg2012-11-082-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Don't default the message, and show it exclusively. - Fix cut-and-pasto in the @since tag - Be tolerant if the annotaion class is missing, as seems to have been the case compiling the continuations plugin. - s/\t/ / in the test file to show the errors are positioned correctly. - Use defensive getOrElse
| | | * | | | | SI-6539 Annotation for methods unfit for post-typer ASTsJason Zaugg2012-11-063-0/+20
| | | | |_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivated by the `.value` method in the SBT task-syntax branch, which should only be called within the context of the argument to a setting initialization macro. The facility is akin to a fatal deprecation.
| | * | | | | Merge pull request #1583 from dragos/issue/fix-6616Adriaan Moors2012-11-133-0/+9
| | |\ \ \ \ \ | | | |/ / / / | | |/| | | | SI-6616 Check that unsafe operations are only called on the presentation...
| | | * | | | SI-6616 Check that unsafe operations are only called on the presentation ↵Iulian Dragos2012-11-063-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compiler thread. The method that checks the actual constraint is @elidable, expecting it to be used for nightly builds but stripped-off in release builds. This way we don't lose any performance, but 'fail-fast' in IDE nightlies. This assumes that release builds will have at least `-Xelide-below ASSERTION`, but this pull request does not do that.