aboutsummaryrefslogtreecommitdiff
path: root/test/test/sigtest.sc
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-04-05 12:15:45 +0200
committerMartin Odersky <odersky@gmail.com>2013-04-05 12:15:45 +0200
commitf8d5c8401ab7e4a31c9f4430ad64e27d8cb08bac (patch)
tree64d0916d98f35a63da221bbdf95d44bc4467e759 /test/test/sigtest.sc
parent2dcae86ae6937ad2f8cd8b05734eb9feb964404e (diff)
downloaddotty-f8d5c8401ab7e4a31c9f4430ad64e27d8cb08bac.tar.gz
dotty-f8d5c8401ab7e4a31c9f4430ad64e27d8cb08bac.tar.bz2
dotty-f8d5c8401ab7e4a31c9f4430ad64e27d8cb08bac.zip
Refactored test framework
Moves worksheets to test. Factored out class DottyTest and made it usable from worksheets. Added worksheet test for signatures.
Diffstat (limited to 'test/test/sigtest.sc')
-rw-r--r--test/test/sigtest.sc31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/test/sigtest.sc b/test/test/sigtest.sc
new file mode 100644
index 000000000..44fa4f110
--- /dev/null
+++ b/test/test/sigtest.sc
@@ -0,0 +1,31 @@
+package test
+
+import dotty.tools.dotc._
+import core._
+import Decorators._
+import Types._, Symbols._
+
+object sigtest extends DottyTest {
+ println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet
+ val int = ctx.requiredClass("scala.Int") //> int : dotty.tools.dotc.core.Symbols.ClassSymbol = class Int
+ int.signature //> res0: dotty.tools.dotc.core.Denotations.Signature = List()
+ val intmeth = methType("x")(int.symbolicRef)() //> intmeth : dotty.tools.dotc.core.Types.MethodType = MethodType(List(x), List
+ //| (TypeRef(ThisType(module class scala),Int)), TypeRef(ThisType(module class s
+ //| cala),Unit))
+ intmeth.signature //> res1: dotty.tools.dotc.core.Denotations.Signature = List(Int)
+ val arraymeth = methType("x")(defn.ArrayType.appliedTo(int.symbolicRef))()
+ //> arraymeth : dotty.tools.dotc.core.Types.MethodType = MethodType(List(x), Li
+ //| st(RefinedType(TypeRef(ThisType(module class scala),Array), scala$Array$$T,
+ //| TypeAlias(TypeRef(ThisType(module class scala),Int)) | hash = -634207123)),
+ //| TypeRef(ThisType(module class scala),Unit))
+ arraymeth.signature //> res2: dotty.tools.dotc.core.Denotations.Signature = List(Object[])
+ val curriedmeth = methType("x", "y")(defn.IntType, defn.BooleanType)(methType("z")(defn.ArrayType.appliedTo(defn.IntType))())
+ //> curriedmeth : dotty.tools.dotc.core.Types.MethodType = MethodType(List(x, y
+ //| ), List(TypeRef(ThisType(module class scala),Int), TypeRef(ThisType(module c
+ //| lass scala),Boolean)), MethodType(List(z), List(RefinedType(TypeRef(ThisType
+ //| (module class scala),Array), scala$Array$$T, TypeAlias(TypeRef(ThisType(modu
+ //| le class scala),Int)) | hash = -250095115)), TypeRef(ThisType(module class s
+ //| cala),Unit)))
+ curriedmeth.signature //> res3: dotty.tools.dotc.core.Denotations.Signature = List(Int, Boolean, Objec
+ //| t[])
+} \ No newline at end of file