summaryrefslogtreecommitdiff
path: root/test/files/run/reflection-implClass.scala
Commit message (Collapse)AuthorAgeFilesLines
* Refining the reflection api.Paul Phillips2012-02-051-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the pursuit of simplicity and consistency. - Method names like getType, getClass, and getValue are far too ambiguous, both internally and especially with java reflection names. Methods which accept or return scala symbols should not refer to them as "classes" in the reflection library. (We can live with the FooClass convention for naming the well-known symbols, it's names like "getClass" and "classToType" which are needlessly conflationary.) - Meaningless names like "subst" have to be expanded. - We should hew closely to the terms which are used by scala programmers wherever possible, thus using "thisType" to mean "C.this" can only beget confusion, given that "thisType" doesn't mean "this.type" but what is normally called the "self type." - It's either "enclosing" or "encl", not both, and similar consistency issues. - Eliminated getAnnotations. - Removed what I could get away with from the API; would like to push those which are presently justified as being "required for LiftCode" out of the core. - Changed a number of AnyRefs to Any both on general principles and because before long it may actually matter. - There are !!!s scattered all over this commit, mostly where I think the name could be better. - I think we should standardize on method names like "vmSignature, vmClass" etc. when we are talking about jvm (and ostensibly other vm) things. There are a bunch more places to make this distinction clear (e.g. Symbol's javaBinaryName, etc.) - There is a lot more I want to do on this and I don't know where the time will come from to do it. Review by @odersky, @scalamacros.
* Making reflection thread-safe.Martin Odersky2012-01-251-8/+8
| | | | 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.
* Fix and re-enable test, that got broken by chan...amin2011-11-161-0/+38
| | | | | | Fix and re-enable test, that got broken by changes to reflection API in rev 26014. Review by odersky.
* Disabled broken test, review by odersky.Paul Phillips2011-11-161-38/+0
|
* Changed reflection to allow getting a Scala Sym...amin2011-11-151-6/+26
| | | | | | Changed reflection to allow getting a Scala Symbol for the implementation class of a trait.
* Allow to load $class classes using Scala reflec...Grzegorz Kossakowski2011-11-101-0/+18
Allow to load $class classes using Scala reflection. Tweaked implementation of invalidClassName method to exclude *$class clasess from the set of invalid names. It's not exactly clear what was the intent of this method in first place so I'm not sure if it's the best way to fix SI-5176. Added test-case that covers this issue. Fixes SI-5176. Review by odersky.