aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typeAssigner ignoring existence of JavaSeqLiteralDmitry Petrashko2014-11-222-7/+10
|
* Add Id's to types.Dmitry Petrashko2014-11-221-0/+9
| | | | Helps to track where erroneous type was created.
* Fix elimRepeated not transforming annotations.Dmitry Petrashko2014-11-221-0/+29
|
* Add the right constructor to Java annotationsMartin Odersky2014-11-223-2/+42
|
* Merge pull request #228 from dotty-staging/fix/overridingodersky2014-11-187-73/+108
|\ | | | | Fix/overriding
| * Check that overriding members refine the types of overridden ones.Martin Odersky2014-11-183-21/+28
| | | | | | | | | | Somehow this was lost in porting (or was this done somewhere else in scalac?).
| * Fixes of reviewers comments.Martin Odersky2014-11-171-6/+2
| |
| * Some fixes to override checking in RefChecks.Martin Odersky2014-11-152-10/+13
| | | | | | | | `override` was not recognized at all on types.
| * Fixes for type argument handling.Martin Odersky2014-11-153-8/+13
| | | | | | | | | | | | | | (1) Type arguments now get a coordinate. (2) They are labeled Override (2) avoids having to special case TypeArgs in OverridingPairs.
| * Fine-tuning override errors for syntehtic companion objectsMartin Odersky2014-11-142-10/+16
| | | | | | | | | | | | | | These may raise real errors, so we cannot exclude them from overriding pairs a priori. But we can avoid reporting any errors if other override errors were reported previously for the same class.
| * Refactored OverridingPairsMartin Odersky2014-11-141-36/+43
| | | | | | | | to make it easier to understand.
| * Fix OverridingPairsMartin Odersky2014-11-142-16/+16
| | | | | | | | | | | | | | | | OverridingPairs had several bugs which caused pairs to be lost, which caused missing overrides checks. Fixing OverridingPairs revealed several test failures (and a problem in Synthetics generation which was fixed in the last commit). Tests that became negative are all moved into neg/overrides.scala, and the original versions in pos were fixed.
| * Refine merge of nullary and parameterless denotations.Martin Odersky2014-11-141-1/+12
| | | | | | | | | | | | | | | | | | | | Previously, two denotations with types => T and ()T could not be merged, only their types could be, but then the denotation would no longer be a SymDenotation. We now treat the two types as equivalent so that it will select the symbol in a subclass. This fixes a problem where, once overrding pairs are made to work (see following commit), in core/Types we get an error "overriding final method "hashCode".
* | Merge pull request #230 from dotty-staging/fix/and-or-subtypingodersky2014-11-181-2/+61
|\ \ | | | | | | Try to avoid overconstraining when comparing and/or types
| * | Fixed typosMartin Odersky2014-11-181-1/+1
| | |
| * | Try to avoid overconstraining when comparing and/or typesMartin Odersky2014-11-161-2/+61
| | | | | | | | | | | | | | | See comments in eitherIsSubType for an explanation what the problem is. Some test cases are in subtyping.scala
* | | Merge pull request #229 from dotty-staging/change/typevar-printingDmitry Petrashko2014-11-171-2/+5
|\ \ \ | | | | | | | | When printing uninstantiated type variables, include their bounds.
| * | | When printing uninstantiated type variables, include their bounds.Martin Odersky2014-11-161-2/+5
| |/ /
* | | Moved pending tests that work into pos and neg.Martin Odersky2014-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | One test (t2613) required lifting a hard recursion limit in findMember (used for debug only, will be removed in the future). The same test also requires -Yno-deep-subtypes to be reset, so it's in pos_special instead of pos.
* | | Merge pull request #227 from dotty-staging/patmatch/productArityDmitry Petrashko2014-11-171-16/+16
|\ \ \ | | |/ | |/| Rename productArity in pattern matcher to prodArity
| * | Rename productArity in pattern matcher to prodArityMartin Odersky2014-11-141-16/+16
| |/ | | | | | | | | | | | | | | | | | | productArity is a method defined in ProductN which is inherited from case classes. It is possible that it will be usewd in the implementation of pattern matching in the future. The previous implementation used the same name to mean something else: Not the arity of the case class itself but the arity of the pattern/type it represented. Renaming to prodArity avoids the confusion.
* | Merge pull request #223 from dotty-staging/fix/elimRepeatedTransformSymDmitry Petrashko2014-11-156-13/+38
|\ \ | |/ |/| Avoid forcing infos of some symbols in InfoTransforms
| * Avoid computing info of TypeRefs for Object <-> Any comversions in ↵Martin Odersky2014-11-132-8/+17
| | | | | | | | | | | | ClassfileParser Another bit to help avoid CyclicReferences when reading Java classes
| * Avoid forcing infos of some symbols in InfoTransformsMartin Odersky2014-11-124-5/+21
| | | | | | | | | | Provides the "mayChange" hook to exclude symbols from being completed prior to a transformInfo.
* | Fixes problem exhibited by ensuring.scalaMartin Odersky2014-11-132-3/+12
| | | | | | | | | | Need to account for the possibility that function arguments are wrapped in braces.
* | Eliminate global state in LambdaLiftMartin Odersky2014-11-121-314/+311
| | | | | | | | | | State moved into local transforms which are allocated one per unit. Thsi allows lambda lifters on different units to run in parallel.
* | Make CapturedVars a functional transform.Martin Odersky2014-11-121-69/+72
| | | | | | | | No global side effect on capturedVars anymore.
* | Remove init method from TreeTransformMartin Odersky2014-11-121-6/+1
| | | | | | | | Do not lead to temptation...
* | Make CaptguredVars use prepareForUnit instead of init.Martin Odersky2014-11-121-10/+15
| | | | | | | | | | | | | | | | Required some refactoring. Instead of transformSym we now transform ValDefs as we prepare for them. The previous scheme could not control directly whetrher transformSym or collectCaptured would run first. Turns out that init ran before collectCaptured but prepareForUnit did not, leading to test failures in pos/capturedvars.
* | Replaced overridden init methods with prepareForUnit.Martin Odersky2014-11-124-10/+19
| | | | | | | | | | | | | | This allows to move to a functional implementation later. Only exception: CapturedVars still uses init() because it contains a (dubious!) interaction with intialization and transformSym. Looking at this next.
* | Added methods to prepare-for and transform a complete compilation unit tree.Martin Odersky2014-11-121-4/+23
|/ | | | Should replace destructive inits.
* Merge pull request #220 from dotty-staging/refactor/DefTreesDmitry Petrashko2014-11-1129-541/+418
|\ | | | | Refactor/def trees
| * Factored out Positioned into separate file.Martin Odersky2014-11-114-131/+136
| |
| * Make withMods produce Untyped treesMartin Odersky2014-11-101-7/+4
| | | | | | | | | | withMods should never be used to produce a typed tree, because typed member defs get their modifiers from their symbols.
| * Drop modifiers as separate data from MemberDef treesMartin Odersky2014-11-1026-409/+284
| | | | | | | | Typed MemberDef trees now take the modifiers from their symbol's data.
| * Align phase name of FirstTransform with class nameMartin Odersky2014-11-101-1/+1
| |
* | Merge pull request #192 from smarter/fix/ThisType-subtypingodersky2014-11-111-1/+1
|\ \ | | | | | | Fix subtyping checks involving ThisType and PolyParam
| * | Fix subtyping checks involving ThisType and PolyParamGuillaume Martres2014-11-111-1/+1
| |/
* / Scopes: make sure every bucket of the hash table is usedGuillaume Martres2014-11-111-2/+4
|/ | | | | Previously, one bucket was never used because in binary, 12*2^n - 1 = 101111...
* Clean up code relating to interfaces.Martin Odersky2014-11-1010-26/+43
| | | | | | | | | | Previous implementation was confused about the meaning of interface (with default methods or without?). Now instead of Interface/JavaInterface we have PureInterface - all members are abstract methods NoInits - all members are methods
* Remove unused classMartin Odersky2014-11-101-65/+0
| | | | It functionality is now all implemented in ExplicitOuter.
* Merge pull request #217 from dotty-staging/transform/mixinDmitry Petrashko2014-11-1029-142/+677
|\ | | | | Transform/mixin
| * Generalize symbolic refsMartin Odersky2014-11-102-8/+7
| | | | | | | | | | | | | | Previously, there was a switch in SymDenotation#termRef to create a WithFixedSym ref when after erasure. This was done to fix a broken test, but it's clearly incomplete. The scheme is now replaced by one which always creates WithFixedSym Termrefs after erasure.
| * More docs and removing print statementsMartin Odersky2014-11-096-10/+24
| |
| * Merge mixin with the group of miniphases following it.Martin Odersky2014-11-091-2/+2
| |
| * Merge memoize with miniphases following it into one group.Martin Odersky2014-11-093-19/+30
| |
| * New functionality: changeOwnerAfterMartin Odersky2014-11-091-1/+23
| | | | | | | | | | | | Changes owners after a phase without copying the tree. This should be more suitable for the changeOwner operations used in the tree transforms so far, which are linear, i.e. no tree duplication is needed.
| * Fixed bug in treating Thickets in TreeTransformMartin Odersky2014-11-091-2/+3
| |
| * Better error message for adaptations of implicit methodsMartin Odersky2014-11-091-0/+2
| | | | | | | | | | | | Ig an implicit method has a result type which does not match the expected type, the new case fires. We avoid to diagnose missing arguments, because that's really confusing for an implicit method.
| * Fixed handling of ThisTypes in TypeErasure.Martin Odersky2014-11-091-1/+3
| | | | | | | | Need to be treated like TermRefs.