| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enable the use of spaces in paths for the Scala build on Windows.
Revert r25995 which was fixing it only partly and in the wrong place.
Properly encode argument files for scalac in scalac ant task. Allow
'compilerarg' elements in scalac ant task (like in ant's built-in javac
task) to allow passing extra parameters like plugindir path with proper
encoding of spaces and file names, and use it in the Scala build. Fix
space handling in get-scala-revision.bat.
(Patch by Stefan Zeiger.) Closes SI-3047.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
scalac (ant.Scalac)
- added attributes `dependencyfile`, `explaintypes`, `nobootcp`,
`nowarn` and `usejavacp`
- added support for nested element `compilerarg` (see Ant manual) in
order to pass prefix settings (eg. -J-Xbootclasspath, -Ddebug=true) to
nsc.CompileClient
- updated list of permissible values for compiler phases
fsc (ant.FastScalac)
- added attributes `ip4` and `maxIdle` in addition to `reset`, `server`
and `shutdown` (and forwards them to nsc.CompileClient)
- also forwards prefix settings `jvmargs` and `defines`, and boolean
settings `explaintypes`, `nospecialization`, `nowarn`, `optimise`,
`unchecked` and `usejavacp` to nsc.CompileClient
- fixed CompileClient.process if-test
Nota Bene
I added the following element to partest.PartestTask (commit is pending)
in order to automatically test the Scala Ant tasks:
<anttests dir="${partest.dir}/${partest.srcdir}/ant" includes="*build.xml"/>
Here is the output:
[user@localhost scala]$ ant test.ant
Buildfile: /home/user/workspace/scala/build.xml
[echo] Forking with JVM opts: -Xms1536M [...]
init:
[echo] Build number is '2.10.0.r26022-b20111116212958'
[echo] Built 16 November 2011, 21:29:58 [...]
[...]
test.ant:
[partest] Running ant task tests
[partest] testing: [...]/files/ant/fsc-build.xml [ OK ]
[partest] testing: [...]/files/ant/scaladoc-build.xml [ OK ]
[partest] testing: [...]/files/ant/scalac-build.xml [ OK ]
[partest] Test suite finished with no failures.
BUILD SUCCESSFUL
Total time: 12 seconds
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Looks like we will need blood, toil, tears, and sweat. No review.
|
| |
|
| |
|
|
|
|
|
|
| |
Amending my previous commit with a comment explaining a bit better what
my code does and why.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Made LazyType fail more graciously with incomplete class paths.
SymbolLoaders already do the right thing, printing an error instead of
crashing the compiler. However, the unpickler has two more lazy types
that crash and stop the compiler if, on completion, it encounters a
reference to a missing class file.
Since the SymbolTable has no way of reporting an error, we convert the
MissingRequirementError in TypeErrors. This has the benefit of being
printed nicely by the type checker (with a position where the type was
needed).
This fixes extremely worrying behavior in the IDE when the class path is
incomplete (for instance, after a rebuild with compilation errors).
review by odersky, extempore.
|
|
|
|
|
|
| |
Changed reflection to allow getting a Scala Symbol for the
implementation class of a trait.
|
|
|
|
|
|
|
|
|
| |
contemplating the demise of ProtoTreeMaker, could TreeMaker be all we
need?
no review, but with apologies if this generates merge conflicts for
those exhausting themselves
|
|
|
|
|
|
|
|
| |
don't need to re-type to the original type for correctness (was more to
verify the substitution was indeed type-preserving whenever possibly)
no review
|
|
|
|
|
| |
no review
|
|
|
|
|
|
|
|
|
| |
ran into NPEs while running the test suite using the virtpatmat
compiler, decided it might happen to others thus undertook to shield
said others from sad NPEs
no review
|
|
|
|
|
| |
This is my last idea regarding the windows build.
|
|
|
|
|
|
|
|
| |
also, moving more codegen out of translation and into codegen in
preparation of making codegen suitable for analysis
no review, though I'm sure extempore will be all over this
|
|
|
|
|
| |
Added functionality to clear project files from a resident compiler.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
"Fiddle with lubs and glbs by never considering getClass as a member in
a refinement generated from them. In a sense we have justification for
this by saying we already treated getClass in an ad-hoc way, so we might
as well go all the way." -- m. odersky
Closes SI-4846.
|
| |
|
| |
|
|
|
|
|
| |
Closes SI-4858.
|
|
|
|
|
| |
Closes SI-4019.
|
|
|
|
|
| |
Closes SI-3047.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed assumption that bash is in /bin. Removed --posix option to bash.
Modernized shell constructs: $() instead of ``, [[ ]] instead of [ ].
Added -debug option for all runners which will show you the exact java
command line being run before running it. Added -usebootcp to complement
-nobootcp, and made regular classpath the default on cygwin. Quoted more
things to give us a fighting chance against spaces and parens in paths.
I took the waste-half-a-day step of installing vmware fusion so I could
install windows so I could install cygwin so I could install scala
under cygwin so I could see if it still worked. Seems to. We still
desperately need some way of testing not only everything I'm attempting
to address in this pile of patches but everything which is most likely
now regressing.
:javap now sort of works on windows (not for repl-defined classes as
yet) if JAVA_HOME is set such that I can find tools.jar. Closes SI-4959.
(Risks breaking and) references SI-2092. References SI-622 since that
shouldn't be hard to get working.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's no way to ever correctly check against a platform String and
then fail if it doesn't exactly match. You have to handle such things
gracefully, because even if you have omniscience and omnipotence at the
time you write it, you will become wrong later.
// example of a condition a vast distance from what should // be
tested before intentionally failing if "%OS%" NEQ "Windows_NT"
Closes SI-4800.
|
|
|
|
|
| |
Contributed by Matthew Farwell. Closes SI-5062.
|
|
|
|
|
|
|
|
| |
Changes the fork join pool detection for JVM1.7, for actors and parallel
collections libraries.
Review by phaller.
|
|
|
|
|
| |
No review.
|
|
|
|
|
| |
Small changes to reflection prompted by code review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1.+(2) - what is it? Is it 3 or 3.0? Come scala 2.11 you won't
have to not know (or even not know there's something you don't know.)
1.+(2) will then be safely considered equivalent to 1 + 2, because
any dot not followed by a digit is not part of a number.
Primarily, that's these forms: 3.f 3.d 3.
If you prefer an error to a warning, use -Xfuture.
Let's deprecate 012 == 10 too! (See comment.) References SI-5089, no
review.
|
| |
|
|
|
|
|
|
| |
A comment answering one of adriaan's philosophical musings on why
programs fail, and a test case informed by the comment. Review by moors.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Enabled fancy type inference if opt.virtPatMat is true so one need not
enable -Xexperimental to use El Virto (since I keep wasting time on
edge cases arising from unrelated -Xexperimental-enabled features.) No
review.
|
|
|
|
|
|
|
| |
I should know better than to behave as if usable inferences can be drawn
from a comment like "SYNTHETIC because of DEVIRTUALIZE". Maybe it was
even true when it was written, but no more. Closes SI-5178, no review.
|
| |
|
|
|
|
|
| |
Removed reflect.{Type, Symbol, Tree, Print} for good.
|
|
|
|
|
|
|
| |
(1) Made ReflectionUtils an object, to take its members out of the
reflect package. (2) Removed old Type/Symbol/Tree from reflect package.
(3) Got scratchpad to work better. Review by extempore.
|
|
|
|
|
|
| |
Fixed name of MODULE$ field to make scratchpad work again. Need to look
into more robust way of doing things using reflection.
|
|
|
|
|
|
|
|
|
|
| |
the long-term goal is to separate:
- analyzing patterns and turning them into extractors that are flatMap'ed and orElse'ed,
where the structure is expressed in a small intermediate language that
preserves more pattern matching-specific meaning than trees
- more advanced analyses on the intermediate representation
- code generation (patmat IR -> Scala AST) -- this should be trivial
|
|
|
|
|
|
|
|
| |
Created MsilFile as a wrapper around MSILType so we can use AbstractFile
everywhere. This initial attempt is fairly ham-fisted, since I'm not
sure exactly how things are used on the msil side; but it is imposing
undue complication on the loaders. Review by magarcia.
|
|
|
|
|
|
|
|
|
| |
Some philistine who thinks "binary compatibility" is a computer dating
site changed the names of public vals in Predef classes. I restored and
then deprecated them.
REVIEW BY MOORS.
|
|
|
|
|
| |
Avoid generating illegal combination of modifiers. No review.
|
|
|
|
|
|
|
| |
Distentangled platform specific code from loaders so that it becomes
possible to reset class symbols to their initial loader wihtout going
through an all-or-nothing recursive buildups of package scopes,.
|
|
|
|
|
|
|
|
|
|
|
| |
wraps the call to a bridged synthetic unapply(Seq) in a defensive
if-test:
if (x.isInstanceOf[expectedType])
real.unapply(x.asInstanceOf[expectedType]) else None
NOTE: the test is WRONG, but it has to be due to #1697/#2337 -- once those are fixed, this one should generate the expected output
|
|
|
|
|
|
|
| |
Check number of arguments before jumping to conclusion that a primitive
seeming structural call might really be primitive. Closes SI-4766, no
review.
|
|
|
|
|
|
|
| |
Misc cleanups associated with the previous commits: limiting overly
expanded types, fixing externally visible types for scaladoc, utilizing
abstract collection classes where possible, etc.
|
|
|
|
|
| |
Changes to library code outside the collections.
|