{"push_id":1046811308,"size":118,"distinct_size":12,"ref":"refs/heads/compiler-docs","head":"98a69cae13db04741e99a7abd45f9e2a9845e5f7","before":"24a2d283b121b8a93c1da68813e60801cf55fd75","commits":[{"sha":"c14c9c096d09d9e21f1fd4ec27e6b416db01512f","author":{"email":"2832a3611e91a3b35b084da8a16440b68c3bd8c7@gmail.com","name":"Sébastien Doeraene"},"message":"Move the logic of ExpandSAMs.isJvmSam to Platform.isSam.\n\nWhether a language SAM type is also a valid SAM type for the\nback-end is a platform-specific thing. On Scala.js, for example,\nthe rules are completely different than for the JVM.\n\nThis commit therefore moves the logic of the predicate used by\nExpandSAMs to decide whether to expand a SAM as an anonymous class\nto the Platform.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/c14c9c096d09d9e21f1fd4ec27e6b416db01512f"},{"sha":"ff6c79d22a0f0142d204e97b027b29eb869f0188","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"New collection strawman\n\nCentered around views instead of iterators.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/ff6c79d22a0f0142d204e97b027b29eb869f0188"},{"sha":"945ee917aeaada9b3f0c1e1cf2e6f85d4a36300b","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Pretype functional arguments when doing overload resolution","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/945ee917aeaada9b3f0c1e1cf2e6f85d4a36300b"},{"sha":"f63110edc7ab8299ef1cd33b2b156e7987e35931","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Make use of better overload resolution in collections strawman test","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/f63110edc7ab8299ef1cd33b2b156e7987e35931"},{"sha":"7dfab5f427ad9600b8e54b61716461787d7fa4a1","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Refine pretypeArgs\n\nIt worked more or less by accident before. Now it's more complicated,\nbut we also have tests.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/7dfab5f427ad9600b8e54b61716461787d7fa4a1"},{"sha":"b6daa2a522e88cfb70776b66301b65ed6d0205f6","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Make sure lazy accessors in traits are not private.\n\nFixes #1140. Review by @DarkDimius or @smarter.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/b6daa2a522e88cfb70776b66301b65ed6d0205f6"},{"sha":"a8c2b0556db56ac85de3f2a078e169f7e4a1671a","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Pickle/unpickle SuperAccessor names\n\nNeeded to restore the SuperAccessor flag in separate compilation.\nFixes #1144.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/a8c2b0556db56ac85de3f2a078e169f7e4a1671a"},{"sha":"39719aadb4076ecf22ca348f607367817638853d","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"More info when resolveOverloading fails","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/39719aadb4076ecf22ca348f607367817638853d"},{"sha":"d0dd7001f0b59ed53f0778530328b3bf413587a2","author":{"email":"2832a3611e91a3b35b084da8a16440b68c3bd8c7@gmail.com","name":"Sébastien Doeraene"},"message":"Implement most of the Scala.js IR code generator.\n\nNotable things that are missing at this point:\n\n* Pattern matching\n* Try\n* Most of the JavaScript interop","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/d0dd7001f0b59ed53f0778530328b3bf413587a2"},{"sha":"3f47afb0f8655b734ed432002a9e07aad92e7867","author":{"email":"2832a3611e91a3b35b084da8a16440b68c3bd8c7@gmail.com","name":"Sébastien Doeraene"},"message":"Implement most of use-site JavaScript interop.\n\nNotable things that are not yet implemented:\n* JS exports\n* Scala.js-defined JS classes.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/3f47afb0f8655b734ed432002a9e07aad92e7867"},{"sha":"9ae558a7a7060ac7dfc6ef3fc482e8eda66d33e3","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"More detailed reporting in TreeChecker\n\n... when definitions are missing.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/9ae558a7a7060ac7dfc6ef3fc482e8eda66d33e3"},{"sha":"df5fcefac142f6ab65a93c33ec9179380025a492","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Fix and simplify initializer\n\nInitializer was needlessly complex and did not work anymore\nfor lazy vals (for them, we implicitly made use of the fact that\nthe initializer would find the symbol itself. But after name\nmangling that logic would break down.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/df5fcefac142f6ab65a93c33ec9179380025a492"},{"sha":"9a624b9249024eec4e165b47e22fe3f029a9ae81","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Nothing is not nullable","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/9a624b9249024eec4e165b47e22fe3f029a9ae81"},{"sha":"65639176ce59fd64cbecd90bf5680e64e471938f","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Add second field to SeqLiteral\n\nThe field keeps track of the element type. This is necessary\nbecause JavaSeqLiteral is nonvariant and the elements might\nbe empty, so we cannot always compute the type from the\nelement types.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/65639176ce59fd64cbecd90bf5680e64e471938f"},{"sha":"208c91a3749910ff23ae65f7ff36d7b3cf8d62db","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Fix test cases\n\nThe test contained an error that was unvovered by the \"Nothing is not Nullable\" fix.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/208c91a3749910ff23ae65f7ff36d7b3cf8d62db"},{"sha":"216c195f5592e3f4cbf96ed00b3710a46307cd8a","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Have checkNotPrivate skip over private aliases.\n\nCheckNotPrivate now avoids private aliases, so that types sat prepresentable in\ntransformation phases.\n\nThis does not solve the problem that private classes or abstract types might leak coming\nfrom Scala 2, but there is not really a good cure for that. We can reject them outright or\nallow them under language:Scala2 and hope for the best.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/216c195f5592e3f4cbf96ed00b3710a46307cd8a"},{"sha":"e5cad0c2ccfd4e8ea3dfb9f0eb22ab0a958287f8","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Refinements to referencesOuter\n\nIn a New we need to decide based on the prefix of the type of object created.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/e5cad0c2ccfd4e8ea3dfb9f0eb22ab0a958287f8"},{"sha":"d34a9e3d89a8e205e23a6d59e02ccf736dd572f4","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Refinement to TreeTypeMap\n\nWhen recursing in a template body, need to update the\ncontext's owner, so that `ref` can work correctly.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/d34a9e3d89a8e205e23a6d59e02ccf736dd572f4"},{"sha":"69b07e2466ae96c37066ee02c7d45b9b52417342","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Test case\n\nThe test fails if either of the previous two commits is missing.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/69b07e2466ae96c37066ee02c7d45b9b52417342"},{"sha":"dad9dfc2cc83e58fbe59f8cffd28ec1180d6fab1","author":{"email":"2b8ac5be74fbfcc99318f0bfdb45b13289139e40@gmail.com","name":"Martin Odersky"},"message":"Changes to owners in Mixin and Constructors\n\nTwo changes:\n\n1. Replace changeOwer with changeOwnerAfter for code\nthat moves into the $initial methods in Mixin. This is needed because\notherwise subsequent transforms gets confused wrt new vs old owners.\n`i1131.scala` exhibits the problem.\n\n2. Drop `transformSym` changed the owner of tenplate-local symbols\nto be the primary constructor. But that is done anyway with a \"changeOwnerAfter\"\nin `intoConstr`. So it is redundant and actually gets in the way with\na `changeOwnerAfter` in `Mixin`. The faulty scenario is this:\n\n  1. The SymTransformer of Constructor is run on a constructor-local definition.\n     The owner of that definition is set to <init> after phase Constructors.\n\n  2. The body of the definition is transformed in Mixin. The owner is set\n     to the initializer method, but only for the interval between Mixin\n     and Constructors.\n\nChanging to changeOwner in Mixin avoided that problem by duplicating the symbol but\nit runs into other problems.\n\nFortunately, the solution is much simpler than the status quo: Two changeOwnerAfter calls\nand no SymTransformer.","distinct":false,"url":"https://api.github.com/repos/dotty-staging/dotty/commits/dad9dfc2cc83e58fbe59f8cffd28ec1180d6fab1"}]}