From 3eae42f4cc89fde2fffe2861c024341cf1ce700b Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 2 Feb 2007 18:35:47 +0000 Subject: added comment & test case --- test/files/neg/sensitive.check | 4 ++++ test/files/neg/sensitive.scala | 19 +++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 test/files/neg/sensitive.check create mode 100644 test/files/neg/sensitive.scala (limited to 'test') diff --git a/test/files/neg/sensitive.check b/test/files/neg/sensitive.check new file mode 100644 index 0000000000..aa7c65a3b1 --- /dev/null +++ b/test/files/neg/sensitive.check @@ -0,0 +1,4 @@ +sensitive.scala:17: error: constructor Sensitive cannot be accessed in object Attacker + val y = new Sensitive() + ^ +one error found diff --git a/test/files/neg/sensitive.scala b/test/files/neg/sensitive.scala new file mode 100644 index 0000000000..f435a385e1 --- /dev/null +++ b/test/files/neg/sensitive.scala @@ -0,0 +1,19 @@ +class Certificate{} + +object Admin extends Certificate; + +class SecurityViolationException extends Exception + +object Sensitive { + def makeSensitive(credentials: Certificate): Sensitive = + if (credentials == Admin) new Sensitive() + else throw new SecurityViolationException +} +class Sensitive private () { +} + +object Attacker { + val x = Sensitive.makeSensitive(null) + val y = new Sensitive() +} + -- cgit v1.2.3