summaryrefslogtreecommitdiff
path: root/src/reflect
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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 #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.
* | | Merge branch '2.10.0-wip' into merge-2.10.0Josh Suereth2012-11-0590-333/+480
|\ \ \ | |/ / |/| / | |/
| * Merge pull request #1566 from densh/topic/asSeenFrom-exampleJosh Suereth2012-11-041-4/+20
| |\ | | | | | | Fixes example in Type.asSeenFrom
| | * Fixes example in Type.asSeenFromDen Shabalin2012-11-031-4/+20
| | | | | | | | | | | | | | | | | | It was written in some form of non-executable pseudo-code before and that might be quite confusing for people who are not familiar with scala reflection.
| * | Merge pull request #1559 from heathermiller/copyright-updateJosh Suereth2012-11-0455-56/+55
| |\ \ | | |/ | |/| Updated copyright dates throughout compiler and stdlib for upcoming release
| | * Brings all copyrights (in comments) up-to-date, from 2011/12 to 2013Heather Miller2012-11-0255-56/+55
| | |
| * | SI-6562 Fix crash with class nested in @inline methodJason Zaugg2012-11-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e6b4204604 moved access widenings from ExplicitOuter to SuperAccessors to reflect them in pickled signatures so that the inliner can take advantage of them under separate compilation. The followup discussion [1] determined that this wasn't the right solution: while it enabled new separate compilation inlinings, it failed to widen access of outer pointers and hence prevented certain inlinings. A better solution was proposed: modify the inliner to know that access widening is guaranteed to have happened in ExplicitOuter for any field accessed by an @inline-d method body, rather than relying solely on the pickled types. But this hasn't happened yet. In the meantime 07f94297 / #1121 reinstated the access widening to SuperAccessors, but took a slightly different approach, using `Symbol#enclMethod` rather than `closestEnclMethod`. That deviation triggers SI-6562. This commit goes back to `closestEnclMethod`. [1] https://groups.google.com/forum/#!topic/scala-internals/iPkMCygzws4
| * | SI-6132 Revisited, cleaned-up, links fixed, spelling errors fixed, rewordingsHeather Miller2012-11-0226-194/+227
| | |
| * | Labeling scala.reflect and scala.reflect.macros experimental in the API docsHeather Miller2012-11-0237-56/+162
| | | | | | | | | | | | | | | - Added the labels across scala.reflect and scala.reflect.macros - Added the styling in template.css that is used by all labels
| * | Remove implementation details from Position (they are still under ↵Hubert Plociniczak2012-11-021-29/+2
| |/ | | | | | | reflection.internal). It probably needs more cleanup of the api wrt to ranges etc but let's leave it for later
| * SI-6556 no assert for surprising ctor result typeMartin Odersky2012-10-301-1/+13
| | | | | | | | | | | | | | Previous fix to value classes uncovered some questionable cases in the backend where result types of constructor signatures are surprising. It's not a big deal because these types will be ignored afterwards anyway. But the method uncovered some questionable situations which we should follow up on. However, breaking 2.9 code because of this is way too harsh. That's why the asserts were converted to warnings. review by @paulp, @adriaanm
* | Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10.0-wipPaul Phillips2012-10-313-118/+120
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Zaugg (5) and others # Via Josh Suereth (5) and others * origin/2.10.0-wip: Use Typed rather than .setType Wider use and a new variant of typedPos. SI-6575 Plug inference leak of AbstractPartialFun Disabled generation of _1, _2, etc. methods. SI-6526 Additional test case. Fix SI-6552, regression with self types. avoid single-art assert where harmful in duration-tck Fix for SI-6537, inaccurate unchecked warning. SI-6526 Tail call elimination should descend deeper. Changes Tree and Type members from vals to defs. Fixes SI-6170: issue with dragging scaladoc splitter over central iframe
| * Fix SI-6552, regression with self types.Paul Phillips2012-10-211-3/+5
| | | | | | | | | | | | | | | | | | In 6eb55d4b7a we put in a remedy for an old issue SI-4560 which had accumulated a number of sketchy partial remedies which carried no tests to illustrate their necessity. Looks like at least one of those was doing something useful. Here's to reversion-reversion. This reverts commit c8bdf199, which itself reverted cb4fd6582.
| * Changes Tree and Type members from vals to defs.Paul Phillips2012-10-132-115/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explanatory email: The reflection API defines a great many abstract vals. I would like these all to be defs. I'm sending a pull request to that end. Reasons: for starters, they should default to being defs. It's a decision to use vals for which one should have to supply reasons. The reason for THAT is that defs can be implemented with vals, but not vice versa. Why does this matter? I can't find my long writing on the subject of TypeRef. In short, we waste a huge amount of memory on its fields, because given the way TypeRef is defined, each one demands a pre, a sym, and an args. Except that somewhere between 1/3 and 1/2 have prefix "NoPrefix", and somewhere between 1/3 and 1/2 have args "Nil". We know it at creation time, but we give every typeref the whole field anyway. At present there's no way to fix this which has acceptable performance - i.e. custom subclasses save us lots of memory, but are too much slower for having to use an extractor - but there's no reason we should have to choose, and I fully expect to fix it eventually. Let's not make that fix into a breaking change by abstractly defining "pre" and "args" as field-requiring vals.
* | Incorporated changes suggested in code reviewHubert Plociniczak2012-10-181-24/+19
| |
* | Closes SI-6358. Move accessor generation for lazy vals to typers.Hubert Plociniczak2012-10-181-6/+12
|/ | | | | | | | | | | | | Until now lazy accessors were handled somehow special because their symbol was created in typers but the corresponding tree was only added in Refchecks. This irregularity caused serious problems for value classes. Also it now looks just better when lazy value is treated in a similar way as other fields. I needed to adapt reifier so that it handles the new implementation correctly. Previously it had to recreate lazy val only by removing defdef and renaming. Now we basically need to recreate lazy val from scratch. There is one minor change to cps plugin but that is still fine because lazy vals were never really part of the transformation. Some range positions needed to be fixed manually. We could do it at the creation time but that would require a lot more "if (symbol.isLazy)" conditions for MethodSyntheis and Symbol/Tree creation and would just unnecessary complicate api. If someone has a better idea, please speak up. Range positions changes were necessary because previously accessors were created at refchecks and they weren't checked by validator (even though they were wrong). This commit removes lazy val implementation restriction introduced for 2.10.0. (cherry-picked from 981424b)
* JavaUniverseVlad Ureche2012-10-111-2/+1
|
* Moved @contentDiagram in SymbolsVlad Ureche2012-10-111-2/+2
|
* Adds lots of new documentation for TypeTags, Mirrors, Universes and moreHeather Miller2012-10-1119-342/+621
| | | | | Additionally includes improvements, formatting fixes, and link additions and fixes.
* runtime.JavaUniverse - put ungrouped members at the topVlad Ureche2012-10-112-2/+4
|
* Forgotten annotation in AnnotationsVlad Ureche2012-10-111-1/+1
|
* Diagram tweakingVlad Ureche2012-10-1113-7/+29
| | | | blocked by SI-6511
* Grouping for reflection and macrosVlad Ureche2012-10-1124-251/+1046
| | | | and warning cleanup
* fixes a typoEugene Burmako2012-10-111-1/+1
|
* scala.reflect.api.Symbols documentationVlad Ureche2012-10-111-50/+330
| | | | Oh those pretty groups, u gotta luv'em...
* Symbols docs cleanup, mostly moved to guideingoem2012-10-111-198/+32
|
* scala.reflect.api.Position documentationVlad Ureche2012-10-113-61/+50
|
* scala.reflect.api.StandardNames documentationVlad Ureche2012-10-113-11/+27
|
* scala.reflect.api.Constants documentationVlad Ureche2012-10-112-82/+124
|
* removed docs for internal TypeCreator and TreeCreatorChristopher Vogt2012-10-112-37/+5
|
* simplified reflection docs for treesChristopher Vogt2012-10-111-216/+28
|
* Rearranged some reflection docs, moving things to the guideingoem2012-10-1111-437/+86
|
* reflection docs improvements and moves to doc pageChristopher Vogt2012-10-114-234/+20
|
* docs for reflection and macrosEugene Burmako2012-10-1140-385/+3051
|
* Fix for SI-6499, regression in type inference.Paul Phillips2012-10-101-7/+29
| | | | | | | | | | | | I can't do any better than a reproduced comment: For some reason which is still a bit fuzzy, we must let Nothing through as a lower bound despite the fact that Nothing is always a lower bound. My current supposition is that the side-effecting type constraint accumulation mechanism depends on these subtype tests being performed to make forward progress when there are mutally recursive type vars. See pos/t6367 and pos/t6499 for the competing test cases.
* Merge pull request #1458 from scalamacros/pullrequest/reflectionJosh Suereth2012-10-0931-166/+117
|\ | | | | Another reflection bomb
| * removes strongly-typed Constant.value wrappersEugene Burmako2012-10-081-12/+0
| | | | | | | | These are surely not necessary. Thanks Vlad!
| * upgrades showRawEugene Burmako2012-10-041-18/+29
| | | | | | | | | | | | | | | | Fixes the stuff that was irritating, when I was preparing examples for reflection documentation. Has zero impact at stability of scalac, because showRaw isn't used anywhere in the compiler unless invoked explicitly.
| * introduces api.JavaMirrorsEugene Burmako2012-10-042-12/+17
| | | | | | | | | | | | | | | | | | This trait carries mirror-related changes of the API that happen when api.Universe transforms into api.JavaUniverse. From a coding standpoint this is a mere rehashing of the code, but from a documentation standpoint this provides additional insights into what's going on in reflection.
| * moves Attachments from api to macrosEugene Burmako2012-10-045-9/+18
| | | | | | | | | | | | Because they are only available in macros.Universe, not in api.Universe, therefore I'd argue that the confusion factor is stronger than the weirdness of scala.reflect.api.Position extending scala.reflect.macros.Attachments.
| * introduces macros.package.scalaEugene Burmako2012-10-041-0/+4
| | | | | | | | | | For the sole reason of putting docs on it in a separate pull request, which is being prepared elsewhere
| * removes extraneous methods from api.StandardNamesEugene Burmako2012-10-041-2/+0
| | | | | | | | | | nme.ROOT doesn't have much use in the public API (unlike nme.ROOTPKG). tpnme.EMPTY duplicates a method inherited from the base class.
| * removes extraneous methods from api.StandardDefinitionsEugene Burmako2012-10-041-11/+0
| | | | | | | | Never got to use these guys, so let's better remove them.
| * removes extraneous methods from api.TreesEugene Burmako2012-10-031-3/+0
| | | | | | | | Tree.hasSymbol is really too much to document for its merit.