| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Very first time I tried "reify" in the repl and it crashed.
I changed an assert to issue a proper error, as best I could
figure out how. We probably need to do a lot more of this.
|
|/ |
|
|\
| |
| | |
updated check file
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Moved compose/andThen off Function1, curried/tupled off Function2.
Pushed Tuple2 zipped into auxiliary class. Created implicits to
plaster over the changes. This drops several hundred classfiles and
takes (unoptimized) scala-library.jar from 7.8 Mb to 7.4 Mb.
|
| | |
|
| | |
|
|\ \
| |/
|/| |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
typer synthesized the wrong isDefinedAt method in typedMatchAnon
because a BackQuotedIdent was copied as an Ident, so that the equality check
was performed in applyOrElse (since it operates on the original tree),
but not in isDefinedAt (since it operates on the copy, which collapsed Ident and BackQuotedIdent)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
val pattern: Type = expr desugared to
val x = expr match { case pattern: Type => (var_1, ..., var_N)}
but `pattern: Type` is only a valid pattern if `pattern` is an Ident
thus, we desugar to
val x = (expr: Type) match { case pattern => (var_1, ..., var_N)}
... in this case (see def makePatDef)
also, MaybeBoundType now fails on illegal patterns (to defend against similar regressions)
|
|
|
|
|
|
|
| |
Trying to compile sbt with 2.10.0 reminded me that ScalaObject
wasn't only a marker interface, it was a public trait in the library
and has to be removed properly. "The ol' boy had a bit of life
in him yet, 'e did."
|
|
|
|
| |
For those of us robots who still have a little human blood.
|
|\ |
|
| | |
|
| | |
|
| | |
|
| | | |
| \ | |
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
@paulp I think this is the place we should dump the contents of AbsSymbolInternal to
|
| | | | |
|
| |/ /
|/| |
| | |
| | |
| | | |
Otherwise loading the class reflectively runs the initializer
and throws an exception.
|
| | |
| | |
| | |
| | | |
We thought better of it.
|
| | | | |
| \ \ | |
|\ \ \ \ |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* all usages of ClassManifest and Manifest are replaced with tags
* all manifest tests are replaced with tag tests
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* introduces ArrayTag and ErasureTag
* all type tags now feature erasure
|
| | |_|/
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit b47189ad06e027c310d93b071fc8bf15d979225d.
This never happened.
|
|\ \ \ \ |
|
| | |_|/
| |/| | |
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
You are a fireman, leading a team of firemen on a rescue
in a burning building. When you have cleared a room, you place
a sticker on the door which says "Room cleared!" If the other
firemen see that sticker, they will skip that room, knowing
there are no small children or adorable puppies behind it.
As the lead fireman, here is what you should not do: run from
door to door slapping "Room cleared!" stickers on them all, so
the other firemen shrug and go home.
Translation: when recursion depends on a condition, if you
alter the condition before you recurse, you may not recurse at all.
|
|\ \ \
| |_|/
|/| | |
|
| | | |
|
| | | | |
| \ \ | |
| \ \ | |
| \ \ | |
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
'refs/pull/421/head'; commit 'refs/pull/422/head' into develop
|
| | | | |/
| | | |/|
| | | | |
| | | | | |
Fix SI-5168.
|
| | |/ /
| | | |
| | | |
| | | | |
Fix SI-5083.
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Consolidating many islands of name organization. Folds NameManglers
into StdNames. Brings more of the string constants together with similar
constants. Move name manipulation methods which produce TypeNames
into object tpnme rather than nme.
- Starting on MethodSymbolApi, ClassSymbolApi, etc so we can put
sensible methods on sensible entities. This pushed into Definitions,
where I pulled a whole bunch out of the api side (or at least marked
my intention to do so -- too many tests use them to make them easy to
remove) and on the compiler side, returned something more specific than
Symbol a bunch of places.
- Added a number of conveniences to Definitions to make it easier to
get properly typed symbols.
Note: one way in which you might notice having better typed Symbols is
with Sets, which have the annoying property of inferring a type based on
what they've been constructed with and then hard failing when you test
for the presence of a more general type. So this:
val mySet = Set(a, b)
println(mySet(c))
..goes from compiling to not compiling if a and b receive more specific
types (e.g. they are MethodSymbols) and c is a Symbol or ClassSymbol or
whatever. This is easily remedied on a site-by-site basis - create
Set[Symbol](...) not Set(...) - but is an interesting and unfortunate
consequence of type inference married to invariance.
The changes to DummyMirror where things became ??? were driven by the
need to lower its tax; type "Nothing" is a lot more forgiving about changes
than is any specific symbol type.
|
| |/ |
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
'refs/pull/416/head'; commit 'refs/pull/417/head'; commit 'refs/pull/418/head' into develop
|
| | | | | | | |
|
| | | | | |/ |
|
| | | | |/ |
|
| | | |/ |
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
locker.lib:
[javac] Compiling 1 source file to C:\Projects\Kepler\build\locker\classes\library
[javac] C:\Projects\Kepler\src\library\scala\concurrent\impl\Unsafe.java:17: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
[javac] public final static sun.misc.Unsafe instance;
[javac] ^
[javac] C:\Projects\Kepler\src\library\scala\concurrent\impl\Unsafe.java:20: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
[javac] sun.misc.Unsafe found = null;
[javac] ^
[javac] C:\Projects\Kepler\src\library\scala\concurrent\impl\Unsafe.java:21: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
[javac] for(Field field : sun.misc.Unsafe.class.getDeclaredFields()) {
[javac] ^
[javac] C:\Projects\Kepler\src\library\scala\concurrent\impl\Unsafe.java:22: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
[javac] if (field.getType() == sun.misc.Unsafe.class) {
[javac] ^
[javac] C:\Projects\Kepler\src\library\scala\concurrent\impl\Unsafe.java:24: warning: sun.misc.Unsafe is Sun proprietary API and may be removed in a future release
[javac] found = (sun.misc.Unsafe) field.get(null);
[javac] ^
[javac] 5 warnings
[propertyfile] Updating property file: C:\Projects\Kepler\build\locker\classes\library\library.properties
[stopwatch] [locker.lib.timer: 0.908 sec]
|