aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Symbols.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-04-20 14:04:02 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-04-20 14:06:43 +0200
commit815516b239f6ec6d649e71c355b803a5620abe97 (patch)
treeb4073ca60831200162afa3b43b5a9f073f566cc5 /src/dotty/tools/dotc/core/Symbols.scala
parent5f31ce4633b76b610a397d587303dba1ce5a9b02 (diff)
downloaddotty-815516b239f6ec6d649e71c355b803a5620abe97.tar.gz
dotty-815516b239f6ec6d649e71c355b803a5620abe97.tar.bz2
dotty-815516b239f6ec6d649e71c355b803a5620abe97.zip
Implement getClassIfDefined.
Diffstat (limited to 'src/dotty/tools/dotc/core/Symbols.scala')
-rw-r--r--src/dotty/tools/dotc/core/Symbols.scala6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/src/dotty/tools/dotc/core/Symbols.scala
index 47342cb56..52040bcfd 100644
--- a/src/dotty/tools/dotc/core/Symbols.scala
+++ b/src/dotty/tools/dotc/core/Symbols.scala
@@ -325,6 +325,12 @@ trait Symbols { this: Context =>
def requiredClass(path: PreName): ClassSymbol =
base.staticRef(path.toTypeName).requiredSymbol(_.isClass).asClass
+ /** Get ClassSymbol if class is either defined in current compilation run
+ * or present on classpath.
+ * Returns NoSymbol otherwise. */
+ def getClassIfDefined(path: PreName): Symbol =
+ base.staticRef(path.toTypeName, generateStubs = false).requiredSymbol(_.isClass, generateStubs = false)
+
def requiredModule(path: PreName): TermSymbol =
base.staticRef(path.toTermName).requiredSymbol(_ is Module).asTerm