aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fixed problem where lifted types leak into OfTypeImplicitsMartin Odersky2013-10-151-8/+16
|
* Changes to adaptation and local type inference.Martin Odersky2013-10-157-41/+52
|
* Handles isAsGood with two polymorphic arguments.Martin Odersky2013-10-151-4/+12
|
* Implemented refined prinitng of function prototypesMartin Odersky2013-10-151-0/+2
|
* Made tracing appear even when currently in StoreReporter contextMartin Odersky2013-10-143-6/+8
|
* Fixes to typevar instantiationMartin Odersky2013-10-132-11/+13
| | | | … with associatiated fixes and tightening of typestate consistency checking.
* Bug fixes in <:<Martin Odersky2013-10-132-4/+21
| | | | | 1) Tightened optimization criteria for comparing refined types in last commit 2) Handles case where ThisType and SIngleType of module class coincide.
* New invariant: refined types must have a refined info that's more specific ↵Martin Odersky2013-10-123-11/+14
| | | | | | | than the previous bounds. Making use of this to make comparisons of refined types with the same names more efficient. Also, to make findMember on refined type with type refinement more efficient.
* Tightening up typer state + printing refinementsMartin Odersky2013-10-1211-32/+94
| | | | | | 1) Made consistency checking water tight, so that inconsistencies are always catched wehn they arise 2) Fixed problem in implicit search that led to inconsistencies 3) Refined printing of type parameters and type arguments
* Fixed missing type comparisons for bound types.Martin Odersky2013-10-103-14/+46
| | | | Also, new method "explained" in TypeComparers.
* Added shortcuiting for type argument aliases.Martin Odersky2013-10-101-4/+49
|
* Modified printing of variant aliasesMartin Odersky2013-10-101-4/+8
| | | | Now displayed with =+, =-.
* New TypeArgs flagMartin Odersky2013-10-101-1/+6
|
* Added disambiguation for reported messages.Martin Odersky2013-10-102-5/+9
| | | | Added method disambiguate which disambiguates any string-returning operation. Disambiguation is done by adding owners and qualifiers each symbol has a unique string representation.
* Partial revert of "instance flags" commitMartin Odersky2013-10-091-9/+1
| | | | 16c1ddd3bb86c61890418b8394d44486e7bbd9dd
* Cleanup of new scheme for handling local type parameters and type members.Martin Odersky2013-10-095-34/+69
| | | | | | If a type parameter or local type member is co/contravariant, its instantiation is a special alias type that remembers the variance. These alias types can be refined with subtypes in subclasses and intersection and union translate to their bounds.
* flags for instancesMartin Odersky2013-10-072-6/+18
| | | | and changes flags for type params
* Fixed problem with withMode leaking into enclosing context.Martin Odersky2013-10-042-8/+8
|
* No eta-expansion, implicit parameters when Mode = TypeMartin Odersky2013-10-041-3/+6
|
* Prefiltering members in computeMembers ...Martin Odersky2013-10-022-1/+24
| | | | … to drop any member that uniquely defines a symbol that's already in the predenotation. This avoids merging the same symbols repeatedly in case of diamond inheritance.
* Introducing mapReduce for OrTypes and AndTypesMartin Odersky2013-10-022-5/+17
|
* Added option -YheartbeatMartin Odersky2013-10-018-223/+307
| | | | … which shows snapshot of the callstack of tracked operations at fixed intervals.
* Changed &, | to distribute inside non-value types.Martin Odersky2013-10-012-74/+246
| | | | Also, new scheme to handle merge conflicts.
* Removing a triggered assertion in applications.Martin Odersky2013-10-012-10/+10
|
* Changed logic for merges in lub/glbMartin Odersky2013-09-305-53/+90
| | | | | | | Now throws an exception for merge conflicts of types joint by |, a warning for types joint by &. Exception is handled as in the case of CyclicRefernce. Also: Added several typerState.checkConsistent for future debugging purposes.
* Made sourcePos more robustMartin Odersky2013-09-301-1/+2
| | | | Now survives NoPosition.
* Fixed logic in newTypeParamsMartin Odersky2013-09-301-4/+11
| | | | gave a NPE before.
* Fixed problem that () was not inserted if method was overloaded.Martin Odersky2013-09-281-2/+11
|
* Fixes problem with printing summary after compilationMartin Odersky2013-09-282-1/+4
| | | | Used wrong context/wrong reporter before.
* Fixing a display bug.Martin Odersky2013-09-281-1/+1
|
* Several bug fixes to typer and classfile reader.Martin Odersky2013-09-2814-34/+87
| | | | | In particular, changed internal representation of Java constructors and changed treatment of parent constructors in templates.
* Direct access to symbol in TermRefMartin Odersky2013-09-263-2/+7
| | | | If symbol was given explicitly, return it directly rather than going through denot.
* Added isRef method to determine whether a type is a typeref that refers to a ↵Martin Odersky2013-09-2610-34/+48
| | | | | | | symbol. The alternative (tpe eq sym.typeConstructor) does not work because types are not unique. The alternative (tpe.typeSymbol == sym) does not work because other types than TypeRefs have typeSymbols.
* Sereval more bugfixes to typer and type handling.Martin Odersky2013-09-255-21/+35
| | | | Several of these avoided stackoverflows/cyclic references
* Fixed handling of packages in world without HasFixedSymMartin Odersky2013-09-241-0/+2
| | | | Packages are always permanent; never reloaded.
* Fixing problem related to overloaded symbolsMartin Odersky2013-09-242-4/+10
| | | | Now that we have no longer termrefs with fixed syms, we need to create TermRefWithSignatures. Just setting symbol/denotation is not enough because of termref caching.
* Module classes are now enteredMartin Odersky2013-09-242-3/+9
| | | | Module classes are entered alongisde their source modules in parent scope.
* Better display of list arguments in "i" interpolatorMartin Odersky2013-09-231-4/+8
|
* Fixed a bug related to classfile parsingMartin Odersky2013-09-232-3/+7
| | | | Parsing inner classes of generic outer classes requires a name-unexpansion.
* Avoided a cyclic reference error when dealing with hk types.Martin Odersky2013-09-231-9/+17
|
* Changed Throwing reporting scheme.Martin Odersky2013-09-235-6/+9
| | | | | Changed ThrowingReporter to use an underlying reporter for issuing messages below ERROR. Made ThrowingReporters the default in initialContext.
* Changed type comparers to compare symbols of standard types instead of types ↵Martin Odersky2013-09-231-42/+65
| | | | | | | | | | | | | | | themselves Types themselves are not unique, for instance, scala.Any would be TypeRef(ThisType(scala), Any) or TypeRef(TermRef(ThisType(_root_), scala), Any) Even if we pick only one internally we still risk unpickling both forms when reading scala 2 - compiled files. The only way to avoid this would be to change the ThisType constructor to always return a TypeRef for a module.
* Experimental branch that drops {Term/Type}RefWithSym typesMartin Odersky2013-09-188-64/+81
|
* Made TermRefs always resolve to NotAMethod signature by default.Martin Odersky2013-09-171-23/+23
|
* Made lub/glb fail early when trying to mix a class info with another type type.Martin Odersky2013-09-172-10/+23
| | | | The previous alternative of creating a TypeBounds with the TypeRef back to the class leads to infinite loops when chasing type proxies. Example was infinite loop in baseClasses in showClass test.
* Bug fixes and improvements in error diagnostics.Martin Odersky2013-09-1615-177/+275
| | | | Main refactoring: lub/glb moves to type comparers.
* Added utility methods for TermRefs.Martin Odersky2013-09-121-2/+8
|
* Implemented "two-hop" implicit adaptation.Martin Odersky2013-09-081-6/+26
| | | | | | That is, in a selection qual.name(args), qual can be adapted to obtain a member "name" that matches args. Important to make usage patterns like this one work: 1 + BigInt(x)
* Fixed an initialization problem in implicitsMartin Odersky2013-09-081-3/+3
|
* Improvements to termref printing.Martin Odersky2013-09-073-18/+43
|