aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Denotations.scala
Commit message (Collapse)AuthorAgeFilesLines
* Split filterAsSeenFrom and generalized flag handling.Martin Odersky2013-03-121-20/+24
| | | | | | | | 1. filterAsSeenFrom has been split again into its constituents "filterExcluded" and "asSeenFrom", and care was taken not to force the info unless we have to. The accessible check is no longer done when collecting members, because it would have forced the symbol through requesting privateWithin. 2. SymDenotation#is is tweaked to no longer force the denotation if the flags are in "FromStartFlags", i.e. set upon symbol creation. We can then eliminate special cases isModuleXXX, isPackageXXX. 3. Other tweaks mostly having to do with weakening sym.exists checks to avoid CyclicReference errros.
* Fixed too hasty commit that caused build errors.Martin Odersky2013-03-111-3/+6
|
* First steps to make compiler start work.Martin Odersky2013-03-111-2/+2
| | | | Still fighting with CyclicReference errors.
* Collapsed some methods in PreDenotations…Martin Odersky2013-03-051-25/+13
| | | | … that were always called together. Also, some general polishing for Types.
* Dropped context from altsWith/suchThat/hasAltMartin Odersky2013-03-041-12/+14
|
* 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 denotationsMartin Odersky2013-03-021-7/+7
| | | | | | | | 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.
* Polishing of Denotations and Transformers.Martin Odersky2013-02-281-59/+111
|
* more docs.Martin Odersky2013-02-281-3/+3
| | | | Plus renamed NullSignature -> NotAMethod
* Renamed DenotationSet -> PreDenotationMartin Odersky2013-02-271-20/+20
|
* Filling in all ???sMartin Odersky2013-02-271-8/+8
| | | | | | | Added reporters. Added context for signatures. Implemented method signatures via erasure. Refined derivedNameType handling.
* Refactoring and cleanup of several symbol creation related aspects.Martin Odersky2013-02-241-1/+1
| | | | | | | 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.
* More utility methods and split up filterMartin Odersky2013-02-211-10/+39
| | | | More utility methods in types. Also replaced Denotation#filter with a set of more useful operations.
* Adding method to create denotations to Contexts.Martin Odersky2013-02-151-28/+96
|
* Added new utility methods to SymDenotations and refactored creation.Martin Odersky2013-02-081-0/+3
|
* Replacing Symbol forwarders by two implicits from Symbol to ↵Martin Odersky2013-02-071-6/+6
| | | | SymDenotation/ClassDenotation. Rearrangement of SymDenotation methods
* Disentangled denotation types from their symbols, based on info instead.Martin Odersky2013-02-061-6/+3
|
* Swiztched to name table, added StdNames and related definitions. Introduced ↵Martin Odersky2013-01-301-1/+1
| | | | LocalNames.
* New Context architecture based on cloningMartin Odersky2013-01-291-1/+1
|
* Consolidation of SymbolsMartin Odersky2013-01-281-1/+1
|
* Various additions to symbols, denotations, and elsewhereMartin Odersky2013-01-241-14/+19
|
* Added explanation how core classes for types, symbols, and denotations ↵Martin Odersky2013-01-211-1/+57
| | | | relate to each other.
* Changed NamedType dereferencing so that we need not keep track of name ↵Martin Odersky2013-01-211-2/+4
| | | | validity periods. Instead, we simply retry on missing member lookup in an earlier phase. This scheme is less complicated and works as long as names that are renamed in phase A are not re-used in a phase B >= A.
* Big renaming to drop Reference(d) as a terminology and use Denotation ↵Martin Odersky2013-01-211-378/+311
| | | | instead. previous Denotations (which already were a subclass) are renamed to SymDenotations.
* Refined lazy loading and completion, added new fields to Denotation.Martin Odersky2013-01-211-32/+79
|
* Fleshed out Flags architecture and started work on Symbols.Martin Odersky2013-01-201-21/+97
|
* Renamed hasFlag… operations to contains/intersectsMartin Odersky2013-01-171-2/+2
|
* Defined Denotation parameters.Martin Odersky2013-01-171-65/+66
|
* Renamed "Reference" to "Referenced".Martin Odersky2013-01-171-8/+8
|
* Completed period-tracking in named types. Made Denotation a subtype of ↵Martin Odersky2013-01-171-20/+5
| | | | symblic referenced and generalized denotation versioning to referenced versioning.
* Made Period a value class.Martin Odersky2013-01-131-4/+4
|
* Invalidate baseType caches on new runsMartin Odersky2013-01-121-2/+5
|
* Refactored Types to move auxiliary operations into Context. Moved per-run ↵Martin Odersky2013-01-101-10/+3
| | | | state into RootContext.
* Fleshed out Types.Martin Odersky2013-01-061-5/+5
|
* Refactored ClassInfoType content back to Denotation. Created separate ↵Martin Odersky2012-12-221-2/+225
| | | | | | ClassInfo type, which combines a prefix with a ClassInfo denotation. That leads to better regularity elsewhere, because now taking the info of a TypeRef will not lose information: If the info is a TypeBounds, the prefix is already taken account in it, and for ClassInfo we now record it explicitly.
* (1) Moved logic from ClassDenotation to ClassInfoType. (2) Tweaks to other ↵Martin Odersky2012-12-181-191/+3
| | | | types. (3) FlagSet is now a value class.
* Implemented baseClasses and baseTypes (2). Refactored RefinedType and ↵Martin Odersky2012-12-161-24/+83
| | | | ClassInfoType.
* Re-introducing Rereferences as an intermediate structure, separate from types.Martin Odersky2012-12-141-5/+5
|
* Initial commitMartin Odersky2012-12-061-0/+241