aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Collapsed some methods in PreDenotations…Martin Odersky2013-03-053-84/+52
| | | | … that were always called together. Also, some general polishing for Types.
* Rewrite of isVolatileMartin Odersky2013-03-043-91/+129
| | | | Also, now all calls to NamedType#underlying are montored for infinite cycles.
* Dropped context from altsWith/suchThat/hasAltMartin Odersky2013-03-041-12/+14
|
* Renamed RefinedType#name, #info…Martin Odersky2013-03-047-67/+49
| | | | … to refinedName, refinedInfo. Also some other polishings in Types.
* Added logic that retains symbol denotations from one run to the next if it ↵Martin Odersky2013-03-041-39/+63
| | | | is safe to do so.
* Polishing of Symbols.Martin Odersky2013-03-043-41/+49
|
* Finished polishing of SymDenotationsMartin Odersky2013-03-031-39/+57
|
* Merge remote-tracking branch 'origin/master'Martin Odersky2013-03-030-0/+0
|\
| * New LRU Cache implementationMartin Odersky2013-03-033-95/+148
| |
* | Split scopes into immutable and mutable parts.Martin Odersky2013-03-038-82/+112
| | | | | | | | The goal is that symbols should be entered/deleted directly into classes instead of their scopes. This is necesaary so that invariant about fingerPrint can be maintained. We achieve it by making the info scope have immutable type, so an explicit cast is needed to get around that.
* | New LRU Cache implementationMartin Odersky2013-03-034-99/+152
|/
* Polishing of denotationsMartin Odersky2013-03-026-122/+169
| | | | | | | | 1. Dropped owner from denot#asSeenFrom. Code inspection shows that one needs to take the owner of the symbol in each alternative instead. 2. Changed fullName so that terms in the ownerchain leave a trace. Needed for disambiguating private symbols with expanded names. See worksheet nesting.sc for an example. 3. Changed fingerPrint so that only classes with children have their fingerPrints computed. Reason: When we lookup a member of a class initially, it's likely that the member is present, so a bloom filter will not buy us much and will take up memory. For parent classes it's different. We might have found the member already in the child, or in a different parent, so it's more likely that the fingerPrint is effective.
* Bug fixes and cleanups for names.Martin Odersky2013-03-014-31/+52
|
* Fixes Name#slice.Martin Odersky2013-02-282-1/+12
|
* Polishing of Denotations and Transformers.Martin Odersky2013-02-283-69/+137
|
* more docs.Martin Odersky2013-02-285-23/+31
| | | | Plus renamed NullSignature -> NotAMethod
* Some worksheets to start testingMartin Odersky2013-02-284-19/+71
|
* fixes to flagsMartin Odersky2013-02-281-5/+12
|
* Fixes to namesMartin Odersky2013-02-281-7/+19
|
* Cleanup of flagsMartin Odersky2013-02-275-30/+40
| | | | Plus some more doc comments.
* Cleanup of decoratorsMartin Odersky2013-02-271-2/+15
|
* Cleaup of ContextsMartin Odersky2013-02-277-39/+112
|
* Renamed DenotationSet -> PreDenotationMartin Odersky2013-02-273-26/+26
|
* Fixed ModuleDefs so that they produce code that keeps invariants of tree maps.Martin Odersky2013-02-271-3/+23
| | | | | We need to make sure that every symbol that needs to be changed in a treemap is visible in the tree. For that reason, ModuleDefs now generate ClassDefs that are integrated in the regular tree, next to the ValDef the represents the module.
* Refinements to signature handling.Martin Odersky2013-02-272-42/+73
| | | | Decoupled paramSignature from erasure in the interest of efficiency.
* Rename Shared -> SharedTreeMartin Odersky2013-02-274-21/+21
|
* Filling in all ???sMartin Odersky2013-02-2726-147/+734
| | | | | | | Added reporters. Added context for signatures. Implemented method signatures via erasure. Refined derivedNameType handling.
* Fleshing out some ???'sMartin Odersky2013-02-255-21/+25
|
* Completed implementation of FlagsMartin Odersky2013-02-256-126/+242
| | | | Including translation from Scala 2.x flags.
* Systeamtic use of symbolicRef abbreviation.Martin Odersky2013-02-253-3/+3
|
* Refactoring and cleanup of several symbol creation related aspects.Martin Odersky2013-02-2415-566/+582
| | | | | | | 1. Went back to old completer model where completers are types. 2. Made class denotations a simple optimzation of symbol denotatons (with more caches) by moving all class-specific attributes into ClassInfo. 3. Now all symbol and symbol denotation creations are routed through one of 3 methods: newNakedSymbol, newNakedClassSymbol, newSymDenotation.
* Moving associatedFile from SymDenotation to SymbolMartin Odersky2013-02-234-43/+50
| | | | Motivation: This is something that stays invariant over all periods. but _can_ change between compilation runs. Therefore it matches the lifetime of a Symbol.
* UnPickler now also reads trees.Martin Odersky2013-02-222-300/+312
|
* Added methods to substitute trees and change their owners.Martin Odersky2013-02-224-9/+127
| | | | Required also some better integration with TypeMaps.
* Changed meaning of DefTree/isDef, plus other Tree changesMartin Odersky2013-02-221-21/+39
| | | | | | | | isDef now means: Defines a new symbol. Consequently, templates are DefTrees (because they define LocalDummy), but package clauses are not. DefTrees are now pickier about the names they accept. New generic instances of TreeAccumulator: ShallowFolder and DeepFolder.
* Added substSym method and dropped NoPrefix requirement.Martin Odersky2013-02-221-18/+43
| | | | Substituters now work on arbitrary NamedTypes, even if the prefix is different from NoPrefix.
* Added previously forgotten typed Try trees, modified params of typed Super ↵Martin Odersky2013-02-221-6/+14
| | | | trees.
* Misc fixes to typed trees, flags, and elsewhere.Martin Odersky2013-02-217-76/+105
|
* Some cleanups in FlagsMartin Odersky2013-02-211-34/+19
|
* Changed function expansion and fleshed out checkTypeMartin Odersky2013-02-211-47/+244
| | | | Function expansion got changed so that it requires an explicit target type and that target type can be an arbitrary SAM type.
* More utility methods and split up filterMartin Odersky2013-02-214-28/+91
| | | | More utility methods in types. Also replaced Denotation#filter with a set of more useful operations.
* Generalized ArrayValue -> SeqLiteralMartin Odersky2013-02-212-15/+28
| | | | Also introduced new category of pattern trees.
* Some more Definitions entriesMartin Odersky2013-02-211-21/+27
|
* Shortcircuited all <:< and =:= calls in TypeComparersMartin Odersky2013-02-211-6/+13
|
* Refined tree typing and started on checksMartin Odersky2013-02-205-66/+162
| | | | | | | | Function nodes are now no longre typed trees; they are represented instead as blocks: { def $anonfun(…) = …; $anonfun }. Refined block typing to autiomatically widen some types when they occur as result type of a block. Started writing check code that enforces Scala's typesystem rules oin typed trees.
* New utility operations. Made typeSymbol/termSymbol apply to TypeProxies.Martin Odersky2013-02-201-1/+12
|
* Moved TypeTrees defs into nested object tpd.Martin Odersky2013-02-205-252/+257
| | | | Reason: We need normal trees to do efficient pattern matching. So if we want to both pattern match and create trees we need to import Trees._ and TypedTrees.tpd. Then typed tree construction needs to be prefixed with tpd, e.g. tpd.Select(pre, name).
* Completed pluggability hooks for trees.Martin Odersky2013-02-201-57/+102
|
* Merge branch 'simplified-completers'Martin Odersky2013-02-1910-402/+927
|\
| * Feasibility study for transformer pluginsMartin Odersky2013-02-192-5/+114
| |