aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/ast
Commit message (Collapse)AuthorAgeFilesLines
* File name renamingMartin Odersky2013-11-282-0/+0
| | | | Bringing file names tpd/untpd in line with the objects they define.
* Final set of Types tweaksMartin Odersky2013-11-251-2/+2
| | | | - make namedParts return an ordered collection.
* Cleanup of TermRef.withSym and TypeRef.withSymMartin Odersky2013-11-251-2/+2
| | | | All occurrences replaced by select, or second version of Term/TypeRef.apply
* Cleanup of named type creation from SymDenotations.Martin Odersky2013-11-232-12/+12
| | | | | | | | | New operations: - typeRef - termRef - valRef (like termRef, but with NotAMethod signature) - termRefWithSig (like termRef, but with denotation's signature)
* Renaming: typeConstructor -> typeRefMartin Odersky2013-11-224-12/+12
|
* Various cleanupsMartin Odersky2013-11-181-6/+5
|
* Converting most uses of NamedType to select.Martin Odersky2013-11-151-15/+13
| | | | | Select reduces refinetype/typeref pairs and is therefore preferable over raw NamedType. Still need to do the same for TypeRefs.
* Tweak to Coder testMartin Odersky2013-11-151-1/+1
|
* Bringing underlyingIfRepeated up-to-dateMartin Odersky2013-11-111-1/+1
| | | | Was still using the old-alias scheme, which is ineffective now.
* Fixing NoPosition leaksMartin Odersky2013-11-071-10/+34
| | | | Previously, some trees could contain subtrees with NoPosition. This happended when a tree had both positioned children and other children with NoPosition. When setting the synthetic position of a tree, the NoPosition children were not visited.
* Changing for-expansion for irrefutable patterns.Martin Odersky2013-11-061-10/+33
| | | | | | p <- xs for irrefutable pattern `p` used to be expanded to `xs.withFilterIfRefutable`, now is expanded to just `xs.withFilter`.
* Fallback to old treatement of tuples.Martin Odersky2013-11-041-5/+22
| | | | For interoperability we will keep for the time being the traditional treatment of tuples as instances of Tuple 2… Tuple 22. The new hlist-like treatment will be done in a future step. The flip is controlled by variable "unboxedPairs".
* Upgraded handling of positionsMartin Odersky2013-11-041-5/+32
| | | | It turned out the some trees were still carrying NoPosition in their pos fields. The new treatment avoids that and aslo adds some assertions to check for regressions.
* Fixing a bug in TypedTrees.Martin Odersky2013-11-031-1/+1
|
* Adding simplification and fixing a variance problem.Martin Odersky2013-11-031-2/+7
| | | | | 1. Added a "simplified" method which gets called on type varianvle instantiation and interpolation. 2. Fixed a problem in TypeAccumulator which did not take the variance into account for Co/Contra type aliases.
* Fixed unpickling of polymorphic constructors.Martin Odersky2013-10-271-5/+11
| | | | Constructors of parameterized classes now get polymorphic types when unpickled, as is the case when defining them or when reading them from a Java classfile. This caused a ripple of other faults which this commit also fixes.
* Fixed handling of varargsMartin Odersky2013-10-263-11/+12
|
* Flipping the logic to determine type leaksMartin Odersky2013-10-241-1/+1
|
* Parsing and desugaring fixes for blocks.Martin Odersky2013-10-241-0/+8
| | | | | | | Previously, { () } was expanded to { (); EmptyTree }, because the empty tuple is not a term tree. Now EmptyTree is inserted only after a definition. Furthermore, blocks ending in EmptyTree are now replaced by blocks that end in a unit literal.
* Fix: Symbols and interpolated strings are term trees.Martin Odersky2013-10-241-2/+2
|
* Several bug fixes to typer and classfile reader.Martin Odersky2013-09-284-9/+16
| | | | | In particular, changed internal representation of Java constructors and changed treatment of parent constructors in templates.
* Added isRef method to determine whether a type is a typeref that refers to a ↵Martin Odersky2013-09-261-1/+1
| | | | | | | 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.
* Bug fixes and improvements in error diagnostics.Martin Odersky2013-09-161-5/+5
| | | | Main refactoring: lub/glb moves to type comparers.
* Reverting explicit arguments for zipoped/unzipMartin Odersky2013-08-291-4/+12
| | | | | | … after figuring out the root cause: conforms needs to be renamed because otherwise it shadows Predef.conforms. Also fixing two bugs in Desugar.
* Fixed bugs related to typechecking closures.Martin Odersky2013-08-272-4/+5
|
* Inserts AnyRef as a parent if parents of class def or module def are empty.Martin Odersky2013-08-251-8/+9
|
* Fixed two problems that lead to over-zealous lifting.Martin Odersky2013-08-231-2/+5
|
* Fixes expansion and general handling of pattern defs.Martin Odersky2013-08-232-49/+56
|
* More typer bug fixes and improvements in error messagesMartin Odersky2013-08-223-7/+10
|
* Various bug fixes for typer.Martin Odersky2013-08-221-1/+1
|
* Fixing leak logic by turning a key predicate around.Martin Odersky2013-08-221-4/+4
|
* Some additions to module completionMartin Odersky2013-08-191-1/+1
| | | | … more to come. Plus some bugfixes.
* Several fixes and refactorings for typecheckingMartin Odersky2013-08-192-5/+13
| | | | | | | | | | | 1) Refactoring of package loaders that ensures that a package is always loaded before new members are entered. This led to a refactoring of sourceModule in completers into its own trait 2) Refactoring of optSelfType ot selfInfo. Class Infos may now have a reference to a symbol in their selfInfo field, instead of always a type, as it was before. This allows to introduce laziness for self type evaluation. Laziness is needed so that modules can be desugared and the desugared version be compiled without special tricks. 3) <init> and $init members are no longer inherited. 4) Refactoring of createSymbol and enterSym, so that creating symbols and entering them in a scope is decoupled. Renamed the driver operation form `enterSym(s)` to `index`.
* Defined root context with importsMartin Odersky2013-08-171-6/+0
| | | | … and cleaned up and simplified other context-reated features.
* Changed desugaring of modulesMartin Odersky2013-08-171-2/+1
| | | | Module classes no longer contain an explicit self type referencing the module val (this leads to cycles). Self type is instead handled by the completer.
* Eliminating getter generation in namer/typer.Martin Odersky2013-08-162-20/+9
| | | | | The idea is that getters shoul dbe generated later (probably during UnCurry). This is much better for handling modules, and also obviates the need to have LocalNames. Getters can be generated as soon in the compilation pipeline as methoda always get a parameter list. That way, we can distinguihs getters from fields without playing any tricks with names.
* Various bugfixes for namer/typer/treesMartin Odersky2013-08-163-36/+37
|
* Finished rest of typer.Martin Odersky2013-08-103-41/+9
|
* Added typing of all forms of type trees.Martin Odersky2013-08-102-8/+23
|
* Typing of SeqLiteralsMartin Odersky2013-08-095-14/+25
| | | | Also revised handling of SeqLiterals by replacing additional type member with split into SeqLiteral and JavaSeqLiteral.
* Added support for pattern variables and Bind.Martin Odersky2013-08-091-0/+14
| | | | Also some fixes in adapt wrt patterns.
* Typing of try and throw statements.Martin Odersky2013-08-081-1/+19
| | | | Also issues an error on returns form methods missing a return type.
* Typing of return statements.Martin Odersky2013-08-081-0/+3
|
* Implementation of match/case def including GADT pattern matching.Martin Odersky2013-08-082-4/+6
|
* Revised typed ClassDef construction.Martin Odersky2013-08-051-10/+8
|
* Type checking function trees and closures.Martin Odersky2013-08-055-33/+52
|
* Handling typevars in inference.Martin Odersky2013-08-015-35/+45
| | | | Fleshed out handling of typevars for type inference. Also added some more methods to typer, for blocks, ifs and assignments. (Closures are still wip).
* Splitting creation methods out between tpd and untpd.Martin Odersky2013-07-283-206/+189
| | | | Partial revert of previous two commits. Creation methods are no longer implemented on Instance, but separately in untpd and tpd. It turned out that tree copying should not use typed creation methods (would tie in too many things into one complex knot). So there was no generic (between typed/untyped) usage of creation methods left. In that case it seemd better to implement the methods separately in tpd and untpd. That way, we do not need to carry a useless context in untpd methods and we do not need to block unavailable methods in tpd with "unsupported".
* Redesign of trees.Martin Odersky2013-07-276-962/+1070
| | | | | | 1) Trees are now contravariant. 2) All creation ops, transformers, copiers are pushed into Instance. 3) Still to do: integrate TreeMappers and tpd.TreeTransformers.
* More typer logic, in particular dealing with variants of applicationsMartin Odersky2013-07-254-73/+86
|