| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Removed old Scalac code in sources and various other obsolete elements.
|
| |
|
|
|
|
|
| |
- corrected indentation
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Initial support for attributes - only works for the scala.serializable attribute
|
| |
|
|
|
|
|
|
|
|
| |
- bug fix: include compound types in the computation of the set of
constructors needed to compute the parents of a class, - bug fix: handle
abstract type members in the detection of classes whose parents have to
be computed lazily (thanks Philippe)
|
|
|
|
|
|
| |
- bug fix: transform all isInstance/asInstance calls, even those in
qualifiers of other such calls
|
|
|
|
|
|
| |
- bug fix: detection of classes needing laziness should now work in all
cases
|
|
|
|
|
|
| |
- in instantiation methods, reuse array of type parameters whenever
possible to save some time and space
|
|
|
|
|
|
| |
- bug fix: detect types whose instantiation can lead to infinite loops,
and compile them differently so that their parents are computed lazily
|
| |
|
|
|
|
|
|
|
| |
- optimisation: treat strongly trivial Scala classes as if they were
Java classes: they receive no type constructor and no instantiation
method, and their type is a JavaClassType
|
|
|
|
|
|
|
|
|
| |
- renamed weak* methods in ScalaClassType to isNonTrivial*, which better
reflects what they do, - moved these methods to ClassType, - made
getScalaType return a ClassType, to enable the forthcoming optimisation
making strongly trivial classes return a JavaClassType instead of a
ScalaClassType
|
| |
|
|
|
|
|
| |
- improved the interaction between arrays and run time types
|
|
|
|
|
|
|
| |
- fixed asInstanceOf when applied to null, so that it works according
to the spec, - use a local variable in the "two steps" translation of
isInstanceOf, to avoid duplicated evaluation
|
|
|
|
|
| |
- extended the notion of triviality to array types
|
| |
|
|
|
|
|
|
|
|
|
| |
- use the mini-transformer when targetting the MSIL backend; this phase
is not applicable for the MSIL backend; - do not initialize certain
values if the mini-transformer is used; this is necessary with the MSIL
backend which leaves some uninitilized fields in Definitions that are
needed by TypesAsValues.
|
|
|
|
|
|
|
| |
- added weakIsInstance method in ScalaClassType, which make it possible
to slightly optimise instance tests when the type is that of a known
class (e.g. x.isInstanceOf[C[T]])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- introduced isInstanceOf$erased and asInstanceOf$erased methods, which
work on the erased types; things to note:
* before TypesAsValues phase, either variant can be used, although
the erased ones need to be used with caution, when speed
matters;
* after TypesAsValues phase, only the erased variants should be
used (done automatically by TreeGen);
* when run time types are disabled, the TypesAsValues phase is not
skipped anymore: it is turned into a trivial phase which
rewrites all non-erased instanceof/casts into erased ones.
|
|
|
|
|
|
| |
- pass null as ancestor code when it is empty, instead of creating an
array each time
|
|
|
|
|
|
| |
- use TypeConstructor.FUNCTION_OUTER as a fake outer instance for
classes nested inside functions
|
|
|
|
|
|
| |
- rewrote some parts,
- added some comments.
|
|
|
|
|
|
|
| |
- changed the format of the ancestor code, to shrink it (hopefully),
- put only non-trivial types in the ancestor cache, pass only strongly
- non-trivial parents to instantiation methods,
|
|
|
|
|
|
| |
- removed NewMember class and all related code, all of which was
obsolete
|
| |
|
|
|
|
|
|
|
| |
- renamed "checkCastability" (in Type and subclasses) to "cast", which
is nicer and closer to Java 1.5, - renamed "display" to "ancestors" in
run-time types
|
| |
|
|
|
|
|
|
| |
- use the new parameter to the constructor of ScalaClassType, to avoid a
further call to setParents in some cases
|
|
|
|
|
|
| |
- Added some tests to avoid the inlining of methods already inherited
through the super class.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- bug fix: computation of the display fixed for classes which inherit
directly from Java classes, - bug fix: return type of instantiation
methods is now correct (ScalaClassType only for static methods, Type
otherwise), - bug fix: fixed the work-around for the analyzer bug, which
was adding some instantiation methods twice in some cases.
|
|
|
|
|
|
| |
- bug fix: use correct parent index for classes inheriting directly from
Java classes
|
|
|
|
|
|
| |
- handle a few more "special" types (All, AllRef, etc.), various bug
- fixes
|
|
|
|
|
|
|
| |
- bug fix: nested private classes are no longer renamed and made public,
- introduced a few hacks to work around problems caused by our use of
setOwner (to be removed during next redesign)
|
|
|
|
|
|
| |
- fixed a bug in the "refinements" method (note: all of this will
disappear soon, but I just want to keep the history)
|
|
|
|
|
|
|
| |
- Removed method Transformer.apply(CompilationUnit[] - Added method )
Phase.apply(CompilationUnit - Adapted most phases to implement method )
Phase.apply(CompilationUnit instead of Phase.apply(CompilationUnit[] )
|
|
|
|
|
|
| |
- Removed some obsolete references class TextTreePrinter and package
printer
|
| |
|