-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Transform/extension methods #140
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
DarkDimius
merged 47 commits into
scala:master
from
dotty-staging:transform/extensionMethods
Jul 17, 2014
Merged
Changes from all commits
Commits
Show all changes
47 commits
Select commit
Hold shift + click to select a range
d8864d3
Add cloneScope method and handle versioning of ClassInfo#decls
odersky 65eb50f
Make SuperAccessorName and extractor.
odersky 8b93f7b
Added MacroTransform as a transformer template for macro phases.
odersky 2e15951
New utitility methods in tpd.
odersky a2a5a57
ThisType trees have their class as a denotation
odersky 0cf64e8
Error method for implementation restrictions
odersky 8112a39
Improved printing of flags
odersky 3ab2784
Added phase: SuperAccessors
odersky f0249f2
Rename SignedType -> MethodicType
odersky 968d16c
Fixed problem with installAfter
odersky a47b8b4
Removed test case
odersky efe4f7e
Changed PostTyperTransformer scheme
odersky db88bf0
Various cleanups and utility additions
odersky 3570030
ExtensionMethods phase and TypeUtils
odersky 3001346
Added infix methods for some tree constructions
odersky 1fdc188
New micro phase: Literalize
odersky 5428549
New Flag: Inline
odersky 4aa934b
Revised purity tests in TreeInfo
odersky ab8d873
Fix bad type passed to indexOf.
odersky 3eabbb7
Move valueclass functionality into its own ValueClass module.
odersky 8b1e58f
Add definedPeriodsString method for disgnostics.
odersky 8d41e9d
Make TypeParamCreation flags depend on owner
odersky 7b13a86
Invalidate member caches in different periods
odersky 05120fc
Fixes to MacroTransform and TreeTransformer
odersky cd82c85
Make more Definition methods depend on implicit context argument
odersky 34202eb
Avoid some classes of StaleSymbol errors
odersky 1ac95a7
Add unique ids for definitions
odersky 1bb16c4
Small cleanups and additions.
odersky 290343c
Fixes to TypeUtils
odersky dce9d6d
New phase: ElimRepeated
odersky 1d4c5f6
Revamped TreeTypeMap
odersky fc784b8
Enabled ExtensionMethods
odersky 4a08703
Silenced ElimRepeated.
odersky 58f249d
Simplification: dynamicSignature instead of toDynamic
odersky ec972b7
Fix problem with dynamicSignature.
odersky 47bf266
Made ExtensionMethods work as an InfoTransformer
odersky 90965ab
Semantic printing
odersky dee5f09
Avoid forming SeqLiterals with singleton type element.
odersky 8a0ce6d
Fixes to TreeTypeMap
odersky 65a8570
Fixes to ReTyper
odersky 3f3581c
Make ExtensionMethods not rely on TailRec
odersky 57d69f8
Refactored reusable full parameterization code into base trait.
odersky ace968d
Fix to rewire types
odersky 37c6e42
Fixed problem with missing denotations in polyDefDef
odersky 7c56a5b
Make self types always include a reference to the class
odersky 491e076
Handle selftypes in FullParameterization
odersky 736dceb
Made FullParameterization more customizable
odersky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package dotty.tools.dotc | ||
package transform | ||
|
||
import core._ | ||
import TreeTransforms.{TransformerInfo, TreeTransform, TreeTransformer} | ||
import DenotTransformers._ | ||
|
||
/** Widens all private[this] and protected[this] qualifiers to just private/protected */ | ||
abstract class ElimLocals extends TreeTransform with InfoTransformer { thisTransformer => | ||
|
||
// TODO complete | ||
|
||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lazy vals aren't actually idempotent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, but we'd like to treat them as such for evalOnce, right? Looks like we need a better effect analysis to make any progress here.