Fix for issue 2088: Java version 5 is same as 1.5 and 6 is same as 1.6.
authorgaryo <garyo@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 29 May 2009 01:16:27 +0000 (01:16 +0000)
committergaryo <garyo@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 29 May 2009 01:16:27 +0000 (01:16 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@4212 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/engine/SCons/Tool/JavaCommon.py
src/engine/SCons/Tool/JavaCommonTests.py

index 6f513f1d6a24a61d35b66e21804103281db60baa..cc2c536f15baf862cbb61497ca2338b6c2894b0f 100644 (file)
@@ -65,7 +65,8 @@ if java_parsing:
         interfaces, and anonymous inner classes."""
         def __init__(self, version=default_java_version):
 
-            if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6'):
+            if not version in ('1.1', '1.2', '1.3','1.4', '1.5', '1.6',
+                               '5', '6'):
                 msg = "Java version %s not supported" % version
                 raise NotImplementedError, msg
 
@@ -171,7 +172,7 @@ if java_parsing:
             if self.version in ('1.1', '1.2', '1.3', '1.4'):
                 clazz = self.listClasses[0]
                 self.listOutputs.append('%s$%d' % (clazz, self.nextAnon))
-            elif self.version in ('1.5', '1.6'):
+            elif self.version in ('1.5', '1.6', '5', '6'):
                 self.stackAnonClassBrackets.append(self.brackets)
                 className = []
                 className.extend(self.listClasses)
index 1d01087963450dad53cbc15ba510526d05ccd85a..92649b22237cd333a6e75e5310666cec0fc0a066 100644 (file)
@@ -184,6 +184,23 @@ class Private {
                  ]
         assert classes == expect, (expect, classes)
 
+        pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '5')
+        assert pkg_dir is None, pkg_dir
+        expect = [
+                   'Empty',
+                   'Listener',
+                   'Test$Inner$1',
+                   'Test$Inner',
+                   'Test$Inner2',
+                   'Test$Inner3',
+                   'Test$1',
+                   'Test$1$1',
+                   'Test',
+                   'Private$1',
+                   'Private',
+                 ]
+        assert classes == expect, (expect, classes)
+
 
 
     def test_comments(self):
@@ -386,6 +403,9 @@ public class Foo {
         pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '1.5')
         assert classes == ['Foo$1', 'Foo$1$1', 'Foo'], classes
 
+        pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '6')
+        assert classes == ['Foo$1', 'Foo$1$1', 'Foo'], classes
+
 
 
     def test_nested_anonymous_inner_classes(self):
@@ -433,6 +453,10 @@ public class NestedExample
         expect = [ 'NestedExample$1', 'NestedExample$1$1', 'NestedExample' ]
         assert expect == classes, (expect, classes)
 
+        pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '6')
+        expect = [ 'NestedExample$1', 'NestedExample$1$1', 'NestedExample' ]
+        assert expect == classes, (expect, classes)
+
     def test_private_inner_class_instantiation(self):
         """Test anonymous inner class generated by private instantiation"""
 
@@ -535,6 +559,9 @@ public class Foo
         pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '1.6')
         assert expect == classes, (expect, classes)
 
+        pkg_dir, classes = SCons.Tool.JavaCommon.parse_java(input, '6')
+        assert expect == classes, (expect, classes)
+
 
 
 if __name__ == "__main__":