aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fixed expansion scheme for member defs.Martin Odersky2013-08-151-12/+8
|
* ErrorSymbols now have TypeBounds as info when they are type symbols.Martin Odersky2013-08-143-17/+26
|
* Converted more strings to be "i" interpolated.Martin Odersky2013-08-145-29/+34
| | | | Also fixed a couple of bugs related to message suppression and error reporting.
* Fixed a typo in previous commit.Martin Odersky2013-08-141-1/+1
|
* New error reporting scheme.Martin Odersky2013-08-144-49/+104
| | | | new string interpolator "i" for info strings. Computing an info string performs some compiler specific display operations and also allows to suppress an error message entirely if it refers to something non-sensical.
* Integrated parser/typer into compilerMartin Odersky2013-08-1410-35/+170
| | | | | Some initial bug fixes. Added -explaintypes diagnostics.
* Suppressing file names with $'s in them from loadingMartin Odersky2013-08-141-1/+5
| | | | Files with $'s need not be loaded during typer.
* Fixing validity checking of denotations.Martin Odersky2013-08-133-14/+14
| | | | To get this to work, we need to store the name of a scope netry irectly in the entry. This is arguably the right model anyway. A symbol can have different denotations with different names, and it might exist under different names in different scopes. In the previous model once a symbol's name changed in some phase, all scopes referring to that symbol from previous phases would become invalid. Now, the symbol is still visible under its original name.
* Refactored handling of phases to make them more robust and simpler to install.Martin Odersky2013-08-122-20/+34
|
* Added main runner and driver.Martin Odersky2013-08-128-3/+222
| | | | Left dummies for Compiler and Run.
* Finished rest of typer.Martin Odersky2013-08-106-141/+214
|
* Added typing of Alternatives.Martin Odersky2013-08-102-13/+19
| | | | Also changed some maps to mapconserves to avoid unnecessary tree copying.
* Added typing of all forms of type trees.Martin Odersky2013-08-105-17/+115
|
* Typing of SeqLiteralsMartin Odersky2013-08-097-16/+33
| | | | 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-095-40/+96
| | | | Also some fixes in adapt wrt patterns.
* Typing of try and throw statements.Martin Odersky2013-08-082-3/+44
| | | | Also issues an error on returns form methods missing a return type.
* Typing of return statements.Martin Odersky2013-08-082-0/+22
|
* Implementation of match/case def including GADT pattern matching.Martin Odersky2013-08-086-7/+87
|
* Refined treatment of unapplyMartin Odersky2013-08-064-34/+123
|
* Revised typed ClassDef construction.Martin Odersky2013-08-052-11/+12
|
* Type checking function trees and closures.Martin Odersky2013-08-059-60/+97
|
* Handling typevars in inference.Martin Odersky2013-08-0115-148/+388
| | | | 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-2718-1072/+1244
| | | | | | 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-2513-197/+460
|
* Added scheme to disabled implicit imports (not just Predef) if an explicit ↵Martin Odersky2013-07-234-9/+41
| | | | one is given for the same package or object.
* Some refactorings and additions on error reporting.Martin Odersky2013-07-235-76/+122
| | | | Also, removed redundant Trees. prefixes in patterns.
* Avoid typeArgs when baseType is involved.Martin Odersky2013-07-223-4/+4
| | | | Going through baseType.typeArgs does not work, as the baseType is not structurally a type application.
* SeqLiteral refactoringMartin Odersky2013-07-229-25/+47
| | | | SeqLiterals no longer have an elemtpt subtree. Their type is now no longer a RepeatedParamType, but instead an instance of SeqType or ArrayType.
* Added eta-expansion.Martin Odersky2013-07-228-56/+149
| | | | Also: made RepeatedParamTypes aliases of their underlying types, in order to avoid any incompatibilities.
* Added code for adapt and more.Martin Odersky2013-07-2113-123/+510
| | | | | | | - Pushed mode into context - Elimintaed scope nesting level - Fixed a desugar bug - Added constant folding
* Made implicit results use TyperState instead of full context.Martin Odersky2013-07-201-4/+4
|
* Integrated reporting into TyperState.Martin Odersky2013-07-197-30/+42
|
* Made reporting framework more lightweight and uniform in preparation of ↵Martin Odersky2013-07-198-139/+132
| | | | future integration of reporters in typerstate.
* Handling bounded wildcard types.Martin Odersky2013-07-194-11/+29
|
* Additions needed to support implicits.Martin Odersky2013-07-1911-42/+485
| | | | | | Still to do: - properly account for bounded wildcard types - set up scheme for nested diagnostics buffers.
* Some bugfixes and added functionality to support implicits.Martin Odersky2013-07-191-17/+50
|
* Freshing out some more aspects of applications.Martin Odersky2013-07-154-28/+83
|
* Added provisional extractor for SAM typesMartin Odersky2013-07-151-1/+41
|
* Logic to ensure the following invariant: A class denotation's validity ↵Martin Odersky2013-07-122-65/+91
| | | | period is properly contained in the validty periods of all its parent classes. This is necessary to ensure that parent- and member-based caches in a ClassDenotation never become invalid.
* Adding diagnostics how many stubs were generatedMartin Odersky2013-07-122-2/+6
|
* Avoided cycle in newCompletePackageSymbol by passing name explicity.Martin Odersky2013-07-112-11/+15
|
* Added functionality to deal with function applications.Martin Odersky2013-07-1125-588/+1509
| | | | | | | | | | | | | - Added Applications class to represent applications - Added Constraint class to represent type constraints - Added TyperState class to represent typer state - Added Diagnostic class to buffer errors and warnings - Added Inferencing class that contains some common functionality for type inferencing (this one's still rudimentary). - Added extractor for FunctionType in Definitions - Added desugaring of default parameters to default getters in Desugar - Added flags to deal with default parameters - Added substitutions that replace bound parameters
* Adding TypeVars and adapting constrints accordingly.Martin Odersky2013-06-292-82/+102
| | | | | A TypeVar is essentially a container whose contents can be "flipped" from a PolyParam to an instantiated type. Adding TypeVars avoids subtitutions of large trees and all their types which would otherwise be necessary when a type parameter is instantiated at some point.
* Added logic for typing selections.Martin Odersky2013-06-221-2/+71
| | | | … and got started with typing applications.
* Added logic for constraint solving.Martin Odersky2013-06-223-19/+113
| | | | Re-organized constraints and type comparers and added methods that will be needed for type inference.
* More utility methods in type: subst(BoundType, Type) and occursIn.Martin Odersky2013-06-221-0/+8
|
* Added a mapValues method to SimpleMapMartin Odersky2013-06-221-0/+14
|
* Flehsed out constraints, with more efficient maps.Martin Odersky2013-06-223-12/+205
|
* Being a bit more conservative with creating new TypeBoundsMartin Odersky2013-06-221-5/+7
|