Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | | Don't unmangle names in ClassfileParser | Martin Odersky | 2017-04-11 | 1 | -13/+12 | |
| | | | | | | | | | | | | | | | Classfile parsing is about JVM-level names, not Scala level ones. So it is more consistent to use mangled names throughout. | |||||
* | | | Memoize toSimpleName | Martin Odersky | 2017-04-11 | 1 | -1/+6 | |
| | | | | | | | | | | | | | | | | | | | | | toSimpleName is called a lot from the backend, so it makes sense to memoize it. It would be even better to communicate with the backend using strings, because then we would not have to enter all these simple names in the name table. | |||||
* | | | Bugfix in stripModuleClassSuffix | Martin Odersky | 2017-04-11 | 1 | -2/+2 | |
| | | | ||||||
* | | | Further simplification for Name | Martin Odersky | 2017-04-11 | 7 | -34/+17 | |
| | | | ||||||
* | | | Merge likeTyped and likeKinded into likeSpaced | Martin Odersky | 2017-04-11 | 2 | -23/+19 | |
| | | | ||||||
* | | | Names are no longer Seqs | Martin Odersky | 2017-04-11 | 16 | -139/+124 | |
| | | | | | | | | | | | | | | | | | | | | | | | | Drop Seq implementation of name. This implementation was always problematic because it entailed potentially very costly conversions to toSimpleName. We now have better control over when we convert a name to a simple name. | |||||
* | | | Run compileStdLib only as junit test | Martin Odersky | 2017-04-11 | 1 | -1/+3 | |
| | | | | | | | | | | | | It fails without any test output in partest | |||||
* | | | Cleanups of NameOps | Martin Odersky | 2017-04-11 | 6 | -100/+15 | |
| | | | | | | | | | | | | Remove unused functionality | |||||
* | | | Make outer select names semantic | Martin Odersky | 2017-04-11 | 9 | -24/+27 | |
| | | | ||||||
* | | | Make module var names semantic | Martin Odersky | 2017-04-11 | 5 | -25/+5 | |
| | | | ||||||
* | | | Avoid duplicate hashCode/equals | Martin Odersky | 2017-04-11 | 3 | -5/+4 | |
| | | | ||||||
* | | | Fix dropModule logic | Martin Odersky | 2017-04-11 | 2 | -3/+3 | |
| | | | ||||||
* | | | Fix ParallelTesting NPE | Martin Odersky | 2017-04-11 | 1 | -1/+2 | |
| | | | ||||||
* | | | Make field names semantic | Martin Odersky | 2017-04-11 | 4 | -22/+12 | |
| | | | ||||||
* | | | Make "direct names" semantic | Martin Odersky | 2017-04-11 | 4 | -5/+7 | |
| | | | ||||||
* | | | Revise qualified names | Martin Odersky | 2017-04-11 | 8 | -87/+63 | |
| | | | | | | | | | | | | | | | 1. Fix problem in fullNameSeparated 2. Revise expandedName operations | |||||
* | | | Fix inner class name table emission with semantic names | Guillaume Martres | 2017-04-11 | 1 | -1/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backend contains: val outerName = innerClassSym.rawowner.javaBinaryName // Java compatibility. See the big comment in BTypes that summarizes the InnerClass spec. val outerNameModule = if (innerClassSym.rawowner.isTopLevelModuleClass) outerName.dropModule Where `dropModule` is defined in the backend interface as: def dropModule: Name = n.stripModuleClassSuffix This will only work as expected if `javaBinaryName` returns a name with proper semantic information, but before this commit we just used the output of `fullNameSeparated` which contains no semantic information. | |||||
* | | | New unmangling for ExpandedName | Martin Odersky | 2017-04-11 | 3 | -45/+40 | |
| | | | ||||||
* | | | Decentralize unmangling, add new nameKinds | Martin Odersky | 2017-04-11 | 10 | -58/+62 | |
| | | | | | | | | | | | | | | | | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors. | |||||
* | | | Fix rebase breakage | Martin Odersky | 2017-04-11 | 1 | -0/+1 | |
| | | | ||||||
* | | | Rename NameExtractor -> NameKind | Martin Odersky | 2017-04-11 | 34 | -123/+121 | |
| | | | ||||||
* | | | Make freshName semantic | Martin Odersky | 2017-04-11 | 28 | -173/+244 | |
| | | | ||||||
* | | | Redefine definesNewName | Martin Odersky | 2017-04-11 | 3 | -8/+18 | |
| | | | | | | | | | | | | | | | | | | | | | Make it a method of info instead of a convention over tags, because it's less fragile that way. Also, add UniqueName extractor. | |||||
* | | | Add ShadowedName and AvoidClashName | Martin Odersky | 2017-04-11 | 11 | -32/+26 | |
| | | | ||||||
* | | | Streamline pickling and unpickling of names | Martin Odersky | 2017-04-11 | 3 | -24/+18 | |
| | | | ||||||
* | | | Get rid of SuperAccessor flag | Martin Odersky | 2017-04-11 | 12 | -17/+23 | |
| | | | ||||||
* | | | Get rid of ExpandedName flag | Martin Odersky | 2017-04-11 | 20 | -48/+57 | |
| | | | ||||||
* | | | Fix PrefixNameExtractor mkString | Martin Odersky | 2017-04-11 | 1 | -1/+3 | |
| | | | ||||||
* | | | Drop Config.semanticNames option | Martin Odersky | 2017-04-11 | 11 | -185/+97 | |
| | | | | | | | | | | | | | | | We now handle only semantic names. Also, name extractor tags and TASTY name tags are now aligned. | |||||
* | | | Add missing file | Martin Odersky | 2017-04-11 | 1 | -0/+148 | |
| | | | ||||||
* | | | Eliminate TastyNames | Martin Odersky | 2017-04-11 | 11 | -219/+107 | |
| | | | ||||||
* | | | Add NameExtractors | Martin Odersky | 2017-04-11 | 9 | -202/+90 | |
| | | | | | | | | | | | | | | | Use a new scheme for creating and accessing semantic names which is based on semantic name extractors with nested info classes. | |||||
* | | | Don't forget ExpandedName when unpickling SuperAccessors | Martin Odersky | 2017-04-11 | 1 | -1/+1 | |
| | | | ||||||
* | | | Fix to fieldName for trait setters | Martin Odersky | 2017-04-11 | 1 | -1/+1 | |
| | | | ||||||
* | | | Properly integrate TraitSetter names | Martin Odersky | 2017-04-11 | 3 | -13/+28 | |
| | | | ||||||
* | | | Fix test | Martin Odersky | 2017-04-11 | 1 | -1/+1 | |
| | | | ||||||
* | | | Semantic SuperAccessor and Initializer names | Martin Odersky | 2017-04-11 | 6 | -58/+122 | |
| | | | ||||||
* | | | Turn on semantic names | Martin Odersky | 2017-04-11 | 1 | -1/+1 | |
| | | | ||||||
* | | | Add Variant NameInfo | Martin Odersky | 2017-04-11 | 11 | -21/+42 | |
| | | | | | | | | | | | | Plus further bug fixes. | |||||
* | | | Add default getter names | Martin Odersky | 2017-04-11 | 9 | -57/+169 | |
| | | | | | | | | | | | | Plus various bug fixes and filling in missing functionality | |||||
* | | | Handle expansion and flattening | Martin Odersky | 2017-04-11 | 12 | -49/+131 | |
| | | | ||||||
* | | | Polishings | Martin Odersky | 2017-04-11 | 4 | -38/+47 | |
| | | | ||||||
* | | | Bug fixes | Martin Odersky | 2017-04-11 | 12 | -65/+115 | |
| | | | | | | | | | | | | nameddefaults.scala now compiles without crashing | |||||
* | | | Implement startsWith/encode/decode for derived names. | Martin Odersky | 2017-04-11 | 5 | -18/+34 | |
| | | | ||||||
* | | | Disentangle Names from Seqs | Martin Odersky | 2017-04-11 | 10 | -83/+71 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Structured names are not Seqs anymmore. But the Seq behavior is required in many places that mangle names. As an intermediate step we drop the Seq basetype but add Seq behavior through a decorator. Most Seq operations only work on SimpleTermNames and their TypeName analogue, will throw an exception wehn called on structured names. | |||||
* | | | Use system hashcode for all names except SimpleTermNames | Martin Odersky | 2017-04-11 | 1 | -4/+2 | |
| | | | | | | | | | | | | Keep start as a hash for SimpleTermNames because it distributed better. | |||||
* | | | Fix typos and redundant statements in previous commits | Martin Odersky | 2017-04-11 | 3 | -6/+2 | |
| | | | ||||||
* | | | Deug info in classfile parser | Martin Odersky | 2017-04-11 | 1 | -1/+8 | |
| | | | ||||||
* | | | Unmangle class names in ClassfileParser | Martin Odersky | 2017-04-11 | 1 | -1/+1 | |
| | | | ||||||
* | | | Self-checked structured qualified names | Martin Odersky | 2017-04-11 | 1 | -4/+27 | |
| | | | | | | | | | | | | | | | | | | This is a temporary step. If semanticNames is true we construct structured qualified names, but check they have the same string representation as the unstructured names. |