aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * Remove relative links for markdown pluginFelix Mulder2016-10-064-270/+9
| | | | | | | | | | This plugin caused the Github site builder to kill the build (github has a limited number of trusted plugins - this wasn't one of them).
* | Merge pull request #1502 from felixmulder/topic/dottydoc-usecases-paramFelix Mulder2016-10-0628-613/+1037
|\ \ | |/ |/| [doc] Usecases with docbase as param
| * Remove `Context` reference in `Comment` and `UseCase`Felix Mulder2016-10-062-17/+29
| |
| * Separate `ContextDocstrings` from `Context` and make it pluggableFelix Mulder2016-10-0613-109/+143
| |
| * Implement docbase as propertyFelix Mulder2016-10-0615-49/+87
| |
| * Typecheck usecases in fresh local scopeFelix Mulder2016-10-066-7/+5
| |
| * Move docstring cooking to dottyFelix Mulder2016-10-068-385/+437
| |
| * Move docstring parser to dottydoc miniphaseFelix Mulder2016-10-064-141/+70
| |
| * Fix cooking of docstringsFelix Mulder2016-10-0611-32/+94
| |
| * Move typing of usecases to `typedClassDef`Felix Mulder2016-10-062-8/+10
| |
| * Fix type parameters not getting properly typedFelix Mulder2016-10-063-18/+107
| |
| * Fix name clashes because of `@usecase`Felix Mulder2016-10-063-16/+40
| |
| * Add `UsecasePhase` to dottydocFelix Mulder2016-10-063-1/+80
| |
| * Typecheck usecasesFelix Mulder2016-10-062-1/+12
| |
| * Add `Comments` object instead of `Scanners.Comment` case classFelix Mulder2016-10-067-56/+128
| |
| * Add symbols to Doc AST, needed for `@usecase`Felix Mulder2016-10-066-16/+38
| | | | | | | | | | Also eliminates the need for comment processing to be part of the `DocASTPhase`, so this should be put into a DocMiniPhase
* | Merge pull request #1555 from felixmulder/topic/docsFelix Mulder2016-10-0644-654/+2657
|\ \ | |/ |/| Migrate wiki to docs dir
| * Warn users about outdated HK schemeFelix Mulder2016-10-061-1/+5
| |
| * Add Jekyll as static site generatorFelix Mulder2016-10-0639-109/+768
| |
| * Add posts from dotty-websiteFelix Mulder2016-10-066-12/+471
| |
| * Add index.mdFelix Mulder2016-10-062-0/+31
| |
| * Move wiki into docs dirFelix Mulder2016-10-0621-643/+1493
|/
* Merge pull request #1561 from dotty-staging/fix/inline-mergeGuillaume Martres2016-10-061-1/+3
|\ | | | | Fix build failure after merging #1492
| * Fix build failure after merging #1492Guillaume Martres2016-10-061-1/+3
|/ | | | The one-parameter constructor of SourceFile was removed in #1494
* Merge pull request #1492 from dotty-staging/add-inlineGuillaume Martres2016-10-06100-376/+1903
|\ | | | | Implement inline
| * Add InlineBytecodeTests to check that inline really worksGuillaume Martres2016-10-052-7/+32
| |
| * DottyBytecodeTest: fix diffInstructions outputGuillaume Martres2016-10-051-1/+1
| |
| * Add test caseMartin Odersky2016-10-051-0/+7
| |
| * Fix inline failure in the presence of unit conversionMartin Odersky2016-10-021-1/+3
| |
| * Address @smarter's review commentsMartin Odersky2016-10-028-16/+18
| |
| * Fix incremental compilation when inline method body changesGuillaume Martres2016-10-024-3/+31
| | | | | | | | | | | | Since we have no nice way of hashing a typed tree we use the pretty-printed tree of the method (as it would be printed by -Xprint:posttyper -Xprint-types) as a hacky substitute for now.
| * Fix incremental compilation when inline method signature changesGuillaume Martres2016-10-027-0/+43
| |
| * Disable scaladoc generation for dottyGuillaume Martres2016-10-021-0/+3
| | | | | | | | | | This makes "publishLocal" much faster which is extremely useful when working on the sbt bridge.
| * Remove incorrect special case for Inline purity checksGuillaume Martres2016-10-021-2/+1
| | | | | | | | | | | | | | | | | | This special case was added two years ago, quoting from 5428549a57b710b11e57aab4eee24e9b89b8b97c "Inlined pure values are pure even if referenced from impure prefixes (i.e. prefix need not be evaluated)" This does not match the current semantics for inline where the prefix is always evaluated.
| * CleanupsMartin Odersky2016-10-027-35/+28
| | | | | | | | | | Better comments and refactorings that move some things around so that less modules depend on Inliner.
| * Move logic from InlineInfo to BodyAnnotMartin Odersky2016-10-027-116/+63
| | | | | | | | Now that we have BodyAnnot, InlineInfo can be eliminated.
| * Add check fileMartin Odersky2016-10-021-0/+137
| |
| * Use BodyAnnot to indicate rhs of inline methodMartin Odersky2016-10-027-25/+60
| | | | | | | | | | | | Since fundamental operations such as treeCopy have to know about inline bodies, it seems better to represent this information directly in an annotation.
| * Handle inlining in inlining argumentsMartin Odersky2016-10-026-27/+52
| | | | | | | | | | | | | | | | We got unbound symbols before because a TreeTypeMap would copy a tree of an inline DefDef but would not adapt the inline body stored in the @inline annotation of the DefDef to point to the updated tree.
| * Inline function parametersMartin Odersky2016-10-024-22/+30
| | | | | | | | | | | | Add inline function parameters. The previous concept of inlineable closure is adapted to coincide with an inline function parameter.
| * Generalize checkInlineConformant to functionsMartin Odersky2016-10-022-1/+48
| | | | | | | | | | | | | | | | Pure expressions with function types now are considered conforming. Necessitated a change in TreeInfo to accept closures as pure expressions. Test case in inlineForeach
| * Change owner as necessary when typing a TypedSpliceMartin Odersky2016-10-025-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | When typing an untpd.TypedSplice it could be that the owner at the time the tree is originally typed is different from the owner at the time the tree is unwrapped. In that case the owner needs to be changed. Problem was noticed in Course-2002-02 after changing Closure to be a pure expression. This means that TypedSplices containing closures are no longer lifted out from containing closures during eta expansion, and the owner chain got corrupted.
| * Drop annotations from dealiasMartin Odersky2016-10-022-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | We got an error when we tried t opur @inline annotations on function parameter types. It turned out that there were lots of places where annotations on a type would break a test in the compiler. So we now drop annotations by default when dealiasing. We provide dealiasKeepAnnots as an alternative that has the old behavior, i.e. rewrap annotations after dealiasing. The only place where we found we needed this was in the exhaustivity checker.
| * Don't drop inline closure bindings that are referred in the bodyMartin Odersky2016-10-023-11/+35
| | | | | | | | | | The body might still refer to an inline closure argument without fully applying it. In that case the binding may not be dropped.
| * Always use implicit context at the current periodMartin Odersky2016-10-025-27/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An implicit method might be unpickled in one run and the implicit body might be selected first in a subsequent run. In that case the inlined code was read with the original context, but that context needs to run at the current period. This resulted in denotation out of date errors in bringForward. Another problem with this design was space leaks: An context might survive multiple runs as part of an ImplicitInfo of an unpickled method. The new design avoids both problems. Implicit contexts are always up to date and leaks are avoided.
| * Document deviations from inline SIPMartin Odersky2016-10-021-0/+7
| |
| * Add inline for valsMartin Odersky2016-10-0210-10/+81
| | | | | | | | | | | | | | | | | | | | - allow inline as an alternative to final for vals (final is retained for backwards compatibility for now) - allow inline for parameters - check that rhs of inline value has a constant type - check that arguments to inline value parameters have constant type - check that inline members are not deferred - make inline members effectively final
| * Add accessibility check for type of newMartin Odersky2016-10-022-1/+1
| |
| * Fix problem related to accessor generation under separate compilationMartin Odersky2016-10-026-10/+43
| | | | | | | | | | | | | | Accessors were multiply generated under separate compilation. To fix this, the resident body of an inlined function is now the same as the inlined body. Both use accessors where necessary. Previously, only the inlined body used accessors.
| * Make inline methods and field effectively finalMartin Odersky2016-10-022-2/+2
| |