diff options
author | Benoit Foucher <benoit@zeroc.com> | 2017-03-06 16:35:36 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2017-03-06 16:35:36 +0100 |
commit | f5f9c9de9ff1eba12d8780281303dd620c9b8db1 (patch) | |
tree | 07645df707e4697e1e541f8414201f9a2196e52c | |
parent | Fix (ICE-7457) - IceGridGUI NPE (diff) | |
download | ice-f5f9c9de9ff1eba12d8780281303dd620c9b8db1.tar.bz2 ice-f5f9c9de9ff1eba12d8780281303dd620c9b8db1.tar.xz ice-f5f9c9de9ff1eba12d8780281303dd620c9b8db1.zip |
Fixed ICE-7639 - Java generated code bug
-rw-r--r-- | CHANGELOG-3.6.md | 9 | ||||
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 4 | ||||
-rw-r--r-- | cpp/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | csharp/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | java/test/src/main/java/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | js/package.json | 4 | ||||
-rw-r--r-- | js/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | objective-c/test/Ice/operations/OperationsTest.ice | 15 | ||||
-rw-r--r-- | php/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | python/test/Ice/operations/Test.ice | 15 | ||||
-rw-r--r-- | ruby/test/Ice/operations/Test.ice | 15 |
11 files changed, 133 insertions, 4 deletions
diff --git a/CHANGELOG-3.6.md b/CHANGELOG-3.6.md index a834ebafd52..7e49353d455 100644 --- a/CHANGELOG-3.6.md +++ b/CHANGELOG-3.6.md @@ -11,6 +11,9 @@ particular aspect of Ice. - [Changes in Ice 3.6.4](#changes-in-ice-364) - [General Changes](#general-changes) - [C++ Changes](#c-changes) + - [Java Changes](#java-changes) + - [JavaScript Changes](#javascript-changes) + - [C# Changes](#c-changes-2) - [Changes in Ice 3.6.3](#changes-in-ice-363) - [General Changes](#general-changes) - [C++ Changes](#c-changes) @@ -63,6 +66,12 @@ These are the changes since Ice 3.6.4. - Fixed bug which would cause an IceUtil::NullHandleException to be raised when using a proxy configured with ice_invocationTimeout(-2) with collocated calls. +## Java Changes + +- Fixed generated code bug which would cause a build failure if an interface + inherited from an interface from another module and if this interface had + operations returning multiple values. + ## JavaScript Changes - Fixed a bug in Ice.Long toNumber implementation where negative integers diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 7f88d0f4cfe..6d7cd242ced 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -395,7 +395,7 @@ Slice::JavaVisitor::getAsyncCallbackInterface(const OperationPtr& op, const stri else { ClassDefPtr cl = ClassDefPtr::dynamicCast(op->container()); - return "_Callback_" + cl->name() + "_" + op->name(); + return getPackage(cl) + "._Callback_" + cl->name() + "_" + op->name(); } } @@ -468,7 +468,7 @@ Slice::JavaVisitor::getAsyncCallbackBaseClass(const OperationPtr& op, bool funct { os << "IceInternal.TwowayCallback implements "; } - os << "_Callback_" << cl->name() << "_" << op->name(); + os << getPackage(cl) << "._Callback_" << cl->name() << "_" << op->name(); return os.str(); } } diff --git a/cpp/test/Ice/operations/Test.ice b/cpp/test/Ice/operations/Test.ice index 35f5637afa2..4e997f5db5f 100644 --- a/cpp/test/Ice/operations/Test.ice +++ b/cpp/test/Ice/operations/Test.ice @@ -414,3 +414,18 @@ const ["cpp:type:wstring"]string wsu1 = "\u0128\u0178\u00FF\u0100\u1F00\U0001019 const ["cpp:type:wstring"]string wsu2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/csharp/test/Ice/operations/Test.ice b/csharp/test/Ice/operations/Test.ice index 1158786a2e3..ccafaf89b60 100644 --- a/csharp/test/Ice/operations/Test.ice +++ b/csharp/test/Ice/operations/Test.ice @@ -346,3 +346,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/java/test/src/main/java/test/Ice/operations/Test.ice b/java/test/src/main/java/test/Ice/operations/Test.ice index e4ab46e9c28..2a50c78d450 100644 --- a/java/test/src/main/java/test/Ice/operations/Test.ice +++ b/java/test/src/main/java/test/Ice/operations/Test.ice @@ -344,3 +344,18 @@ const string su0 = "ĨŸÿĀἀ𐆔𐅪𐆘🍀🍁🍂🍃"; const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +};
\ No newline at end of file diff --git a/js/package.json b/js/package.json index 29c2ee6c0eb..2fc2f0efed3 100644 --- a/js/package.json +++ b/js/package.json @@ -27,13 +27,13 @@ "gulp-minify-css": "^1.2.3", "gulp-newer": "^1.1.0", "gulp-open": "^1.0.0", - "gulp-sourcemaps": "^1.5.2", + "gulp-sourcemaps": "^2.2.0", "gulp-uglify": "^1.5.1", "gulp-util": "^3.0.5", "gulp-watch": "^4.2.4", "hogan.js": "^3.0.2", "jshint": "^2.8.0", - "source-map": "^0.5.3", + "source-map": "^0.5.6", "through2": "^2.0.0", "vinyl-paths": "^2.1.0" }, diff --git a/js/test/Ice/operations/Test.ice b/js/test/Ice/operations/Test.ice index 69713c5b6fd..6e219103c43 100644 --- a/js/test/Ice/operations/Test.ice +++ b/js/test/Ice/operations/Test.ice @@ -342,3 +342,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/objective-c/test/Ice/operations/OperationsTest.ice b/objective-c/test/Ice/operations/OperationsTest.ice index 8f7248ce985..5f0e7dd42fe 100644 --- a/objective-c/test/Ice/operations/OperationsTest.ice +++ b/objective-c/test/Ice/operations/OperationsTest.ice @@ -387,3 +387,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/php/test/Ice/operations/Test.ice b/php/test/Ice/operations/Test.ice index 23a4f1ba4b1..ab935c4522c 100644 --- a/php/test/Ice/operations/Test.ice +++ b/php/test/Ice/operations/Test.ice @@ -320,3 +320,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/python/test/Ice/operations/Test.ice b/python/test/Ice/operations/Test.ice index 82e7cba1dfc..1dc9bae6cfb 100644 --- a/python/test/Ice/operations/Test.ice +++ b/python/test/Ice/operations/Test.ice @@ -341,3 +341,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +}; diff --git a/ruby/test/Ice/operations/Test.ice b/ruby/test/Ice/operations/Test.ice index b053ebf9a46..add85cd4fed 100644 --- a/ruby/test/Ice/operations/Test.ice +++ b/ruby/test/Ice/operations/Test.ice @@ -339,3 +339,18 @@ const string su1 = "\u0128\u0178\u00FF\u0100\u1F00\U00010194\U0001016A\U00010198 const string su2 = "\U00000128\U00000178\U000000FF\U00000100\U00001F00\U00010194\U0001016A\U00010198\U0001F340\U0001F341\U0001F342\U0001F343"; }; + +module Test2 +{ + +/** + * + * Makes sure that proxy operations are correctly generated when extending an interface from + * a different module (ICE-7639). + * + **/ +class MyDerivedClass extends Test::MyClass +{ +}; + +};
\ No newline at end of file |