| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Merges the relevant part of #2295 (build.xml cleanup),
with the relevant differences in build.xml carried forward,
as well as a fix in interactive/RangePositions for the sbt interface.
|
| |
| |
| |
| |
| | |
Use `ant -Dstarr.version="2.11.0-M2" -Dlocker.skip=YESSIR`,
to build quick using 2.11.0-M2 (skipping locker, using starr instead).
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reduced copy/pasting to the best of my antabilities.
The next person to duplicate anything without written
permission will be sentenced to a week in xmhell.
While I was at it, made sure that layering is respected.
The quick phase exclusively uses the locker compiler for building.
The jar task will fail when trying to create an empty jar.
Replaced the crazy if/unless/depends constructs by if/then/else.
Version suffix computation should now be comprehensible.
I threw in some validation to make sure the various suffixes are consistent.
Also, no more init/pre-foo tasks unless absolutely necessary.
Introduced a couple of macros to capture the essence of staged compilation.
Notes:
- remove lib.extra, standardize on aux.libs
- collapse *.javac.path and *.build.path
- rename starr.classpath to starr.compiler.path
- only repl needs jline, locker.compiler.path = locker.comp.build.path + forkjoin
- more uniform build.paths (compiler = reflect + library)
- uniformity means slightly bigger classpaths
(e.g. forkjoin is only used in library, but inherited by compiler)
- pruned: some spurious dependencies removed
- compilerpathref = compiler build path
- silence test.osgi, by hook or by crook
- centralized clean tasks
- reduce duplication in property usage
- fix pack.xml to pack scaladoc/partest instead of scaladoc/scala-partest
- TODO: -XDignore.symbol.file necessary for library? only needed for forkjoin?
- document usage from jenkins, fix typo: partest.scalac*_*opts
New targets:
- quick-opt
- strap-opt
- test.bc
- test.osgi
- test.osgi.comp
- test.osgi.init
- test.stability-opt
Removed/replaced targets:
- asm.clean asm.lib asm.start
- bc.run
- dist.latest dist.latest.unix dist.latest.win dist.start
- docs.all docs.manmaker docs.pre-comp docs.pre-continuations-plugin
- docs.pre-jline docs.pre-lib docs.pre-man docs.pre-partest docs.pre-scalap
- forkjoin.clean forkjoin.lib forkjoin.pack forkjoin.start
- graph.clean
- init.build.nopatch.release init.build.patch.release init.build.release
- init.build.snapshot init.build.suffix.done init.extra.tasks
- init.fail.bad.jdk init.hasbuildnum init.hasmavensuffix init.jars
- init.jars.check init.maven.jars init.maven.tasks init.osgi.suffix
- init.osgi.suffix.final init.osgi.suffix.snapshot init.testjava6
- init.version.done init.version.git init.version.release init.version.snapshot
- init.warn.jdk7 locker.pre-comp locker.pre-lib locker.pre-reflect
- locker.unlock.comp locker.unlock.lib locker.unlock.pre-comp
- locker.unlock.pre-lib locker.unlock.pre-reflect locker.unlock.reflect
- osgi.clean osgi.test osgi.test.comp osgi.test.init
- pack.clean pack.pre-bin pack.pre-comp pack.pre-lib pack.pre-partest
- pack.pre-plugins pack.pre-reflect pack.pre-scalap pack.start
- palo.comp palo.lib palo.pre-bin palo.pre-comp palo.pre-lib palo.pre-reflect
- palo.reflect palo.start quick.pre-bin
- quick.pre-comp quick.pre-interactive quick.pre-lib quick.pre-partest
- quick.pre-plugins quick.pre-reflect quick.pre-repl quick.pre-scalacheck
- quick.pre-scaladoc quick.pre-scalap
- sbt.clean sbt.compile sbt.done sbt.libs sbt.start
- starr.clean
- strap.clean strap.pre-comp strap.pre-lib strap.pre-reflect strap.start
- test.debug test.pre-run
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
src/compiler/scala/reflect/reify/Errors.scala
src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
|
| |\
| | |
| | | |
SI-7328 Bail out of names/defaults when args are error typed
|
| | |
| | |
| | |
| | |
| | | |
To avoid a crasher later on with a null type inside a
sequence argument.
|
| |\ \
| | | |
| | | | |
SI-7234 Make named args play nice with dep. method types
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some care is needed to avoid interaction with constant
types (e.g pos/z1730.scala) and with existentials
(e.g. t3507-old.scala).
|
| |\ \ \
| | | | |
| | | | | |
SI-5710 has fixed itself
|
| | | | |
| | | | |
| | | | |
| | | | | |
My job here is only to submit tests.
|
| |\ \ \ \
| | | | | |
| | | | | | |
reifier is now aware of SI-7235
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
SI-7235 is caused by a long-standing todo in typedRefinement, which leads
to originals of compound type trees swallowing their stats.
I'm not sure how exactly to fix SI-7235, but what I am sure about is that
we shouldn't silently discard stats during reification. This patch
introduces a new implementation restrictions, which now reports that
reify of compound type trees with non-empty stats isn't going to work.
|
| |\ \ \ \
| | |_|_|/
| |/| | | |
SI-7226 Fix inference regression caused by TypeVar equality
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
TypeVars, being mutable creatures, mustn't have structural
equality/hashing, otherwise TypeRefs that differ only by
having distinct TypeVars as components get wrongly uniqued
together.
The reported bug showed the disaterous consequences: constraints
from the `C?[Int]` in the return type applied to the `?C[?A]` in
the parameter list.
This commit overrides `equals` and `hashCode` in `TypeVar`
to use reference equality. An alternative fix would be to drop
the `case`-ness of the class, as was the case before 0cde930b
when this regressed.
|
| |\ \ \
| | |_|/
| |/| | |
Fix SI-7224.
|
|\ \ \ \
| | |/ /
| |/| |
| | | |
| | | | |
Conflicts:
src/compiler/scala/tools/nsc/typechecker/Typers.scala
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
Don't focus positions assigned to the TypeTree of a parent of a Template
when the parent exists in the source. A focused position (instance
of `OffsetPosition`) makes it invisible to the presentation compiler
when it looks for the innermost enclosing tree of a given position
(breaking hyperlinking, for example).
|
|\ \ \
| | | |
| | | | |
update eclipse projects (partest, repl & scaladoc)
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since we've removed scala.annotations.serializable in 2.11,
you'll need to following bandaid to use eclipse on master.
This is the easiest fix, but certainly not recommended in general.
```
--- i/src/eclipse/scala-library/.classpath
+++ w/src/eclipse/scala-library/.classpath
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="library"/>
- <classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
+ <classpathentry exported="true" kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/>
```
This corresponds to checking the export check box for the scala library jar
in the library's build path.
|
|\ \ \
| | | |
| | | | |
[rebase of #2206] l JSR-223 compliance for the interpreter
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Topic/ide config
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Close after slurping (fixes SI-7244)
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since slurp by definition is the noise made by the straw when
the cup is empty and all milk shake is consumed, we can safely
close after slurping.
Use case was deleting a test artifact on Windows.
|
|\ \ \ \
| | | | |
| | | | | |
A small typo corrected
|
| | | | | |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Modularized the repl.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Following in the footsteps of scaladoc and interactive.
The interpreter sources move into src/repl, and are given
a separate build target. As with the others, at present
they are still packaged into scala-compiler.jar.
A summary of changes:
- repl requires use of ReplGlobal (this was already implied)
- macro code's repl-specific classloader hack pulled into overridable
method and overridden in ReplGlobal
- removed -Ygen-javap option to eliminate backend's dependency on javap
- removed -Yrepl-debug option (can still be enabled with -Dscala.repl.debug)
- pushed javap code into src/repl so javax.tools dependency can bee
weakened to the repl only
- removed some "show pickled" related code which hasn't worked right
in a while and isn't the right way to do it anymore anyway. Will
return to fix showPickled and provide it with some tests.
|
|\ \ \ \
| | | | |
| | | | | |
Carve up Types.scala
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Step one of a plan to bring some order and thread
safety to this neck of the woods.
More info:
https://gist.github.com/retronym/5081754
https://groups.google.com/forum/?fromgroups=#!topic/scala-internals/MOvmcnbyb_g
Note that the sub package is named 'tpe' and not 'Types' to avoid
potential problems on case insensitive file systems, given the existing
trait 'Types.'
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
[rework] Modularized scaladoc and presentation compiler.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is the commit which brings it all together. The booleans
forInteractive and forScaladoc are now deprecated and are not
inspected for any purpose. All behavioral changes formerly
accomplished via tests of those flags are embodied in the globals
built specifically for those tasks.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As with scaladoc, pushes presentation compiler specific
code into its separate source area.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This leverages the preceding several commits to push scaladoc
specific code into src/scaladoc. It also renders some scanner
code more comprehensible.
|
| | | | |
| | | | |
| | | | |
| | | | | |
% ant test.interactive
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Separate from (and larger than) pack.classpath. Then take
the opportunity to lower the comic/tragic level of duplication
in build.xml.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Some new partest abilities which were necessary to deal with
additional standard jars. These new abilities aren't yet put
to the test because scaladoc and interactive are still going
into the compiler jar.
No longer need each jar or classes directory be named
directly for partest to find them.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
As with the preceding commit, this has build-internal
effects only.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This change is not externally visible. It moves the scaladoc
sources into src/scaladoc and adds an ant target for building
them. The compilation products are still packaged into
scala-compiler.jar as before, but with a small change to
build.xml a separate jar can be created instead.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a non-behaviorally-changing setup commit which
re-routes bits of code through avenues which can more easily
be influenced by subclasses of Global.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
There is no reason to be stability testing every piece of
bytecode we've ever encountered. If the compilation products
are unstable, then testing 20,000 classfiles will reveal it.
Or it won't; either way, we can stop there. So I cut a gordian
knot and focused the stability test solely on the contents of:
library reflect compiler
Next I cut the "custom ant task" cord. There's a tool for
diffing files, it's decades old, it's called diff. It does
the entire job we need. If it doesn't work on windows, it
doesn't matter. The stability test is not something which
needs to run in every environment. Either the classfiles
are stable or they aren't.
Generated the ant xml for building quick.{lib,reflect,comp}
and strap.{lib,reflect,comp} so they are identical modulo the
compiler used to build them, probably for the first time ever.
I'm sure they won't stay that way, but it's a step.
|
|\ \ \ \
| | | | |
| | | | | |
SI-7006 Fix the unreachable test
|
|/ / / /
| | | |
| | | |
| | | |
| | | | |
The unreachable test was missing the cases when Random.nextInt returned
a negative number. This commit fixes that.
|
|\ \ \ \
| | | | |
| | | | | |
SI-7231 Fix assertion when adapting Null type to Array type
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GenICode was doing a sanity check when adapting an expression of type
Null to something else. It was just doing the wrong one. Instead of
checking whether the result expression type was a reference type it
was checking to see if it was an class reference type. This commit fixes
that and adds a test to make sure both forms of adaptation work as
expected.
|