From e5b07374a9902262934d75ebe727e599b2c59ee4 Mon Sep 17 00:00:00 2001 From: Miklos Magyari Date: Fri, 9 Jul 2021 12:37:57 +0200 Subject: [PATCH] OOP: added some more tests for member id reuse Signed-off-by: Miklos Magyari --- .../src/Basic_tests/OopNegativeSemanticTest.ttcn | 10 ++++++++++ .../src/Basic_tests/OopPositiveBasicSyntax.ttcn | 9 +++++++++ .../statictests/Basic_tests/OOP_Semantic_tests.java | 6 ++++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn b/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn index ebbc52711..71179622d 100755 --- a/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn +++ b/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn @@ -66,6 +66,16 @@ type class OuterClass { } } +type class ReuseClass { + var charstring vl_orig := "abc"; + + function f_reuse_id(in integer pl_param) { + var integer vl_orig := 1; + vl_orig := 2; + vl_orig := "abc"; // type mismatch: local definition takes precedence + } +} + const integer cg_uninitConst1; type class SubFunctionClass extends BaseFunctionClass { diff --git a/Semantic_Analizer_Tests/src/Basic_tests/OopPositiveBasicSyntax.ttcn b/Semantic_Analizer_Tests/src/Basic_tests/OopPositiveBasicSyntax.ttcn index f0d5228a3..859b2fadf 100644 --- a/Semantic_Analizer_Tests/src/Basic_tests/OopPositiveBasicSyntax.ttcn +++ b/Semantic_Analizer_Tests/src/Basic_tests/OopPositiveBasicSyntax.ttcn @@ -147,6 +147,15 @@ type class ReuseClass { function f_reuse_in_body(integer pl_param) { const float cl_orig := 0.1; } + + // test method id reuse in a nested StatmentBlock + function f_reuse_in_body2(integer pl_param) { + { + { + const float cl_orig := 0.1; + } + } + } } type class SubClass4 extends SuperBaseClass { diff --git a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Semantic_tests.java b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Semantic_tests.java index d66c961ba..a1221f4c8 100755 --- a/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Semantic_tests.java +++ b/org.eclipse.titan.regressiontests/src/org/eclipse/titan/regressiontests/designer/statictests/Basic_tests/OOP_Semantic_tests.java @@ -41,7 +41,7 @@ public class OOP_Semantic_tests { private ArrayList oopNegative_ttcn_initializer() { //oopNegativeSemanticTest.ttcn - ArrayList markersToCheck = new ArrayList(7); + ArrayList markersToCheck = new ArrayList(8); int lineNum = 28; markersToCheck.add(new MarkerToCheck("class type expected", lineNum, IMarker.SEVERITY_ERROR)); lineNum += 15; @@ -50,7 +50,9 @@ public class OOP_Semantic_tests { markersToCheck.add(new MarkerToCheck("Local Definiton `vl_b' collides with definition inherited from class type `@classesNegativeSemantic.SubClass'", lineNum, IMarker.SEVERITY_ERROR)); lineNum += 17; markersToCheck.add(new MarkerToCheck("integer value was expected", lineNum, IMarker.SEVERITY_ERROR)); - lineNum += 5; + lineNum += 11; + markersToCheck.add(new MarkerToCheck("integer value was expected", lineNum, IMarker.SEVERITY_ERROR)); + lineNum += 4; markersToCheck.add(new MarkerToCheck("Constant must be initialized", lineNum, IMarker.SEVERITY_ERROR)); lineNum += 17; markersToCheck.add(new MarkerToCheck("There is no visible definition with name `vl_gsc' in module `classesNegativeSemantic'", lineNum, IMarker.SEVERITY_ERROR)); -- GitLab