summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | Merge pull request #956 from phaller/topic/sip14-critical-fix-awaitJosh Suereth2012-07-201-1/+10
|\ \ \ \ \ | | | | | | | | | | | | SIP-14 - Fix critical Java compatibility issue in scala.concurrent.Await
| * | | | | SIP-14 - Fix critical Java compatibility issue in scala.concurrent.Awaitphaller2012-07-201-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | Patch contributed by @viktorklang
* | | | | | Merge pull request #941 from adriaanm/ticket-6104Adriaan Moors2012-07-202-0/+9
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-6104 support This pattern
| * | | | | | SI-6104 support This patternAdriaan Moors2012-07-182-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This(name) is treated just like Ident(name) apparently this pattern was used in 2.9 code, though I'm not sure it's spec'ed
* | | | | | | Merge pull request #925 from VladUreche/issue/scaladocAdriaan Moors2012-07-2052-120/+1170
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fix a bunch of scaladoc issues: SI-3314 SI-4888 SI-5235 SI-5558 SI-4324 SI-5780 SI-4887 SI-3695 SI-4224 SI-4497 SI-5079 SI-6073 SI-5533 SI-5784
| * | | | | | | SI-5784 Scaladoc: Type templatesVlad Ureche2012-07-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @template and @documentable are now synomims.
| * | | | | | | Scaladoc: GroupsVlad Ureche2012-07-192-0/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Group class members based on their semantic relationship. To do this: - @group on members, only need to do it for the non-overridden members - -groups flag passes to scaladoc, groups="on" in ant - @groupdesc Group Group Description to add descriptions - @groupname Group New name for group - @groupprio Group <int> (lower is better) See test/scaladoc/run/groups.scala for a top-to-bottom example
| * | | | | | | SI-5784 Scaladoc: {Abstract,Alias} type templatesVlad Ureche2012-07-175-1/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally scaladoc won't generate template pages for anything other than packages, classes, traits and objects. But using the @template annotation on {abstract,alias} types, they get their own page and take part as full members in the diagrams. Furthermore, when looking for the companion object, if a value of type T is in scope, T will be taken as the companion object (even though it might be a class) All templates, including types are listed on the left navigation pane, so now adding @template to String can get scaladoc to generate (a no-comments) page for java.lang.String. The {abstract, alias} type icons need to be updated -- I just took the class icons and added a small x to them -- but they shoud be something else (maybe an underscore?)i TO USE THIS PATCH: <pre> /** @contentDiagram */ // tells scaladoc to create a diagram of the // templates contained in trait Base trait Base { /** @template */ // tells scaladoc to create a page for Foo type T < Foo trait Foo { def foo: Int } } /** @contentDiagram */ trait Api extends Base { /** @template */ override type T <: FooApi trait FooApi extends Foo { def bar: String } } </pre>
| * | | | | | | Scaladoc: Refactoring the entitiesVlad Ureche2012-07-164-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for SI-5784. This commit has been checked with tools/scaladoc-compare and the only difference is that the containing entities in the index are not duplicate anymore, which solves yet another bug we did not know about. :)
| * | | | | | | SI-5533 Skip scaladoc packages from documentationVlad Ureche2012-07-163-9/+38
| | | | | | | |
| * | | | | | | Scaladoc: updated type class descriptionsVlad Ureche2012-07-163-0/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The known type class descriptions give you a humanly-understandable explanation for [T: TypeClass] in the implicit conversions. For example [T: Integral] will tell you that T must be an integral type such as Integer and co. Now that the reflection dust settled, I can actually add the test to make sure the well-known type classes are intercepted and explanations are given instead of the usual "the type T is context-bounded by TypeClass"
| * | | | | | | SI-3695 SI-4224 SI-4497 SI-5079 scaladoc linksVlad Ureche2012-07-165-4/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the ability to link to members, classes and objects in scaladoc. The links can now be either qualified names or relative names, they both work. See the test/scaladoc/resources/links.scala for a usage example. Also introduced -no-link-warnings scaladoc flag, in case the build output gets swamped with link warnings.
| * | | | | | | SI-4887 Link existentials in scaladocVlad Ureche2012-07-164-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on an inital patch by Nada Amin. Rewrote some of the code to compress it a bit. Also fixed a problem that was affecting the prefix printing for typerefs: type parameter and existentials won't get prefixes. While I can imagine cases where you'd want to see where they come from, you can always hover over them and see their origin. Also added support for pretty-printing ThisTypes, SuperTypes and SingleTypes (with links)
| * | | | | | | SI-4360 Adds prefixes to scaladocVlad Ureche2012-07-168-13/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a long-standing issue in scaladoc: It was unable to disambiguate between entries with the same name. One example is: immutable.Seq: trait Seq[+A] extends Iterable[A] with Seq[A] ... What's that? Seq extends Seq? No, immutable.Seq extends collection.Seq, but scaladoc was unable to show that. Now it does, depending on the template you're in. Prefixes are relative and can go back: -scala.collection.Seq has subclasses *immutable.Seq* and *mutable.Seq* -scala.immutable.Seq extends *collection.Seq* Unfortunately the price we pay for this is high, a 20% slowdown in scaladoc. This is why there is a new flag called -no-prefixes that disables the prefixes in front of types. Btw, it also fixes the notorious "booleanValue: This member is added by an implicit conversion from Boolean to Boolean ...". That's now java.lang.Boolean, so it becomes clear. Conflicts: src/compiler/scala/tools/nsc/doc/model/diagram/DiagramFactory.scala
| * | | | | | | Scaladoc: workaround for untypical Map usecasesVlad Ureche2012-07-162-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SI-3448 partial fix: This enables a workaround for the fact that Map takes two type params while $Coll takes only one. But it doesn't fix the problem though, as there's one more piece missing from the puzzle - we need to adjust the `Coll`s in {immutable, mutable, concurrent}.Map to something that makes sense for the usecase. And that's not possible. But I'm committing this nevertheless, maybe other projects can benefit from it. And for SI-3448, the solution lies in automatic usecase generation, whenever that will be ready.
| * | | | | | | SI-4324 Scaladoc case class argument curryingVlad Ureche2012-07-162-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | case class C(i: Int)(b: Boolean) would appear uncurried in scaladoc: case class C(i: Int, b: Boolean)
| * | | | | | | SI-5558 Package object members indexingVlad Ureche2012-07-162-3/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was fixed by the model upgrade in c11427c1. Test case confirmation.
| * | | | | | | SI-5965 Scaladoc crashVlad Ureche2012-07-162-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was fixed by the model upgrade in c11427c1. Test case confirmation.
| * | | | | | | Scaladoc: Inherited templates in diagramsVlad Ureche2012-07-164-3/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to SI-3314, where we started showing inherited templates that were normally not documented. This patch corrects a problem in parentTypes that was preventing inherited templates from being displayed in diagrams. Also renamed: PackageDiagram => ContentDiagram ClassDiagram => InheritanceDiagram which should have been done much earlier
| * | | | | | | SI-3314 SI-4888 Scaladoc: Relative type prefixesVlad Ureche2012-07-1612-98/+272
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And adds support for linking to class members, only usable from the model factory now, so no links to members from the doc comment yet, sorry. But it fixes the Enumeration problem once and for all! Also corrected the inTpl for members obtained by implicit conversions, so they're in the correct template and the comment variable expansion is done from the correct (but different) template. Review by @kzys.
| * | | | | | | SI-5235 Correct usecase variable expansionVlad Ureche2012-07-162-0/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug is related to a couple of other annoyances, also fixed: - usecases without type params were crashing scaladoc due to a change in the PolyTypes class (not allowing empty tparams list) - properly getting rid of backticks (even if the link is not valid) - correct linking for usecases with $Coll = `immutable.Seq` (the symbol searching algorithm was too of restrictive, now we search the entire ownerchain - and the empty package at the end) - give a warning if the type lookup fails - finally, added a $Coll variable to List, for some reason it wasn't there and we were getting immutable.Seq as the result of use cases.
* | | | | | | | Merge pull request #936 from scalamacros/ticket/5999Adriaan Moors2012-07-2032-35/+180
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | SI-5999 consistent behavior for c.reify and c.universe.reify
| * | | | | | | SI-5999 a real fix to the packageless problemEugene Burmako2012-07-209-5/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a discussion on a reflection meeting on Jul 17 we concluded that we should split staticModule into staticModule and staticPackage to remove the ambiguity between packageless objects and packageless packages (more in the comments in the body of the commit). The motivation is verbosely outlined in the comments, but the bottom line is that Scala allows packages and packageless objects to have the same name within the same program. Therefore at times we need to disambiguate, hence the introduction of the staticPackage method. As of such staticModule no longer works for packages. In the same fashion staticPackage doesn't work for modules. This is done to ensure robustness of reification. I would like to do the same for getModule in Definitions, but we have to maintain backward compatibility. That's why I retained the old behavior, but replaced getModule invocations with getPackage where appropriate to be in line with staticModule and staticPackage. Another important thing that follows from the discussion is that both staticClass and staticModule prefer parent packages over parent objects in cases of ambiguity. Say, if we have the following snippet of code: object B { class C } next to package B { class C } then staticClass("B.C") will never even consider a C inside the object B. This is how scalac operates, so we decided to be consistent here. Finally reification logic got changed to distinguish between staticModule and staticPackage, and to allow for the fact that staticClass and staticModule prefer parent packages to parent objects.
| * | | | | | | SI-5999 removes Context.reifyEugene Burmako2012-07-2023-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there are discrepancies between the behavior of c.reify and c.universe.reify. First step in fixing these problems is removing the duplication in the API. That's why I'm cutting away the Context.reify shortcut. Context.reify is a magic macro, hardwired in the fast track mechanism, so removing it requires redeploying the starr (because an old starr will crash if launched on sources that don't contain Context.reify). To cleanly redeploy a starr I've left a Context.reify stub in sources, but hidden it behind a `protected` modifier. When starr is redeployed (in a subsequent commit) the stub will be removed. I've also updated the tests to use c.universe.reify instead of c.reify. This will break some of them, because c.universe.reify uses a standard compiler mirror, which unlike a macro mirror doesn't like packageless classes. That's an annoyance, but I think having clean separation of commits is more important that being 100% consistent.
* | | | | | | | Merge pull request #927 from dgruntz/issue/5856Adriaan Moors2012-07-203-0/+52
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | SI-5856 enables use of $this in string interpolation
| * | | | | | | changes error message generated by compilerDominik Gruntz2012-07-171-1/+1
| | | | | | | |
| * | | | | | | SI-5856 enables use of $this in string interpolationDominik Gruntz2012-07-173-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This pull request fixes SI-5856. The scanner has been modified to return the correct token if keywords appear in $-expressions. The parser has been modified to issue an error and to only accept $<identifier>, $this and $block.
* | | | | | | | Merge pull request #937 from adriaanm/ticket-5739Adriaan Moors2012-07-206-42/+98
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | SI-5739 store sub-patterns in local vals
| * | | | | | | SI-5739 store sub-patterns in local valsAdriaan Moors2012-07-176-42/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also closes SI-5158 (debuggability), SI-6070 (soundness). To improve both debuggability and soundness, we now store the result of an extractor (user-defined and synthetic) in local variables. For the case class case, this also fixes the soundness bug SI-6070, as this prevents post-match mutation of bound variables. The core of the refactoring consisted of introducing the PreserveSubPatBinders trait, which introduces local variables instead of substituting symbols for the RHS of those variables (so this can be seen as reverting the premature optimization of inline the case-class getters into the case body). Since TreeMakerToCond fuses the substitutions performed in a match to find out which symbolic values binders evaluate to, masquerade PreserveSubPatBinders's binding of subPatBinders and subPatRefs as the corresponding substitution. Consider `case class Foo(bar: Int)`, then `case y@Foo(x) => println(x)` gives rise to `{val x = y.bar; println(x)}` (instead of `println(y.bar)`), and `subPatternsAsSubstitution` pretends we still replace `x` by `y.bar`, instead of storing it in a local variable so that the rest of the analysis need not be modified. Misc notes: - correct type for seq-subpattern - more error resilience (ill-typed patterns sometimes slip past the typechecker -- reopened SI-4425) TODO: come up with a more abstract framework for expressing bound symbols and their values
* | | | | | | | Merge pull request #929 from scalamacros/ticket/5895Adriaan Moors2012-07-2014-39/+86
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fixes field mirrors and also improves docs and exceptions for all mirrors
| * | | | | | | | SI-5984 improves error reporting in JavaMirrorsEugene Burmako2012-07-1910-11/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-175-29/+38
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-0/+11
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-4897 derive expected value from single type
| * | | | | | | | SI-4897 derive expected value from single typeAdriaan Moors2012-07-192-0/+11
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-193-16/+19
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Critical bugfixes/leak fixes/API corrections + ScalaDoc for SIP-14
| * | | | | | | | Critical bugfixes/leak fixes/API corrections + ScalaDoc for SIP-14Viktor Klang2012-07-193-16/+19
| | | | | | | | |
* | | | | | | | | 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 #919 from scalamacros/ticket/6086Adriaan Moors2012-07-1910-33/+117
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | | SI-6086 magic symbols strike back
| * | | | | | | SI-6086 magic symbols strike backEugene Burmako2012-07-1710-33/+117
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 #922 from dragos/issue/fix-SI-6092Adriaan Moors2012-07-192-0/+39
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | 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-182-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-192-0/+14
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | | SI-6089 better tail position analysis for matches
| * | | | | | | SI-6089 better tail position analysis for matchesAdriaan Moors2012-07-182-0/+14
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-181-0/+12
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-5937: Vector updated, +:, and :+ ignore provided builder, breaking type safety
| * | | | | | | Fix SI-5937.Aleksandar Prokopec2012-07-181-0/+12
| | |_|_|/ / / | |/| | | | |
* | | | | | | Merge pull request #935 from scalamacros/ticket/5695Adriaan Moors2012-07-183-22/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-5695 removes Context.enclosingApplication
| * | | | | | | SI-5695 removes Context.enclosingApplicationEugene Burmako2012-07-183-22/+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-183-0/+47
|\ \ \ \ \ \ \ | |_|_|_|_|_|/ |/| | | | | | SI-5892 allow implicit views in annotation args
| * | | | | | SI-5892 allow implicit views in annotation argsLukas Rytz2012-07-183-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.