diff options
author | Jonathan Rodriguez <son.of.yhwh@gmail.com> | 2016-02-16 15:04:47 -0500 |
---|---|---|
committer | Jonathan Rodriguez <son.of.yhwh@gmail.com> | 2016-02-16 15:04:47 -0500 |
commit | 697e5e38be89b3477313e86fe57ac3ba49e2344e (patch) | |
tree | a1513bbef19eaf8a8026d540ceee87097cc3be97 /src/dotty/tools | |
parent | 5e8023335e641c9c05c6517a82764571e7ef6386 (diff) | |
download | dotty-697e5e38be89b3477313e86fe57ac3ba49e2344e.tar.gz dotty-697e5e38be89b3477313e86fe57ac3ba49e2344e.tar.bz2 dotty-697e5e38be89b3477313e86fe57ac3ba49e2344e.zip |
Support for extending the Typer
Diffstat (limited to 'src/dotty/tools')
-rw-r--r-- | src/dotty/tools/dotc/typer/Namer.scala | 2 | ||||
-rw-r--r-- | src/dotty/tools/dotc/typer/Typer.scala | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Namer.scala b/src/dotty/tools/dotc/typer/Namer.scala index ecbec7d07..c8d2b3418 100644 --- a/src/dotty/tools/dotc/typer/Namer.scala +++ b/src/dotty/tools/dotc/typer/Namer.scala @@ -508,7 +508,7 @@ class Namer { typer: Typer => if (sym is Module) moduleValSig(sym) else valOrDefDefSig(original, sym, Nil, Nil, identity)(localContext(sym).setNewScope) case original: DefDef => - val typer1 = new Typer + val typer1 = ctx.typer.newLikeThis nestedTyper(sym) = typer1 typer1.defDefSig(original, sym)(localContext(sym).setTyper(typer1)) case original: TypeDef => diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index 6a2ff30fa..b886d8663 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -68,6 +68,8 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit */ private var importedFromRoot: Set[Symbol] = Set() + def newLikeThis: Typer = new Typer + /** Attribute an identifier consisting of a simple name or wildcard * * @param tree The tree representing the identifier. |