diff --git a/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn b/Semantic_Analizer_Tests/src/Basic_tests/OopNegativeSemanticTest.ttcn index ebbc52711c4548da1f909da78f629536ccffff96..71179622df422819fa3b8e189464bac53c22687f 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 f0d5228a38cc352bebf3b9c30112688bf9713bde..859b2fadfad6da833bd1257b07c05d4a44b2b5ed 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 d66c961baa0323eb2b487bdeb16bfbf2e352530d..a1221f4c8421c291c06478fa9de8d1cf6967fa30 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));