| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Fix for SI-6084, type alias crasher.
|
| |
| |
| |
| |
| |
| | |
"no need for pt.normalize here, is done in erasure"
ORLY? Review by @adriaanm.
|
|\ \
| | |
| | | |
Fixes SI-6172.
|
| | |
| | |
| | |
| | |
| | | |
All the credit for fixing magical constants in the encoding algorithm goes to @magarciaEPFL.
This time provided a test case that exercises GenASM.
|
| | | |
|
|\ \ \
| | | |
| | | | |
SI-5930 SI-5897 reduce redundant warnings in matches, fix flags usage
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
the pattern matching analysis should be more precise anyway
(don't warn twice)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Instead of trying to serialize the entire universe and failing miserably
(which happens now), exprs and type tags will now serialize their creators
and deserialize into scala.reflect.basis.
Since creators produced by reification are not serializable right now,
serialization will crash. That's a small improvement over state of the art
functionality-wise, but it's a step forward robustness-wise.
Next step in this direction is generation of serialization code for creators.
Related issues: SI-5919 and SI-5908. Also see the discussion at scala-internals
http://groups.google.com/group/scala-internals/browse_thread/thread/ef63f8b5bd194c7c
|
| | | |
| | | |
| | | |
| | | | |
Removes the stubs left out to appease the old starr, fixes macro tests.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These options were meant to be used to bootstrap macros defined in our codebase
However we can bootstrap perfectly without any additional effort, because
library classpath classloader can delegate to tool classpath classloader to
load macro implementations from starr.
Since then (for several months) this functionality hasn't proven to be useful,
neither anyone on the mailing list or stackoverflow asked questions about it
(even despite it was explicitly mentioned in the "cannot load macro impl"
error message).
Hence I suggest that it is totally unnecessary and should be removed.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Added a bunch of test methods to symbols to cover public flags:
(e.g. isPrivate, isFinal, isOverride, isImplicit, etc). I'd argue that
the API duplication w.r.t flag sets is trumped by unified interface
to tests and better encapsulation.
Also updated the API to be easier to understand after prior exposure
to Java or .NET reflection APIs:
1) Added typeParams to TypeSymbol and ClassSymbol.
2) Renamed MethodSymbol.resultType to returnType.
3) Removed the distinction between MethodSymbol.params vs MethodSymbol.allParams
now we just have MethodSymbol.params: List[List[Symbol]].
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Adds informative toString for InstanceMirror, FieldMirror,
MethodMirror (for methods and constructors), ClassMirror and ModuleMirror.
Universe mirrors (e.g. JavaMirrors or compiler mirrors) already have good
toString methods that show their affiliation and/or classpaths.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This renaming arguably makes the intent of `asType` more clear,
but more importantly it shaves 6 symbols off pervasive casts that
are required to anything meaningful with reflection API
(as in mirror.reflectMethod(tpe.member(newTermName("x")).asMethodSymbol)).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
1) Removed unnecessary (i.e. implementable with pattern matching) type APIs.
2) Renamed isHigherKinded to takesTypeArgs making it easier to understand.
2) typeParams and resultType have been moved from MethodType to MethodSymbol
Strictly speaking they are superfluous, but they are used very often.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This works around SI-5736 that's been deemed too risky to be fixed in 2.10.0.
A reflection newbie will be unlikely to acquire a field symbol from its name,
but the `accessed` method provides an easy way to navigate to it from a getter.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Firstly this unifies the reflection API - now both decls and members
return Scope (not Scope and List[Symbol] as it were before).
Secondly this fixes SI-5732 without having to sort the result of members.
Type.members now returns Scope, a distinguished type, which has the
`sorted` method, which does the required sorting if necessary.
Also removes nonPrivateMembers and nonPrivateDeclarations to keep the API
minimalistic (as can be seen from their implementation in internal.Types
they are just members and decls with bridges and private members removed).
|
|\ \ \
| | | |
| | | | |
SI-5751 cleans up toolboxes for the release
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Removes the `freeTypes` parameters on `typeCheckExpr` and `runExpr`,
since we now have public `substituteTypes` on both trees and types.
Also implements long-awaited `inferImplicitValue` and `inferImplicitView`
(thanks to Miles Sabin for nudging me!)
|
|\ \ \ \
| |/ / /
|/| | | |
Fixed maddening "..." lately in printed types.
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
I screwed around with type printing for a long time and now I have
to be done, so I suggest we accept the imperfection in here for now
because it's still way ahead of "..." as types go.
|
|\ \ \
| | | |
| | | | |
SI-5866 Support casting null to value classes
|
| | | |
| | | |
| | | |
| | | | |
The fix now supports null.asInstanceOf[C] where C is a value class that wraps a primitive type.
|
|\ \ \ \
| | | | |
| | | | | |
ClassTag.Nothing now throws an exception
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Nothing is a bottom type, so it doesn't make much sense for it to have
a meaningful erasure (ClassTag.Nothing.runtimeClass).
|
|\ \ \ \
| | | | |
| | | | | |
Fixed SI-5031. Only consider classes when looking for companion class.
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
sym.effectiveOwner revealed this piece of inconsistency. companionModule
is fine because similar check is there already.
Review by @paulp.
|
|\ \ \ \
| | | | |
| | | | | |
Closes SI-5882
|
| | | | |
| | | | |
| | | | |
| | | | | |
I changed the SIP and added a test.
|
| | | | |
| | | | |
| | | | |
| | | | | |
I have added a restriction that value classes may not contain inner classes or objects. This makes sense as the "outer" field of any such classes or objects would be ephemeral, with surprising results. SIP-15 has been changed accordingly.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
SI-2038 make pt fully-defined when typing Typed
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
dropExistential turns existentials in the expected type (pt) that's passed to `typed`
into `BoundedWildcardType`s, but those should not end up in trees
when typing a `Typed` node, we didn't check for the type being fully defined (`isFullyDefined`)
(and thus did not make it fully defined by turning these BWTs into existentials again using `makeFullyDefined`)
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Remove resolveOverloaded
|
| | |_|_|/ /
| |/| | | |
| | | | | |
| | | | | | |
It was decided to remove it until the next release
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Fixed SI-5603. Early definitions now get transparent positions.
|
| | |_|/ /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | | |
This includes a fix for a minor problem described in #594 -
ensureNonOverlapping still focuses on default position when outside of early defs.
Review by @dragos, @odersky.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Closes SI-5878
|
| | |_|/ /
| |/| | |
| | | | |
| | | | | |
We need to impose an additional rule on value classes: They may not unbox directly or indirectly to themselves.
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
IDE improvements, with particular focus on making worksheets work.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Adds a raw string interpolator raw"..." which does not do any escape sequence processing.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Partest instrumentation fixes
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Extend instrumenting infrastructure to instrument
classes in `instrumented` package. This is useful
because very often you need to put your classes
into non-empty package. E.g. inliner doesn't work
properly with empty package at the moment so in
order to test any behaviour we need to put classes
in some other package that is instrumented.
Added testing code for that to instrumentation
test-case.
Review by @phaller.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
SI-6140 Scaladoc infinite recursion in wiki parser
|
| |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
introduced by dc70d1b7.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Issue/4560
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Added all the known cases of failing self-types. Added tests for symbol
access (SI-4601) as well which should now be fixed for all of the same cases
as well.
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Following this commit are reversions of three prior commits which
introduced difficulties of their own, plus extra tests for this
issue and SI-4601, all of which I pinched from jrudolph.
Maybe there was a good reason for some of the complicated code
related to this ticket. I took the naive position that if we avoided
generating a method call to a particular receiver if the receiver
has no such method, we would encounter fewer NoSuchMethodErrors.
I would believe one can construct a scenario which this doesn't
handle correctly, but it's hard to believe this isn't a big
improvement. Review by @jrudolph, @odersky.
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SI-6142: warn @inline-methods ending up not inlined (rightfully or not)
|
| | |/ / / / /
| |/| | | | | |
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
SI-5958 This deserves a stable type
|