summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix tasksupport field initialization for the checkInit build.Aleksandar Prokopec2012-03-149-4/+78
|
* Merge branch 'master', remote-tracking branch 'magarciaEPFL/GenASM' into developPaul Phillips2012-03-128-597/+619
|\
| * shortening Name-String-Name-String conversions to just Name-StringMiguel Garcia2012-03-095-12/+10
| |
| * rather than info.parents, superClass and mixinClasses are enoughMiguel Garcia2012-03-081-26/+32
| |
| * Merge branch 'master' into GenASMMiguel Garcia2012-03-081-1/+1
| |\
| * \ Merge branch 'master' into GenASMMiguel Garcia2012-03-085-9/+12
| |\ \
| * \ \ Merge branch 'master' into GenASMMiguel Garcia2012-03-074-21/+28
| |\ \ \
| * | | | dynamic dispatch instead of map lookups or equality testsMiguel Garcia2012-03-073-38/+33
| | | | |
| * | | | fewer lastInstruction lookupsMiguel Garcia2012-03-071-2/+2
| | | | |
| * | | | readabilityMiguel Garcia2012-03-071-20/+9
| | | | |
| * | | | readabilityMiguel Garcia2012-03-071-8/+4
| | | | |
| * | | | mechanically applying the above recipeMiguel Garcia2012-03-071-50/+44
| | | | |
| * | | | there goes the pattern matching of CJUMPMiguel Garcia2012-03-071-39/+36
| | | | |
| * | | | same story: inspector method beats pattern matchingMiguel Garcia2012-03-071-12/+6
| | | | |
| * | | | replacing pattern matching with isWideType invocationsMiguel Garcia2012-03-072-18/+7
| | | | |
| * | | | leveraging isIntSizedTypeMiguel Garcia2012-03-061-42/+46
| | | | |
| * | | | the idea is to cut down on checkcast instructionsMiguel Garcia2012-03-062-26/+39
| | | | |
| * | | | de-specialcasingMiguel Garcia2012-03-061-1/+9
| | | | |
| * | | | readabilityMiguel Garcia2012-03-061-29/+16
| | | | |
| * | | | factoring out repetitive workMiguel Garcia2012-03-062-6/+43
| | | | |
| * | | | readabilityMiguel Garcia2012-03-061-13/+11
| | | | |
| * | | | readabilityMiguel Garcia2012-03-061-4/+7
| | | | |
| * | | | readabilityMiguel Garcia2012-03-061-16/+8
| | | | |
| * | | | fewer hops to emit ASTORE and ALOADMiguel Garcia2012-03-061-3/+27
| | | | |
| * | | | Merge branch 'master' into GenASMMiguel Garcia2012-03-0614-131/+204
| |\ \ \ \
| * | | | | making indentation IDE-awareMiguel Garcia2012-03-051-555/+555
| | | | | |
| * | | | | readabilityMiguel Garcia2012-03-051-3/+3
| | | | | |
| * | | | | readabilityMiguel Garcia2012-03-031-3/+1
| | | | | |
| * | | | | avoiding fjbg's JClass in getFile()Miguel Garcia2012-03-031-4/+4
| | | | | |
| | | | | |
| \ \ \ \ \
*-. \ \ \ \ \ Merge remote-tracking branches 'adriaanm/ticket/5189' and ↵Paul Phillips2012-03-1110-68/+170
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 'jsuereth/better-starr-flow' into develop
| * | | | | | | SI-5189 fixed: safe type infer for constr patternAdriaan Moors2012-03-099-30/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | several fixes to the standard library due to - the safer type checker this fix gives us (thus, some casts had to be inserted) - SI-5548 - type inference gets a bit more complicated, it needs help (chainl1 in combinator.Parsers) To deal with the type slack between actual (run-time) types and statically known types, for each abstract type T, reflect its variance as a skolem that is upper-bounded by T (covariant position), or lower-bounded by T (contravariant). Consider the following example: class AbsWrapperCov[+A] case class Wrapper[B](x: Wrapped[B]) extends AbsWrapperCov[B] def unwrap[T](x: AbsWrapperCov[T]): Wrapped[T] = x match { case Wrapper(wrapped) => // Wrapper's type parameter must not be assumed to be equal to T, // it's *upper-bounded* by it wrapped // : Wrapped[_ <: T] } this method should type check if and only if Wrapped is covariant in its type parameter before inferring Wrapper's type parameter B from x's type AbsWrapperCov[T], we must take into account that x's actual type is: AbsWrapperCov[Tactual] forSome {type Tactual <: T} since AbsWrapperCov is covariant in A -- in other words, we must not assume we know T exactly, all we know is its upper bound since method application is the only way to generate this slack between run-time and compile-time types (TODO: right!?), we can simply replace skolems that represent method type parameters as seen from the method's body by other skolems that are (upper/lower)-bounded by that type-parameter skolem (depending on the variance position of the skolem in the statically assumed type of the scrutinee, pt) this type slack is introduced by adaptConstrPattern: before it calls inferConstructorInstance, it creates a new context that holds the new existential skolems the context created by adaptConstrPattern must not be a CaseDef, since that confuses instantiateTypeVar and the whole pushTypeBounds/restoreTypeBounds dance (CaseDef contexts remember the bounds of the type params that we clobbered during GADT typing) typedCase deskolemizes the existential skolems back to the method skolems, since they don't serve any further purpose (except confusing the old pattern matcher) typedCase is now better at finding that context (using nextEnclosing)
| * | | | | | | SI-5189 1/2: inferConstrInst uses correct varianceAdriaan Moors2012-03-092-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixed concurrent.impl.Promise by making FState invariant (it would be unsound to make it covariant)
| * | | | | | | cleaned up inferConstructorInstance; same behaviorAdriaan Moors2012-03-091-37/+54
| | |_|/ / / / | |/| | | | |
* | | | | | | Fix for tailcall transform/recognition bugs.Paul Phillips2012-03-111-2/+19
| |/ / / / / |/| | | | | | | | | | | | | | | | | Closes SI-3275, SI-5455.
* | | | | | Add symbol to Manifests.Paul Phillips2012-03-092-7/+22
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | Phantom types were vanishing during the erasure which takes place from manifest -> class object -> tpe.
* | | | | Wider net on final fields.Paul Phillips2012-03-081-1/+1
| |_|_|/ |/| | | | | | | | | | | | | | | | | | | This should exclude everything mutable. I'm open to suggestions as to what sort of final fields we can safely allow beyond these, if any.
* | | | Fix for a little last minute breakage.Paul Phillips2012-03-071-1/+1
| | | |
* | | | Merge remote-tracking branch 'origin/develop'Paul Phillips2012-03-074-9/+10
|\ \ \ \
| * | | | Changed printlns to use debugwarn.Paul Phillips2012-03-072-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you write something like if (settings.debug.value) println("...") Consider debugwarn("...") instead, which amounts to the same thing except that it's much better because naked printlns can't be managed with any uniformity.
| * | | | Merge remote-tracking branch 'hubertp/issue/5554' into developPaul Phillips2012-03-073-6/+7
| |\ \ \ \ | | |_|_|/ | |/| | |
| | * | | Closes #SI-5554Hubert Plociniczak2012-03-063-6/+7
| | | | |
* | | | | Fix for public final fields.Paul Phillips2012-03-071-0/+2
|/ / / / | | | | | | | | | | | | References SI-3569. Probably needs refinement.
* | | | Fix for -Xcheckinit failure.Paul Phillips2012-03-061-1/+1
| | | |
* | | | Merge remote-tracking branch 'VladUreche/issue/5545-clean' into developPaul Phillips2012-03-061-1/+11
|\ \ \ \
| * | | | Force .info before creating new synthetic symsVlad Ureche2012-03-061-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Closes SI-5545. In the long run this should be generalized, as other phases might suffer from the same problem. Full explanation here: https://issues.scala-lang.org/browse/SI-5545
* | | | | Merge remote-tracking branches 'adriaanm/ticket/5546' and ↵Paul Phillips2012-03-061-1/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | 'hubertp/issue/5553' into develop
| * | | | | Closes #5553, review by dragosHubert Plociniczak2012-03-061-1/+2
| | |/ / / | |/| | |
* | | | | #SI-5546 fixed: refine refined typing for getClassAdriaan Moors2012-03-061-18/+14
| |_|/ / |/| | |
| | | |
| \ \ \
| \ \ \
| \ \ \
| \ \ \
| \ \ \
*-----. \ \ \ Merge remote-tracking branches 'dragos/master', ↵Paul Phillips2012-03-055-13/+66
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 'axel22/feature/pc-execution-contexts', 'VladUreche/issue/5527-noPos' and 'retronym/topic/tolerant-interpolator' into develop
| | | | * | | | Handle empty format specifiers in the formatting interpolator.Jason Zaugg2012-03-031-6/+7
| | | | | |_|/ | | | | |/| | | | | | | | | | | | | | | | f"${foo}" is treated like f"${foo}%s".