| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Reverts part of c82ecab. The parser can't assume that
a pattern `(a, b)` will match, as results of
`.isInstanceOf[Tuple2]` can't be statically known until
after the typer.
The reopens SI-1336, SI-5589 and SI-4574, in exchange for fixing
this regression SI-6968. Keeping all of those fixed will require
a better definition of irrefutability, and some acrobatics to
ensure safe passage to the ambiguous trees through typechecking.
|
|
|
|
|
|
| |
This brings all the files into line with the .gitattributes
settings, which should henceforth be automatically maintained
by git.
|
|
|
|
|
|
| |
1) parseExpr => parse
2) runExpr => eval
3) Introduces compile(Tree): () => Any, since it has frequent uses
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Error reporting is moved to ContextErrors to disentangle stuff in Macros.scala.
With logics and error reporting intertwined it was an awful mess.
Exceptions are used for the same reason. Instead of threading failures through
the code polluting it with options/ifs, I outline the success path.
It worked much better for typedMacroBody, but I'm also happy with the resulting
code of macroExpand. To me a major factor towards applicability of exceptions
was that they are short-lived and that there might be max one error per domain,
after which we unconditionally bail.
|
| |
|
|
|
|
|
|
|
|
| |
Move now-passing SI-963 test into neg.
Test for partial specialization.
Pending test for SI-5008.
Pending test for SI-4649.
Abstract array type test.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Most are pattern matcher bugs fixed by virtpatmat. A few are reifier,
package object, or miscellaneous. I threw in an original test for
SI-2337, to go with those for SI-1697, SI-3705, SI-4415, and SI-1357,
all of which (in the interests of making sure this basket has all the
eggs) I am closing.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In patterns, the parser halts when it sees stars.
This means it does not handle infix notation for a case class
named "*". This patch uses lookahead to decide whether to parse
'_' '*' as a sequence pattern or as the start of infix.
(For both normal and error cases, the tokens are always consumed
immediately.) Error messages are improved for _* (as a help to learners)
and slightly improved recovery helps the parse continue.
The entry point for XML patterns is now distinct; otherwise,
the change is local to pattern3-simplepattern; the entry point
for simplepattern() is unchanged because it is commented
"hook for IDE."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements SIP 16: Self-cleaning macros: http://bit.ly/wjjXTZ
Features:
* Macro defs
* Reification
* Type tags
* Manifests aliased to type tags
* Extended reflection API
* Several hundred tests
* 1111 changed files
Not yet implemented:
* Reification of refined types
* Expr.value splicing
* Named and default macro expansions
* Intricacies of interaction between macros and implicits
* Emission of debug information for macros (compliant with JSR-45)
Dedicated to Yuri Alekseyevich Gagarin
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attacked classpaths to get "." off of it when it's not actually
specified. The commit makes me nervous, but there's no invisible way to
fix something like this.
** Attention, this commit changes classpath handling **
We desperately need some way of testing that the classpath has certain
qualities and does not have others; partest is not that way. Closes
SI-4857, no review.
|
| |
|
| |
|
|
|
|
|
|
| |
Some work on error messages, somewhat based on ideas in #3092. No
review.
|
|
|
|
|
|
|
| |
protected and its bevy of corner cases. Closes #3939, #3947. This patch
is intended for both trunk and 2.8.1. Already reviewed and co-authored
by moors, and review by oderksy.
|
| |
|
|
|
|
|
|
|
| |
One last batch of test cleanups and I think I'll call it a day. If
you're worried I didn't leave any for anyone else, let me put your fears
to rest. PLENTY left to sift through. No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The next batch of tests put up a little more struggle, but only a
little. See test/pending/pos/unappgadteval.scala (the changes for which
were in the previous commit) for an example of a test which might be on
to something. Any idea what it would take to get it working?
// the key lines
case i @ Suc() => { (y: Int) => y + 1 } // a = Int => Int
case f @ Lam[b,c](x, e) => { (y: b) => eval(e, env.extend(x, y)) } // a = b=>c
No review.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sorting through the tests in pending from oldest to newest because I
don't believe in having useless appendages. The verdict on the oldest
fifteen tests is: 15/15 are fixed. Many were already in files under a
different name. I moved a few and deleted the rest. Fun fact of the
day: apparently there was a time when to call into java varargs with no
arguments you might have to write something like:
getClass().getMethod("getCount", Array[java.lang.Class[T] forSome { type T }]())
On this basis I retract any complaints I've ever had about anything.
There is one question mark outlined in pos/testCoercionThis.scala, a
file formerly called pos/moors.scala and therefore... review by moors.
|
|
|
|
|
|
|
|
|
|
|
| |
including "CheckEither", written against scalacheck 1.2 in the year 471
AD. Removed all the duplicates I could find, mostly between pending
and files. Renamed a bunch of tests so they wouldn't look like likely
duplicates next time around. Nominated somebody else to do this once in
a while.
No review.
|
| |
|
|
|
|
|
|
|
| |
Reverts r21973, the patch I characterized as "hacky but no-risk" in my
commit message, for causing #3480. Closes #3480. I'd say no review but
who can trust a guy who throws around "no risk" with such abandon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If I work on this patch any longer without checking in I will go
stark raving mad. It is broken up into a couple pieces. This one is
the changes to test/. It includes fixing a bunch of tests, removing
deprecated constructs, moving jars used by tests to the most specific
plausible location rather than having all jars on the classpath of all
tests, and some filesystem layout change (continuations get their whole
own srcpath.) This would be the world's most tedious review, so let's
say no review.
[Note: after this commit, I doubt things will build very smoothly until
the rest of the partest changes follow. Which should only be seconds,
but just in case.]
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
[no content change] Fixed all SVN properties: mimes, EOL, executable. Id
expansion is consistently enabled for Scala/Java/C# sources in 'src/'
and consistently disabled and removed from everywhere else: there should
not be any dead Id tags anymore.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Began evaluation of the tests in pending, and moved/updated/removed
.scala and .check files as warranted.
|
| |
|
| |
|
|
|
|
|
| |
These tests have already been moved from pending to files.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|