From 497f7a33dc07d88c27367c974161852b215e1480 Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Fri, 19 Jun 2009 01:07:17 -0400 Subject: [PATCH] tests: add base_var_assignment_flow.nit Signed-off-by: Jean Privat --- tests/base_var_assignment_flow.nit | 68 +++++++++++++++++++++++++++ tests/sav/base_var_assignment_flow.sav | 5 ++ tests/sav/base_var_assignment_flow_alt1.sav | 1 + tests/sav/base_var_assignment_flow_alt4.sav | 1 + tests/sav/base_var_assignment_flow_alt5.sav | 1 + tests/sav/base_var_assignment_flow_alt6.sav | 1 + 6 files changed, 77 insertions(+) create mode 100644 tests/base_var_assignment_flow.nit create mode 100644 tests/sav/base_var_assignment_flow.sav create mode 100644 tests/sav/base_var_assignment_flow_alt1.sav create mode 100644 tests/sav/base_var_assignment_flow_alt4.sav create mode 100644 tests/sav/base_var_assignment_flow_alt5.sav create mode 100644 tests/sav/base_var_assignment_flow_alt6.sav diff --git a/tests/base_var_assignment_flow.nit b/tests/base_var_assignment_flow.nit new file mode 100644 index 0000000..a05a167 --- /dev/null +++ b/tests/base_var_assignment_flow.nit @@ -0,0 +1,68 @@ +# This file is part of NIT ( http://www.nitlanguage.org ). +# +# Copyright 2009 Jean Privat +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import end + +interface Object + meth output is abstract +end + +universal Int + redef meth output is intern +end + +universal Bool + redef meth output is intern +end + +meth maybe: Bool do return false + +var a: Object +#alt1#a.output +a = 1 +a.output + +var b = a +b.output + +var c: Object +if maybe then + c = 2 #!alt2# #!alt4# +else + c = 2 #!alt3# #!alt4# +end +c.output + +var d: Object +if maybe then + d = 3 + d.output +end +#alt5#d.output + +var e: Object +do + e = 4 + e.output +end +e.output + +var f: Object +while maybe do + f = 5 + f.output +end +#alt6#f.output diff --git a/tests/sav/base_var_assignment_flow.sav b/tests/sav/base_var_assignment_flow.sav new file mode 100644 index 0000000..efb41c0 --- /dev/null +++ b/tests/sav/base_var_assignment_flow.sav @@ -0,0 +1,5 @@ +1 +1 +2 +4 +4 diff --git a/tests/sav/base_var_assignment_flow_alt1.sav b/tests/sav/base_var_assignment_flow_alt1.sav new file mode 100644 index 0000000..8f78919 --- /dev/null +++ b/tests/sav/base_var_assignment_flow_alt1.sav @@ -0,0 +1 @@ +alt/base_var_assignment_flow_alt1.nit:34,1--1: Error: variable 'a' is possibly unset. diff --git a/tests/sav/base_var_assignment_flow_alt4.sav b/tests/sav/base_var_assignment_flow_alt4.sav new file mode 100644 index 0000000..be5fb12 --- /dev/null +++ b/tests/sav/base_var_assignment_flow_alt4.sav @@ -0,0 +1 @@ +alt/base_var_assignment_flow_alt4.nit:45,1--1: Error: variable 'c' is possibly unset. diff --git a/tests/sav/base_var_assignment_flow_alt5.sav b/tests/sav/base_var_assignment_flow_alt5.sav new file mode 100644 index 0000000..f8078f9 --- /dev/null +++ b/tests/sav/base_var_assignment_flow_alt5.sav @@ -0,0 +1 @@ +alt/base_var_assignment_flow_alt5.nit:54,1--1: Error: variable 'd' is possibly unset. diff --git a/tests/sav/base_var_assignment_flow_alt6.sav b/tests/sav/base_var_assignment_flow_alt6.sav new file mode 100644 index 0000000..23bad0d --- /dev/null +++ b/tests/sav/base_var_assignment_flow_alt6.sav @@ -0,0 +1 @@ +alt/base_var_assignment_flow_alt6.nit:68,1--1: Error: variable 'f' is possibly unset. -- 1.7.9.5