From 100b45d7bd6f81a7bc870b655c045ea5c84c1388 Mon Sep 17 00:00:00 2001 From: totycro Date: Sun, 26 Jun 2011 12:59:41 +0200 Subject: Auskommentieren kovariant-fail eingebaut --- bank-eiffel/bank.e | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/bank-eiffel/bank.e b/bank-eiffel/bank.e index 223f60f..67ee067 100644 --- a/bank-eiffel/bank.e +++ b/bank-eiffel/bank.e @@ -53,8 +53,28 @@ feature {NONE} -- Initialization feature -- Basic operations + fail_kovariant + local + r1: RETIREE + s1: STUDENT + stdAcc1: STUDENTACCOUNT + acc1: ACCOUNT + + do + -- studi account mit normalen studi erstellen + create r1.make("a", "b") + create s1.make("a", "b") + create stdAcc1.make (s1, 0.01, 0.02, -50.0, [0.01, 0.022], [0.01, 0.02], [-100.0, -50.0]) + acc1 := stdAcc1 -- upcast, acc1 erwartet PERSON + -- kompiler akzeptiert das folgende, weil PERSON erwartet wird + -- eigtl ist es eben ein studi acc, der RETIREES nicht akzeptiert, also laufzeitfehler + acc1.add_authorized_signer (r1) + end + session do + -- das auskommentieren, dann bekommt ihr eine exception wegen kovariant (das ist ein methodenaufruf): + --fail_kovariant from until over -- cgit v1.2.3