diff options
73 files changed, 1530 insertions, 146 deletions
diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp index 8a729092a71..a38c8c4bbf9 100644 --- a/cpp/src/Slice/CPlusPlusUtil.cpp +++ b/cpp/src/Slice/CPlusPlusUtil.cpp @@ -752,13 +752,13 @@ Slice::typeToString(const TypePtr& type, const string& scope, const StringList& // Non local classes without operations map to the base // proxy class shared_ptr<Ice::ObjectPrx> // - if(def && !def->isInterface() && def->allOperations().empty()) + if(!def || def->isAbstract()) { - return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope); + return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">"; } else { - return "::std::shared_ptr<" + getUnqualified(fixKwd(proxy->_class()->scoped() + "Prx"), scope) + ">"; + return getUnqualified(cpp11BuiltinTable[Builtin::KindObjectProxy], scope); } } else diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp index 327e4b92a5d..78dd64f2080 100644 --- a/cpp/src/Slice/JavaUtil.cpp +++ b/cpp/src/Slice/JavaUtil.cpp @@ -3764,8 +3764,7 @@ Slice::JavaGenerator::typeToString(const TypePtr& type, if(proxy) { ClassDefPtr def = proxy->_class()->definition(); - assert(def); - if(def->isAbstract()) + if(!def || def->isAbstract()) { return getUnqualified(proxy->_class(), package, "", "Prx"); } diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index e49c20f1c50..bd9d210bb47 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -6835,11 +6835,6 @@ Slice::Unit::parse(const string& filename, FILE* file, bool debug) popContainer(); assert(_definitionContextStack.size() == 1); popDefinitionContext(); - - if(!checkUndefinedTypes()) - { - status = EXIT_FAILURE; - } } Slice::unit = 0; @@ -6938,113 +6933,6 @@ Slice::Unit::eraseWhiteSpace(string& s) } } -bool -Slice::Unit::checkUndefinedTypes() -{ - class Visitor : public ParserVisitor - { - public: - - Visitor(int& errors) : - _errors(errors), - _local(false) - { - } - - virtual bool visitClassDefStart(const ClassDefPtr& p) - { - _local = p->isLocal(); - return true; - } - - virtual bool visitExceptionStart(const ExceptionPtr& p) - { - _local = p->isLocal(); - return true; - } - - virtual bool visitStructStart(const StructPtr& p) - { - _local = p->isLocal(); - return true; - } - - virtual void visitOperation(const OperationPtr& p) - { - if(p->returnType()) - { - checkUndefined(p->returnType(), "return type", p->file(), p->line()); - } - ParamDeclList params = p->parameters(); - for(ParamDeclList::const_iterator q = params.begin(); q != params.end(); ++q) - { - checkUndefined((*q)->type(), "parameter " + (*q)->name(), (*q)->file(), (*q)->line()); - } - } - - virtual void visitParamDecl(const ParamDeclPtr& p) - { - checkUndefined(p->type(), "parameter " + p->name(), p->file(), p->line()); - } - - virtual void visitDataMember(const DataMemberPtr& p) - { - checkUndefined(p->type(), "member " + p->name(), p->file(), p->line()); - } - - virtual void visitSequence(const SequencePtr& p) - { - _local = p->isLocal(); - checkUndefined(p->type(), "element type", p->file(), p->line()); - } - - virtual void visitDictionary(const DictionaryPtr& p) - { - _local = p->isLocal(); - checkUndefined(p->keyType(), "key type", p->file(), p->line()); - checkUndefined(p->valueType(), "value type", p->file(), p->line()); - } - - private: - - void checkUndefined(const TypePtr& type, const string& desc, const string& file, const string& line) - { - // - // See ICE-6867. Any use of a proxy requires the full type definition, as does any - // use of a class in a non-local context. - // - ProxyPtr p = ProxyPtr::dynamicCast(type); - if(p) - { - const ClassDeclPtr cl = p->_class(); - if(!cl->definition()) - { - ostringstream ostr; - ostr << desc << " uses a proxy for undefined type `" << cl->scoped() << "'"; - emitError(file, line, ostr.str()); - _errors++; - } - } - - ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type); - if(cl && !cl->definition() && !_local) - { - ostringstream ostr; - ostr << desc << " refers to undefined type `" << cl->scoped() << "'"; - emitError(file, line, ostr.str()); - _errors++; - } - } - - int& _errors; - bool _local; - }; - - Visitor v(_errors); - visit(&v, true); - return _errors == 0; -} - // ---------------------------------------------------------------------- // CICompare // ---------------------------------------------------------------------- diff --git a/cpp/src/Slice/Parser.h b/cpp/src/Slice/Parser.h index 77bbce0c6e1..793416cb44c 100644 --- a/cpp/src/Slice/Parser.h +++ b/cpp/src/Slice/Parser.h @@ -1118,7 +1118,6 @@ private: Unit(bool, bool, bool, bool, const StringList&); static void eraseWhiteSpace(::std::string&); - bool checkUndefinedTypes(); bool _ignRedefs; bool _all; diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp index eea8791ec4c..af1f273ac6d 100644 --- a/cpp/src/Slice/RubyUtil.cpp +++ b/cpp/src/Slice/RubyUtil.cpp @@ -1224,7 +1224,7 @@ Slice::Ruby::CodeVisitor::writeType(const TypePtr& p) if(prx) { ClassDefPtr def = prx->_class()->definition(); - if(def->isInterface() || def->allOperations().size() > 0) + if(!def || def->isAbstract()) { _out << getAbsolute(prx->_class(), IdentToUpper, "T_") << "Prx"; } diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index 50459105167..2f0d27832eb 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -978,6 +978,7 @@ Slice::Gen::generate(const UnitPtr& p) { string md = *q++; static const string includePrefix = "cpp:include:"; + static const string sourceIncludePrefix = "cpp:source-include:"; if(md.find(includePrefix) == 0) { if(md.size() > includePrefix.size()) @@ -992,6 +993,20 @@ Slice::Gen::generate(const UnitPtr& p) globalMetaData.remove(md); } } + else if(md.find(sourceIncludePrefix) == 0) + { + if(md.size() > sourceIncludePrefix.size()) + { + C << nl << "#include <" << md.substr(sourceIncludePrefix.size()) << ">"; + } + else + { + ostringstream ostr; + ostr << "ignoring invalid global metadata `" << md << "'"; + dc->warning(InvalidMetaData, file, -1, ostr.str()); + globalMetaData.remove(md); + } + } } dc->setMetaData(globalMetaData); } @@ -5371,6 +5386,7 @@ Slice::Gen::MetaDataVisitor::visitUnitStart(const UnitPtr& p) if(s.find(prefix) == 0) { static const string cppIncludePrefix = "cpp:include:"; + static const string cppSourceIncludePrefix = "cpp:source-include"; static const string cppHeaderExtPrefix = "cpp:header-ext:"; static const string cppSourceExtPrefix = "cpp:source-ext:"; static const string cppDllExportPrefix = "cpp:dll-export:"; @@ -5380,6 +5396,10 @@ Slice::Gen::MetaDataVisitor::visitUnitStart(const UnitPtr& p) { continue; } + else if(s.find(cppSourceIncludePrefix) == 0 && s.size() > cppSourceIncludePrefix.size()) + { + continue; + } else if(s.find(cppHeaderExtPrefix) == 0 && s.size() > cppHeaderExtPrefix.size()) { headerExtension++; diff --git a/cpp/src/slice2cs/CsUtil.cpp b/cpp/src/slice2cs/CsUtil.cpp index de027895412..36db22c4350 100644 --- a/cpp/src/slice2cs/CsUtil.cpp +++ b/cpp/src/slice2cs/CsUtil.cpp @@ -1,4 +1,3 @@ - // // Copyright (c) ZeroC, Inc. All rights reserved. // @@ -458,7 +457,7 @@ Slice::CsGenerator::typeToString(const TypePtr& type, const string& package, boo if(proxy) { ClassDefPtr def = proxy->_class()->definition(); - if(def->isInterface() || def->allOperations().size() > 0) + if(!def || def->isAbstract()) { return getUnqualified(proxy->_class(), package, "", "Prx"); } @@ -794,7 +793,7 @@ Slice::CsGenerator::writeMarshalUnmarshalCode(Output &out, if(prx) { ClassDefPtr def = prx->_class()->definition(); - if(def->isInterface() || def->allOperations().size() > 0) + if(!def || def->isAbstract()) { string typeS = typeToString(type, package); if(marshal) diff --git a/cpp/src/slice2js/Gen.cpp b/cpp/src/slice2js/Gen.cpp index 1a6c60177b1..f59050a784e 100644 --- a/cpp/src/slice2js/Gen.cpp +++ b/cpp/src/slice2js/Gen.cpp @@ -2180,7 +2180,7 @@ Slice::Gen::TypesVisitor::encodeTypeForOperation(const TypePtr& type) if(proxy) { ClassDefPtr def = proxy->_class()->definition(); - if(def->isInterface() || def->allOperations().size() > 0) + if(!def || def->isAbstract()) { return "\"" + fixId(proxy->_class()->scoped() + "Prx") + "\""; } diff --git a/cpp/src/slice2js/JsUtil.cpp b/cpp/src/slice2js/JsUtil.cpp index 07c2f9b5325..2229d81f6a9 100644 --- a/cpp/src/slice2js/JsUtil.cpp +++ b/cpp/src/slice2js/JsUtil.cpp @@ -500,17 +500,7 @@ Slice::JsGenerator::typeToString(const TypePtr& type, { ostringstream os; ClassDefPtr def = proxy->_class()->definition(); - if(!def->isInterface() && def->allOperations().empty()) - { - if(getModuleMetadata(toplevel) != "ice") - { - os << "iceNS0."; - } - os << getUnqualified(typeScriptBuiltinTable[Builtin::KindObjectProxy], - toplevel->scope(), - getModuleMetadata(toplevel)); - } - else + if(!def || def->isAbstract()) { string prefix; if(typescript) @@ -528,6 +518,16 @@ Slice::JsGenerator::typeToString(const TypePtr& type, os << fixId(proxy->_class()->scoped() + "Prx"); } } + else + { + if(getModuleMetadata(toplevel) != "ice") + { + os << "iceNS0."; + } + os << getUnqualified(typeScriptBuiltinTable[Builtin::KindObjectProxy], + toplevel->scope(), + getModuleMetadata(toplevel)); + } return os.str(); } @@ -983,7 +983,7 @@ Slice::JsGenerator::getHelper(const TypePtr& type) if(prx) { ClassDefPtr def = prx->_class()->definition(); - if(def->isInterface() || def->allOperations().size() > 0) + if(!def || def->isAbstract()) { return typeToString(type); } diff --git a/cpp/test/Ice/objects/AllTests.cpp b/cpp/test/Ice/objects/AllTests.cpp index b47403572e3..5aa150b7a22 100644 --- a/cpp/test/Ice/objects/AllTests.cpp +++ b/cpp/test/Ice/objects/AllTests.cpp @@ -577,5 +577,30 @@ allTests(Test::TestHelper* helper) } cout << "ok" << endl; + cout << "testing forward declarations... " << flush; + { + F1Ptr f12; + F1Ptr f11 = initial->opF1(ICE_MAKE_SHARED(F1, "F11"), f12); + test(f11->name == "F11"); + test(f12->name == "F12"); + + F2PrxPtr f22; + F2PrxPtr f21 = initial->opF2(ICE_UNCHECKED_CAST(F2Prx, communicator->stringToProxy("F21")), f22); + test(f21->ice_getIdentity().name == "F21"); + test(f22->ice_getIdentity().name == "F22"); + + if(initial->hasF3()) + { + F3Ptr f32; + F3Ptr f31 = initial->opF3(ICE_MAKE_SHARED(F3, f11, f21), f32); + test(f31->f1->name == "F11"); + test(f31->f2->ice_getIdentity().name == "F21"); + + test(f32->f1->name == "F12"); + test(f32->f2->ice_getIdentity().name == "F22"); + } + } + cout << "ok" << endl; + return initial; } diff --git a/cpp/test/Ice/objects/Derived.ice b/cpp/test/Ice/objects/Derived.ice index 57c75cb5906..ff0a06a80aa 100644 --- a/cpp/test/Ice/objects/Derived.ice +++ b/cpp/test/Ice/objects/Derived.ice @@ -5,6 +5,7 @@ #pragma once #include <Test.ice> +#include <Forward.ice> module Test { diff --git a/cpp/test/Ice/objects/DerivedEx.ice b/cpp/test/Ice/objects/DerivedEx.ice index 49a06129a65..a265fde6b96 100644 --- a/cpp/test/Ice/objects/DerivedEx.ice +++ b/cpp/test/Ice/objects/DerivedEx.ice @@ -5,6 +5,7 @@ #pragma once #include <Test.ice> +#include <Forward.ice> module Test { diff --git a/cpp/test/Ice/objects/Forward.ice b/cpp/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/cpp/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/cpp/test/Ice/objects/Makefile.mk b/cpp/test/Ice/objects/Makefile.mk index 2a5886d03dd..60c831d4c2f 100644 --- a/cpp/test/Ice/objects/Makefile.mk +++ b/cpp/test/Ice/objects/Makefile.mk @@ -3,8 +3,8 @@ # $(test)_sliceflags := -I$(test) -$(test)_client_sources = Client.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp AllTests.cpp -$(test)_server_sources = Server.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp -$(test)_collocated_sources = Collocated.cpp Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp AllTests.cpp +$(test)_client_sources = Client.cpp Forward.ice Test.ice Derived.ice DerivedEx.ice TestI.cpp AllTests.cpp +$(test)_server_sources = Server.cpp Forward.ice Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp +$(test)_collocated_sources = Collocated.cpp Forward.ice Test.ice Derived.ice DerivedEx.ice TestI.cpp TestIntfI.cpp AllTests.cpp tests += $(test) diff --git a/cpp/test/Ice/objects/Test.ice b/cpp/test/Ice/objects/Test.ice index f019333c638..38214e39951 100644 --- a/cpp/test/Ice/objects/Test.ice +++ b/cpp/test/Ice/objects/Test.ice @@ -6,6 +6,8 @@ [["suppress-warning:deprecated"]] // For classes with operations +[["cpp:source-include:Forward.h"]] + module Test { @@ -198,6 +200,15 @@ class M LMap v; } +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -242,6 +253,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + bool hasF3(); + F3 opF3(F3 f31, out F3 f32); } interface TestIntf diff --git a/cpp/test/Ice/objects/TestI.cpp b/cpp/test/Ice/objects/TestI.cpp index df86685aa88..9cfd4c395eb 100644 --- a/cpp/test/Ice/objects/TestI.cpp +++ b/cpp/test/Ice/objects/TestI.cpp @@ -388,3 +388,32 @@ UnexpectedObjectExceptionTestI::ice_invoke(ICE_IN(std::vector<Ice::Byte>), out.finished(outParams); return true; } + +Test::F1Ptr +InitialI::opF1(ICE_IN(Test::F1Ptr) f11, Test::F1Ptr& f12, const Ice::Current&) +{ + f12 = ICE_MAKE_SHARED(F1, "F12"); + return f11; +} + +Test::F2PrxPtr +InitialI::opF2(ICE_IN(Test::F2PrxPtr) f21, Test::F2PrxPtr& f22, const Ice::Current& current) +{ + f22 = ICE_UNCHECKED_CAST(F2Prx, current.adapter->getCommunicator()->stringToProxy("F22")); + return f21; +} + +Test::F3Ptr +InitialI::opF3(ICE_IN(Test::F3Ptr) f31, Test::F3Ptr& f32, const Ice::Current& current) +{ + f32 = ICE_MAKE_SHARED(F3); + f32->f1 = ICE_MAKE_SHARED(F1, "F12"); + f32->f2 = ICE_UNCHECKED_CAST(F2Prx, current.adapter->getCommunicator()->stringToProxy("F22")); + return f31; +} + +bool +InitialI::hasF3(const Ice::Current&) +{ + return true; +} diff --git a/cpp/test/Ice/objects/TestI.h b/cpp/test/Ice/objects/TestI.h index 4a55bb337f6..ee6ef9e19fd 100644 --- a/cpp/test/Ice/objects/TestI.h +++ b/cpp/test/Ice/objects/TestI.h @@ -6,6 +6,7 @@ #define TEST_I_H #include <Test.h> +#include <Forward.h> class BI : public Test::B { @@ -142,6 +143,11 @@ public: virtual Test::MPtr opM(ICE_IN(Test::MPtr), Test::MPtr&, const Ice::Current&); + virtual Test::F1Ptr opF1(ICE_IN(Test::F1Ptr), Test::F1Ptr&, const Ice::Current&); + virtual Test::F2PrxPtr opF2(ICE_IN(Test::F2PrxPtr), Test::F2PrxPtr&, const Ice::Current&); + virtual Test::F3Ptr opF3(ICE_IN(Test::F3Ptr), Test::F3Ptr&, const Ice::Current&); + virtual bool hasF3(const Ice::Current&); + private: Ice::ObjectAdapterPtr _adapter; diff --git a/cpp/test/Ice/objects/msbuild/client/client.vcxproj b/cpp/test/Ice/objects/msbuild/client/client.vcxproj index 95264e5873d..f400cb04677 100644 --- a/cpp/test/Ice/objects/msbuild/client/client.vcxproj +++ b/cpp/test/Ice/objects/msbuild/client/client.vcxproj @@ -231,6 +231,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -261,6 +271,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -291,6 +311,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -321,6 +351,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -351,6 +391,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -381,6 +431,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -411,6 +471,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -441,6 +511,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -474,6 +554,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -504,6 +594,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -534,6 +634,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -564,6 +674,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -594,6 +714,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -624,6 +754,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -654,6 +794,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -684,6 +834,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -698,6 +858,7 @@ <ItemGroup> <SliceCompile Include="..\..\Derived.ice" /> <SliceCompile Include="..\..\DerivedEx.ice" /> + <SliceCompile Include="..\..\Forward.ice" /> <SliceCompile Include="..\..\Test.ice" /> </ItemGroup> <ItemGroup> diff --git a/cpp/test/Ice/objects/msbuild/client/client.vcxproj.filters b/cpp/test/Ice/objects/msbuild/client/client.vcxproj.filters index 6fe8c625fe2..6324d2645df 100644 --- a/cpp/test/Ice/objects/msbuild/client/client.vcxproj.filters +++ b/cpp/test/Ice/objects/msbuild/client/client.vcxproj.filters @@ -82,6 +82,30 @@ <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <Filter>Source Files\Win32\Cpp11-Release</Filter> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <Filter>Source Files\Win32\Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <Filter>Source Files\x64\Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <Filter>Source Files\Win32\Release</Filter> + </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <Filter>Source Files\x64\Release</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Filter Include="Header Files"> @@ -231,6 +255,30 @@ <ClInclude Include="Win32\Cpp11-Release\Test.h"> <Filter>Header Files\Win32\Cpp11-Release</Filter> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <Filter>Header Files\x64\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <Filter>Header Files\x64\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <Filter>Header Files\Win32\Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <Filter>Header Files\x64\Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <Filter>Header Files\Win32\Release</Filter> + </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <Filter>Header Files\x64\Release</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="packages.config" /> @@ -245,5 +293,8 @@ <SliceCompile Include="..\..\Test.ice"> <Filter>Slice Files</Filter> </SliceCompile> + <SliceCompile Include="..\..\Forward.ice"> + <Filter>Slice Files</Filter> + </SliceCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj b/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj index 88477469624..9aa2d6c5d9f 100644 --- a/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj +++ b/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj @@ -224,6 +224,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -254,6 +264,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -284,6 +304,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -314,6 +344,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -344,6 +384,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -374,6 +424,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -404,6 +464,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -434,6 +504,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -467,6 +547,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -497,6 +587,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -527,6 +627,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -557,6 +667,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -587,6 +707,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -617,6 +747,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -647,6 +787,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -677,6 +827,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -691,6 +851,7 @@ <ItemGroup> <SliceCompile Include="..\..\Derived.ice" /> <SliceCompile Include="..\..\DerivedEx.ice" /> + <SliceCompile Include="..\..\Forward.ice" /> <SliceCompile Include="..\..\Test.ice" /> </ItemGroup> <ItemGroup> diff --git a/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj.filters b/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj.filters index 9600a8c0904..07aaa1171a2 100644 --- a/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj.filters +++ b/cpp/test/Ice/objects/msbuild/collocated/collocated.vcxproj.filters @@ -85,6 +85,30 @@ <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <Filter>Source Files\Win32\Cpp11-Release</Filter> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <Filter>Source Files\Win32\Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <Filter>Source Files\x64\Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <Filter>Source Files\Win32\Release</Filter> + </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <Filter>Source Files\x64\Release</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Filter Include="Slice Files"> @@ -234,6 +258,30 @@ <ClInclude Include="Win32\Cpp11-Release\Test.h"> <Filter>Header Files\Win32\Cpp11-Release</Filter> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <Filter>Header Files\x64\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <Filter>Header Files\x64\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <Filter>Header Files\Win32\Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <Filter>Header Files\x64\Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <Filter>Header Files\Win32\Release</Filter> + </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <Filter>Header Files\x64\Release</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="packages.config" /> @@ -248,5 +296,8 @@ <SliceCompile Include="..\..\Test.ice"> <Filter>Slice Files</Filter> </SliceCompile> + <SliceCompile Include="..\..\Forward.ice"> + <Filter>Slice Files</Filter> + </SliceCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/cpp/test/Ice/objects/msbuild/server/server.vcxproj b/cpp/test/Ice/objects/msbuild/server/server.vcxproj index 5cec2e9f9da..7ef708b0141 100644 --- a/cpp/test/Ice/objects/msbuild/server/server.vcxproj +++ b/cpp/test/Ice/objects/msbuild/server/server.vcxproj @@ -223,6 +223,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -253,6 +263,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -283,6 +303,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -313,6 +343,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="Win32\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -343,6 +383,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -373,6 +423,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Cpp11-Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -403,6 +463,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Debug\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -433,6 +503,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClCompile> <ClCompile Include="x64\Release\Test.cpp"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -466,6 +546,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -496,6 +586,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -526,6 +626,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -556,6 +666,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="Win32\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -586,6 +706,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> @@ -616,6 +746,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Cpp11-Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -646,6 +786,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Debug\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -676,6 +826,16 @@ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> <SliceCompileSource>..\..\DerivedEx.ice</SliceCompileSource> </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Release|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + <SliceCompileSource>..\..\Forward.ice</SliceCompileSource> + </ClInclude> <ClInclude Include="x64\Release\Test.h"> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|x64'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Cpp11-Debug|Win32'">true</ExcludedFromBuild> @@ -690,6 +850,7 @@ <ItemGroup> <SliceCompile Include="..\..\Derived.ice" /> <SliceCompile Include="..\..\DerivedEx.ice" /> + <SliceCompile Include="..\..\Forward.ice" /> <SliceCompile Include="..\..\Test.ice" /> </ItemGroup> <ItemGroup> diff --git a/cpp/test/Ice/objects/msbuild/server/server.vcxproj.filters b/cpp/test/Ice/objects/msbuild/server/server.vcxproj.filters index 1544fcecac1..58603f07cde 100644 --- a/cpp/test/Ice/objects/msbuild/server/server.vcxproj.filters +++ b/cpp/test/Ice/objects/msbuild/server/server.vcxproj.filters @@ -154,6 +154,30 @@ <ClCompile Include="Win32\Cpp11-Release\Test.cpp"> <Filter>Source Files\Win32\Cpp11-Release</Filter> </ClCompile> + <ClCompile Include="Win32\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Debug\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\Win32\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="x64\Cpp11-Release\Forward.cpp"> + <Filter>Source Files\x64\Cpp11-Release</Filter> + </ClCompile> + <ClCompile Include="Win32\Debug\Forward.cpp"> + <Filter>Source Files\Win32\Debug</Filter> + </ClCompile> + <ClCompile Include="x64\Debug\Forward.cpp"> + <Filter>Source Files\x64\Debug</Filter> + </ClCompile> + <ClCompile Include="Win32\Release\Forward.cpp"> + <Filter>Source Files\Win32\Release</Filter> + </ClCompile> + <ClCompile Include="x64\Release\Forward.cpp"> + <Filter>Source Files\x64\Release</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\..\TestI.h"> @@ -231,6 +255,30 @@ <ClInclude Include="Win32\Cpp11-Release\Test.h"> <Filter>Header Files\Win32\Cpp11-Release</Filter> </ClInclude> + <ClInclude Include="Win32\Cpp11-Debug\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Debug\Forward.h"> + <Filter>Header Files\x64\Cpp11-Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Cpp11-Release\Forward.h"> + <Filter>Header Files\Win32\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="x64\Cpp11-Release\Forward.h"> + <Filter>Header Files\x64\Cpp11-Release</Filter> + </ClInclude> + <ClInclude Include="Win32\Debug\Forward.h"> + <Filter>Header Files\Win32\Debug</Filter> + </ClInclude> + <ClInclude Include="x64\Debug\Forward.h"> + <Filter>Header Files\x64\Debug</Filter> + </ClInclude> + <ClInclude Include="Win32\Release\Forward.h"> + <Filter>Header Files\Win32\Release</Filter> + </ClInclude> + <ClInclude Include="x64\Release\Forward.h"> + <Filter>Header Files\x64\Release</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <None Include="packages.config" /> @@ -245,5 +293,8 @@ <SliceCompile Include="..\..\Test.ice"> <Filter>Slice Files</Filter> </SliceCompile> + <SliceCompile Include="..\..\Forward.ice"> + <Filter>Slice Files</Filter> + </SliceCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/csharp/test/Ice/objects/AllTests.cs b/csharp/test/Ice/objects/AllTests.cs index 150fb10fa64..9fc1caaa27e 100644 --- a/csharp/test/Ice/objects/AllTests.cs +++ b/csharp/test/Ice/objects/AllTests.cs @@ -505,6 +505,36 @@ namespace Ice } output.WriteLine("ok"); + + output.Write("testing forward declared types... "); + output.Flush(); + { + F1 f12; + F1 f11 = initial.opF1(new F1("F11"), out f12); + test(f11.name.Equals("F11")); + test(f12.name.Equals("F12")); + + F2Prx f22; + F2Prx f21 = initial.opF2(F2PrxHelper.uncheckedCast(communicator.stringToProxy("F21")), out f22); + test(f21.ice_getIdentity().name.Equals("F21")); + test(f22.ice_getIdentity().name.Equals("F22")); + + if(initial.hasF3()) + { + F3 f32; + F3 f31 = initial.opF3(new F3(new F1("F11"), + F2PrxHelper.uncheckedCast(communicator.stringToProxy("F21"))), + out f32); + + test(f31.f1.name.Equals("F11")); + test(f31.f2.ice_getIdentity().name.Equals("F21")); + + test(f32.f1.name.Equals("F12")); + test(f32.f2.ice_getIdentity().name.Equals("F22")); + } + } + output.WriteLine("ok"); + return initial; } } diff --git a/csharp/test/Ice/objects/Forward.ice b/csharp/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..423bc710140 --- /dev/null +++ b/csharp/test/Ice/objects/Forward.ice @@ -0,0 +1,23 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +[["cs:typeid-namespace:Ice.objects.TypeId"]] +["cs:namespace:Ice.objects"] + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/csharp/test/Ice/objects/InitialI.cs b/csharp/test/Ice/objects/InitialI.cs index 0967479718b..19e34a228d8 100644 --- a/csharp/test/Ice/objects/InitialI.cs +++ b/csharp/test/Ice/objects/InitialI.cs @@ -196,6 +196,34 @@ namespace Ice return v1; } + public override Test.F1 + opF1(Test.F1 f11, out Test.F1 f12, Ice.Current current) + { + f12 = new Test.F1("F12"); + return f11; + } + + public override Test.F2Prx + opF2(Test.F2Prx f21, out Test.F2Prx f22, Ice.Current current) + { + f22 = Test.F2PrxHelper.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22")); + return f21; + } + + public override Test.F3 + opF3(Test.F3 f31, out Test.F3 f32, Ice.Current current) + { + f32 = new Test.F3(new Test.F1("F12"), + Test.F2PrxHelper.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22"))); + return f31; + } + + public override bool + hasF3(Ice.Current current) + { + return true; + } + private Ice.ObjectAdapter _adapter; private Test.B _b1; private Test.B _b2; diff --git a/csharp/test/Ice/objects/Test.ice b/csharp/test/Ice/objects/Test.ice index 306d559f404..9fda575741c 100644 --- a/csharp/test/Ice/objects/Test.ice +++ b/csharp/test/Ice/objects/Test.ice @@ -193,6 +193,16 @@ class M LMap v; } +// Forward declarations +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -238,6 +248,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/csharp/test/Ice/objects/msbuild/client/net45/client.csproj b/csharp/test/Ice/objects/msbuild/client/net45/client.csproj index 12b770689e1..495abce3637 100644 --- a/csharp/test/Ice/objects/msbuild/client/net45/client.csproj +++ b/csharp/test/Ice/objects/msbuild/client/net45/client.csproj @@ -67,6 +67,9 @@ <Compile Include="..\..\..\JI.cs"> <Link>JI.cs</Link> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>..\..\..\Forward.ice</SliceCompileSource> + </Compile> <Compile Include="generated\Test.cs" /> </ItemGroup> <ItemGroup> @@ -76,6 +79,11 @@ </SliceCompile> <None Include="packages.config" /> </ItemGroup> + <ItemGroup> + <SliceCompile Include="..\..\..\Forward.ice"> + <Link>Forward.ice</Link> + </SliceCompile> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\..\..\msbuild\ice.test.props" /> <Target BeforeTargets="PrepareForBuild" Name="EnsureNuGetPackageBuildImports"> diff --git a/csharp/test/Ice/objects/msbuild/client/netstandard2.0/client.csproj b/csharp/test/Ice/objects/msbuild/client/netstandard2.0/client.csproj index ebec7737dc3..408a9b5fc07 100644 --- a/csharp/test/Ice/objects/msbuild/client/netstandard2.0/client.csproj +++ b/csharp/test/Ice/objects/msbuild/client/netstandard2.0/client.csproj @@ -24,8 +24,12 @@ <Compile Include="generated\Test.cs"> <SliceCompileSource>../../../Test.ice</SliceCompileSource> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>../../../Forward.ice</SliceCompileSource> + </Compile> <PackageReference Include="zeroc.icebuilder.msbuild" Version="5.0.4" /> <SliceCompile Include="../../../Test.ice" /> + <SliceCompile Include="../../../Forward.ice" /> </ItemGroup> <Choose> <When Condition="'$(ICE_BIN_DIST)' == 'all'"> diff --git a/csharp/test/Ice/objects/msbuild/collocated/net45/collocated.csproj b/csharp/test/Ice/objects/msbuild/collocated/net45/collocated.csproj index dbfe3eaff80..c1ab8738a7f 100644 --- a/csharp/test/Ice/objects/msbuild/collocated/net45/collocated.csproj +++ b/csharp/test/Ice/objects/msbuild/collocated/net45/collocated.csproj @@ -73,6 +73,9 @@ <Compile Include="..\..\..\UnexpectedObjectExceptionTestI.cs"> <Link>UnexpectedObjectExceptionTestI.cs</Link> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>..\..\..\Forward.ice</SliceCompileSource> + </Compile> <Compile Include="generated\Test.cs" /> </ItemGroup> <ItemGroup> @@ -94,6 +97,11 @@ <Install>false</Install> </BootstrapperPackage> </ItemGroup> + <ItemGroup> + <SliceCompile Include="..\..\..\Forward.ice"> + <Link>Forward.ice</Link> + </SliceCompile> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\..\..\msbuild\ice.test.props" /> <Target BeforeTargets="PrepareForBuild" Name="EnsureNuGetPackageBuildImports"> diff --git a/csharp/test/Ice/objects/msbuild/collocated/netstandard2.0/collocated.csproj b/csharp/test/Ice/objects/msbuild/collocated/netstandard2.0/collocated.csproj index 2219f7cef28..cc882ac2c0b 100644 --- a/csharp/test/Ice/objects/msbuild/collocated/netstandard2.0/collocated.csproj +++ b/csharp/test/Ice/objects/msbuild/collocated/netstandard2.0/collocated.csproj @@ -26,8 +26,12 @@ <Compile Include="generated\Test.cs"> <SliceCompileSource>../../../Test.ice</SliceCompileSource> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>../../../Forward.ice</SliceCompileSource> + </Compile> <PackageReference Include="zeroc.icebuilder.msbuild" Version="5.0.4" /> <SliceCompile Include="../../../Test.ice" /> + <SliceCompile Include="../../../Forward.ice" /> </ItemGroup> <Choose> <When Condition="'$(ICE_BIN_DIST)' == 'all'"> diff --git a/csharp/test/Ice/objects/msbuild/server/net45/server.csproj b/csharp/test/Ice/objects/msbuild/server/net45/server.csproj index 3d843795aab..b699533dce7 100644 --- a/csharp/test/Ice/objects/msbuild/server/net45/server.csproj +++ b/csharp/test/Ice/objects/msbuild/server/net45/server.csproj @@ -70,6 +70,9 @@ <Compile Include="..\..\..\UnexpectedObjectExceptionTestI.cs"> <Link>UnexpectedObjectExceptionTestI.cs</Link> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>..\..\..\Forward.ice</SliceCompileSource> + </Compile> <Compile Include="generated\Test.cs" /> </ItemGroup> <ItemGroup> @@ -79,6 +82,11 @@ <Link>Test.ice</Link> </SliceCompile> </ItemGroup> + <ItemGroup> + <SliceCompile Include="..\..\..\Forward.ice"> + <Link>Forward.ice</Link> + </SliceCompile> + </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildThisFileDirectory)\..\..\..\..\..\..\msbuild\ice.test.props" /> <Target BeforeTargets="PrepareForBuild" Name="EnsureNuGetPackageBuildImports"> diff --git a/csharp/test/Ice/objects/msbuild/server/netstandard2.0/server.csproj b/csharp/test/Ice/objects/msbuild/server/netstandard2.0/server.csproj index 7629765bdad..515fd138ad4 100644 --- a/csharp/test/Ice/objects/msbuild/server/netstandard2.0/server.csproj +++ b/csharp/test/Ice/objects/msbuild/server/netstandard2.0/server.csproj @@ -25,8 +25,12 @@ <Compile Include="generated\Test.cs"> <SliceCompileSource>../../../Test.ice</SliceCompileSource> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>../../../Forward.ice</SliceCompileSource> + </Compile> <PackageReference Include="zeroc.icebuilder.msbuild" Version="5.0.4" /> <SliceCompile Include="../../../Test.ice" /> + <SliceCompile Include="../../../Forward.ice" /> </ItemGroup> <Choose> <When Condition="'$(ICE_BIN_DIST)' == 'all'"> diff --git a/csharp/test/Ice/objects/msbuild/test/netstandard2.0/test.csproj b/csharp/test/Ice/objects/msbuild/test/netstandard2.0/test.csproj index 8b2f289e8e6..2ce4c0354db 100644 --- a/csharp/test/Ice/objects/msbuild/test/netstandard2.0/test.csproj +++ b/csharp/test/Ice/objects/msbuild/test/netstandard2.0/test.csproj @@ -26,9 +26,13 @@ <Compile Include="generated\Test.cs"> <SliceCompileSource>../../../Test.ice</SliceCompileSource> </Compile> + <Compile Include="generated\Forward.cs"> + <SliceCompileSource>../../../Forward.ice</SliceCompileSource> + </Compile> <PackageReference Include="zeroc.icebuilder.msbuild" Version="5.0.4" /> <ProjectReference Include="..\..\..\..\..\TestCommon\msbuild\testcommon\netstandard2.0\testcommon.csproj" /> <SliceCompile Include="../../../Test.ice" /> + <SliceCompile Include="../../../Forward.ice" /> </ItemGroup> <Choose> <When Condition="'$(ICE_BIN_DIST)' == 'all'"> diff --git a/java-compat/test/src/main/java/test/Ice/objects/AllTests.java b/java-compat/test/src/main/java/test/Ice/objects/AllTests.java index 7304a0ffb28..8602b6f0d08 100644 --- a/java-compat/test/src/main/java/test/Ice/objects/AllTests.java +++ b/java-compat/test/src/main/java/test/Ice/objects/AllTests.java @@ -37,6 +37,13 @@ import test.Ice.objects.Test.UnexpectedObjectExceptionTestPrxHelper; import test.Ice.objects.Test.StructKey; import test.Ice.objects.Test.M; import test.Ice.objects.Test.MHolder; +import test.Ice.objects.Test.F1; +import test.Ice.objects.Test.F1Holder; +import test.Ice.objects.Test.F2Prx; +import test.Ice.objects.Test.F2PrxHolder; +import test.Ice.objects.Test.F2PrxHelper; +import test.Ice.objects.Test.F3; +import test.Ice.objects.Test.F3Holder; public class AllTests { @@ -406,6 +413,35 @@ public class AllTests } out.println("ok"); + out.print("testing forward declared types... "); + out.flush(); + { + F1Holder f12 = new F1Holder(); + F1 f11 = initial.opF1(new F1("F11"), f12); + test(f11.name.equals("F11")); + test(f12.value.name.equals("F12")); + + F2PrxHolder f22 = new F2PrxHolder(); + F2Prx f21 = initial.opF2(F2PrxHelper.uncheckedCast(communicator.stringToProxy("F21")), f22); + test(f21.ice_getIdentity().name.equals("F21")); + test(f22.value.ice_getIdentity().name.equals("F22")); + + if(initial.hasF3()) + { + F3Holder f32 = new F3Holder(); + F3 f31 = initial.opF3(new F3(new F1("F11"), + F2PrxHelper.uncheckedCast(communicator.stringToProxy("F21"))), + f32); + + test(f31.f1.name.equals("F11")); + test(f31.f2.ice_getIdentity().name.equals("F21")); + + test(f32.value.f1.name.equals("F12")); + test(f32.value.f2.ice_getIdentity().name.equals("F22")); + } + } + out.println("ok"); + return initial; } } diff --git a/java-compat/test/src/main/java/test/Ice/objects/Forward.ice b/java-compat/test/src/main/java/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..057b9424c6d --- /dev/null +++ b/java-compat/test/src/main/java/test/Ice/objects/Forward.ice @@ -0,0 +1,22 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +[["java:package:test.Ice.objects"]] + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/java-compat/test/src/main/java/test/Ice/objects/InitialI.java b/java-compat/test/src/main/java/test/Ice/objects/InitialI.java index 5b1bc633643..1a48cf0f7bf 100644 --- a/java-compat/test/src/main/java/test/Ice/objects/InitialI.java +++ b/java-compat/test/src/main/java/test/Ice/objects/InitialI.java @@ -30,6 +30,13 @@ import test.Ice.objects.Test.Compact; import test.Ice.objects.Test.CompactExt; import test.Ice.objects.Test.M; import test.Ice.objects.Test.MHolder; +import test.Ice.objects.Test.F1; +import test.Ice.objects.Test.F1Holder; +import test.Ice.objects.Test.F2Prx; +import test.Ice.objects.Test.F2PrxHolder; +import test.Ice.objects.Test.F2PrxHelper; +import test.Ice.objects.Test.F3; +import test.Ice.objects.Test.F3Holder; public final class InitialI extends Initial { @@ -290,6 +297,38 @@ public final class InitialI extends Initial return v1; } + @Override + public F1 + opF1(F1 f11, F1Holder f12, Ice.Current current) + { + f12.value = new F1("F12"); + return f11; + } + + @Override + public F2Prx + opF2(F2Prx f21, F2PrxHolder f22, Ice.Current current) + { + f22.value = F2PrxHelper.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22")); + return f21; + } + + @Override + public F3 + opF3(F3 f31, F3Holder f32, Ice.Current current) + { + f32.value = new F3(new F1("F12"), + F2PrxHelper.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22"))); + return f31; + } + + @Override + public boolean + hasF3(Ice.Current current) + { + return true; + } + private Ice.ObjectAdapter _adapter; private B _b1; private B _b2; diff --git a/java-compat/test/src/main/java/test/Ice/objects/Test.ice b/java-compat/test/src/main/java/test/Ice/objects/Test.ice index 28f1065a9ec..9af55ef027c 100644 --- a/java-compat/test/src/main/java/test/Ice/objects/Test.ice +++ b/java-compat/test/src/main/java/test/Ice/objects/Test.ice @@ -194,6 +194,18 @@ class M LMap v; } +// +// Forward delcarations +// +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + class Initial { void shutdown(); @@ -239,6 +251,11 @@ class Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/java/test/src/main/java/test/Ice/objects/AllTests.java b/java/test/src/main/java/test/Ice/objects/AllTests.java index 77129e806c2..f15b0cf83c9 100644 --- a/java/test/src/main/java/test/Ice/objects/AllTests.java +++ b/java/test/src/main/java/test/Ice/objects/AllTests.java @@ -35,6 +35,11 @@ import test.Ice.objects.Test.UnexpectedObjectExceptionTestPrx; import test.Ice.objects.Test.M; import test.Ice.objects.Test.StructKey; import test.Ice.objects.Test.Initial.OpMResult; + +import test.Ice.objects.Test.F1; +import test.Ice.objects.Test.F2Prx; +import test.Ice.objects.Test.F3; + public class AllTests { private static void test(boolean b) @@ -404,6 +409,30 @@ public class AllTests } out.println("ok"); + out.print("testing forward declared types... "); + out.flush(); + { + Initial.OpF1Result opF1Result = initial.opF1(new F1("F11")); + test(opF1Result.returnValue.name.equals("F11")); + test(opF1Result.f12.name.equals("F12")); + + Initial.OpF2Result opF2Result = initial.opF2(F2Prx.uncheckedCast(communicator.stringToProxy("F21"))); + test(opF2Result.returnValue.ice_getIdentity().name.equals("F21")); + test(opF2Result.f22.ice_getIdentity().name.equals("F22")); + + if(initial.hasF3()) + { + Initial.OpF3Result opF3Result = initial.opF3(new F3(new F1("F11"), + F2Prx.uncheckedCast(communicator.stringToProxy("F21")))); + test(opF3Result.returnValue.f1.name.equals("F11")); + test(opF3Result.returnValue.f2.ice_getIdentity().name.equals("F21")); + + test(opF3Result.f32.f1.name.equals("F12")); + test(opF3Result.f32.f2.ice_getIdentity().name.equals("F22")); + } + } + out.println("ok"); + return initial; } } diff --git a/java/test/src/main/java/test/Ice/objects/Forward.ice b/java/test/src/main/java/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..057b9424c6d --- /dev/null +++ b/java/test/src/main/java/test/Ice/objects/Forward.ice @@ -0,0 +1,22 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +[["java:package:test.Ice.objects"]] + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/java/test/src/main/java/test/Ice/objects/InitialI.java b/java/test/src/main/java/test/Ice/objects/InitialI.java index c886195551a..7760480f1e9 100644 --- a/java/test/src/main/java/test/Ice/objects/InitialI.java +++ b/java/test/src/main/java/test/Ice/objects/InitialI.java @@ -243,6 +243,40 @@ public final class InitialI implements Initial return r; } + @Override + public Initial.OpF1Result opF1(F1 f11, com.zeroc.Ice.Current current) + { + Initial.OpF1Result r = new Initial.OpF1Result(); + r.returnValue = f11; + r.f12 = new F1("F12"); + return r; + } + + @Override + public Initial.OpF2Result opF2(F2Prx f21, com.zeroc.Ice.Current current) + { + Initial.OpF2Result r = new Initial.OpF2Result(); + r.returnValue = f21; + r.f22 = F2Prx.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22")); + return r; + } + + @Override + public Initial.OpF3Result opF3(F3 f31, com.zeroc.Ice.Current current) + { + Initial.OpF3Result r = new Initial.OpF3Result(); + r.returnValue = f31; + r.f32 = new F3(new F1("F12"), + F2Prx.uncheckedCast(current.adapter.getCommunicator().stringToProxy("F22"))); + return r; + } + + @Override + public boolean hasF3(com.zeroc.Ice.Current current) + { + return true; + } + private com.zeroc.Ice.ObjectAdapter _adapter; private B _b1; private B _b2; diff --git a/java/test/src/main/java/test/Ice/objects/Test.ice b/java/test/src/main/java/test/Ice/objects/Test.ice index cc72f1323c9..50e6248fd4a 100644 --- a/java/test/src/main/java/test/Ice/objects/Test.ice +++ b/java/test/src/main/java/test/Ice/objects/Test.ice @@ -194,6 +194,15 @@ class M LMap v; } +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -239,6 +248,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/js/test/Common/TestSuites.json b/js/test/Common/TestSuites.json index 652d6c792f4..cc006b8c164 100644 --- a/js/test/Common/TestSuites.json +++ b/js/test/Common/TestSuites.json @@ -74,7 +74,7 @@ }, "Ice/objects": { - "files": ["Test.js", "Client.js", "InitialI.js", "Server.js"], + "files": ["Test.js", "Forward.js", "Client.js", "InitialI.js", "Server.js"], "testcases": [ { diff --git a/js/test/Ice/objects/.gitignore b/js/test/Ice/objects/.gitignore index d158d9308ba..e0c127372d7 100644 --- a/js/test/Ice/objects/.gitignore +++ b/js/test/Ice/objects/.gitignore @@ -1,2 +1,3 @@ Test.js +Forward.js index.html diff --git a/js/test/Ice/objects/Client.js b/js/test/Ice/objects/Client.js index 6e8f7602c5c..23984ccaed8 100644 --- a/js/test/Ice/objects/Client.js +++ b/js/test/Ice/objects/Client.js @@ -6,6 +6,7 @@ { const Ice = require("ice").Ice; const Test = require("Test").Test; + require("Forward"); const TestHelper = require("TestHelper").TestHelper; const test = TestHelper.test; @@ -464,6 +465,29 @@ } out.writeLine("ok"); + out.write("testing forward declarations... "); + { + const [f11, f12] = await initial.opF1(new Test.F1("F11")); + test(f11.name == "F11"); + test(f12.name == "F12"); + + const [f21, f22] = await initial.opF2(Test.F2Prx.uncheckedCast(communicator.stringToProxy("F21"))); + test(f21.ice_getIdentity().name == "F21"); + test(f22.ice_getIdentity().name == "F22"); + + if(initial.hasF3()) + { + const [f31, f32] = await initial.opF3( + new Test.F3(new Test.F1("F11"), Test.F2Prx.uncheckedCast(communicator.stringToProxy("F21")))); + test(f31.f1.name == "F11"); + test(f31.f2.ice_getIdentity().name == "F21"); + + test(f32.f1.name == "F12"); + test(f32.f2.ice_getIdentity().name == "F22"); + } + } + out.writeLine("ok"); + await initial.shutdown(); } diff --git a/js/test/Ice/objects/Forward.ice b/js/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/js/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/js/test/Ice/objects/InitialI.js b/js/test/Ice/objects/InitialI.js index 50e7af444bc..e6140642963 100644 --- a/js/test/Ice/objects/InitialI.js +++ b/js/test/Ice/objects/InitialI.js @@ -6,6 +6,7 @@ { const Ice = require("ice").Ice; const Test = require("Test").Test; + require("Forward"); class BI extends Test.B { @@ -322,6 +323,28 @@ return [v1, v1]; } + opF1(f11, current) + { + return [f11, new Test.F1("F12")]; + } + + opF2(f21, current) + { + return [f21, current.adapter.getCommunicator().stringToProxy("F22")]; + } + + opF3(f31, current) + { + return [f31, + new Test.F3(new Test.F1("F12"), + current.adapter.getCommunicator().stringToProxy("F22"))]; + } + + hasF3(current) + { + return true; + } + shutdown(current) { current.adapter.getCommunicator().shutdown(); diff --git a/js/test/Ice/objects/Server.js b/js/test/Ice/objects/Server.js index 3bd99210f48..fa55ce23596 100644 --- a/js/test/Ice/objects/Server.js +++ b/js/test/Ice/objects/Server.js @@ -6,6 +6,7 @@ { const Ice = require("ice").Ice; const Test = require("Test").Test; + require("Forward"); const TestHelper = require("TestHelper").TestHelper; const InitialI = require("InitialI").InitialI; diff --git a/js/test/Ice/objects/Test.ice b/js/test/Ice/objects/Test.ice index b908511f680..617deda65de 100644 --- a/js/test/Ice/objects/Test.ice +++ b/js/test/Ice/objects/Test.ice @@ -197,6 +197,16 @@ class M LMap v; } +// Forward declarations +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -242,6 +252,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/matlab/test/Ice/objects/AllTests.m b/matlab/test/Ice/objects/AllTests.m index 1f799880dbe..6eecffbf426 100644 --- a/matlab/test/Ice/objects/AllTests.m +++ b/matlab/test/Ice/objects/AllTests.m @@ -270,6 +270,27 @@ classdef AllTests assert(strcmp(m2.v(2).value.data, 'two')); fprintf('ok\n'); + + fprintf('testing forward declarations... '); + + [f11, f12] = initial.opF1(F1('F11')); + assert(strcmp(f11.name, 'F11')); + assert(strcmp(f12.name, 'F12')); + + [f21, f22] = initial.opF2(F2Prx.uncheckedCast(communicator.stringToProxy('F21'))); + assert(strcmp(f21.ice_getIdentity().name, 'F21')); + assert(strcmp(f22.ice_getIdentity().name, 'F22')); + + if initial.hasF3() + [f31, f32] = initial.opF3(F3(f11, f21)); + assert(strcmp(f31.f1.name, 'F11')); + assert(strcmp(f31.f2.ice_getIdentity().name, 'F21')); + + assert(strcmp(f32.f1.name, 'F12')); + assert(strcmp(f32.f2.ice_getIdentity().name, 'F22')); + end + fprintf('ok\n'); + r = initial; end end diff --git a/matlab/test/Ice/objects/Forward.ice b/matlab/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/matlab/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/matlab/test/Ice/objects/Test.ice b/matlab/test/Ice/objects/Test.ice index ab0d8c49d37..d05e6feff56 100644 --- a/matlab/test/Ice/objects/Test.ice +++ b/matlab/test/Ice/objects/Test.ice @@ -193,6 +193,16 @@ class M LMap v; } +// Forward declarations +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -238,6 +248,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/objective-c/test/Ice/objects/AllTests.m b/objective-c/test/Ice/objects/AllTests.m index 3e148570879..673e2c8ef40 100644 --- a/objective-c/test/Ice/objects/AllTests.m +++ b/objective-c/test/Ice/objects/AllTests.m @@ -5,6 +5,7 @@ #import <objc/Ice.h> #import <TestCommon.h> #import <ObjectsTest.h> +#import <ObjectsForward.h> #if defined(__clang__) // For 'Ice::Communicator::findObjectFactory()' deprecation @@ -688,5 +689,20 @@ objectsAllTests(id<ICECommunicator> communicator, BOOL __unused collocated) tprintf("ok\n"); } + { + tprintf("testing forward declarations... "); + TestObjectsF1* f12; + TestObjectsF1* f11 = [initial opF1:[[TestObjectsF1 alloc] init:@"F11"] f12:&f12]; + test([f11.name isEqualToString:@"F11"]); + test([f12.name isEqualToString:@"F12"]); + + TestObjectsF2Prx* f22; + TestObjectsF2Prx* f21 = [initial opF2:[TestObjectsF2Prx uncheckedCast:[communicator stringToProxy:@"F21"]] + f22: &f22]; + test([[f21 ice_getIdentity].name isEqualToString:@"F21"]); + test([[f22 ice_getIdentity].name isEqualToString:@"F22"]); + tprintf("ok\n"); + } + return initial; } diff --git a/objective-c/test/Ice/objects/Makefile.mk b/objective-c/test/Ice/objects/Makefile.mk index 391c8265c3b..08a7bad516c 100644 --- a/objective-c/test/Ice/objects/Makefile.mk +++ b/objective-c/test/Ice/objects/Makefile.mk @@ -3,8 +3,11 @@ # $(test)_sliceflags := -I$(test) -$(test)_client_sources = Client.m ObjectsTest.ice ObjectsDerived.ice ObjectsDerivedEx.ice TestI.m AllTests.m -$(test)_server_sources = Server.m ObjectsTest.ice ObjectsDerived.ice ObjectsDerivedEx.ice TestI.m TestIntfI.m -$(test)_collocated_sources = Collocated.m ObjectsTest.ice ObjectsDerived.ice ObjectsDerivedEx.ice TestI.m TestIntfI.m AllTests.m +$(test)_client_sources = Client.m ObjectsForward.ice ObjectsTest.ice ObjectsDerived.ice \ + ObjectsDerivedEx.ice TestI.m AllTests.m +$(test)_server_sources = Server.m ObjectsForward.ice ObjectsTest.ice ObjectsDerived.ice \ + ObjectsDerivedEx.ice TestI.m TestIntfI.m +$(test)_collocated_sources = Collocated.m ObjectsForward.ice ObjectsTest.ice ObjectsDerived.ice \ + ObjectsDerivedEx.ice TestI.m TestIntfI.m AllTests.m tests += $(test) diff --git a/objective-c/test/Ice/objects/ObjectsForward.ice b/objective-c/test/Ice/objects/ObjectsForward.ice new file mode 100644 index 00000000000..f405db9f80c --- /dev/null +++ b/objective-c/test/Ice/objects/ObjectsForward.ice @@ -0,0 +1,22 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +["objc:prefix:TestObjects"] + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/objective-c/test/Ice/objects/ObjectsTest.ice b/objective-c/test/Ice/objects/ObjectsTest.ice index d7bfeabc1f0..b7919f45a9e 100644 --- a/objective-c/test/Ice/objects/ObjectsTest.ice +++ b/objective-c/test/Ice/objects/ObjectsTest.ice @@ -208,6 +208,10 @@ class M LMap v; } +// Forward declarations +class F1; +interface F2; + class Initial { void shutdown(); @@ -264,6 +268,11 @@ class Initial BaseDict getBaseDict(BaseDict d); BasePrxDict getBasePrxDict(BasePrxDict d); M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + + bool hasF3(); } interface TestIntf diff --git a/objective-c/test/Ice/objects/TestI.h b/objective-c/test/Ice/objects/TestI.h index c39c241acae..f89d8612f90 100644 --- a/objective-c/test/Ice/objects/TestI.h +++ b/objective-c/test/Ice/objects/TestI.h @@ -3,6 +3,7 @@ // #import <ObjectsTest.h> +#import <ObjectsForward.h> @interface TestObjectsBI : TestObjectsB<TestObjectsB> { @@ -66,7 +67,10 @@ -(TestObjectsObjectPrxDict *) getObjectPrxDict:(TestObjectsMutableObjectPrxDict *)d current:(ICECurrent *)current; -(TestObjectsBaseDict *) getBaseDict:(TestObjectsMutableBaseDict *)d current:(ICECurrent *)current; -(TestObjectsBasePrxDict *) getBasePrxDict:(TestObjectsMutableBasePrxDict *)d current:(ICECurrent *)current; - -(TestObjectsM *) opM:(TestObjectsM *)v1 v2:(TestObjectsM **)v2 current:(ICECurrent *)current; +-(TestObjectsM *) opM:(TestObjectsM *)v1 v2:(TestObjectsM **)v2 current:(ICECurrent *)current; +-(TestObjectsF1 *) opF1:(TestObjectsF1 *)f11 f12:(TestObjectsF1 **)f12 current:(ICECurrent *)current; +-(TestObjectsF2Prx *) opF2:(TestObjectsF2Prx *)f21 f22:(TestObjectsF2Prx **)f22 current:(ICECurrent *)current; +-(BOOL) hasF3:(ICECurrent *)current; @end @interface UnexpectedObjectExceptionTestI : ICEBlobject<ICEBlobject> diff --git a/objective-c/test/Ice/objects/TestI.m b/objective-c/test/Ice/objects/TestI.m index 5b86e3e94be..652b6ed360f 100644 --- a/objective-c/test/Ice/objects/TestI.m +++ b/objective-c/test/Ice/objects/TestI.m @@ -350,6 +350,23 @@ *v2 = v1; return v1; } + +-(TestObjectsF1 *) opF1:(TestObjectsF1 *)f11 f12:(TestObjectsF1 **)f12 current:(ICECurrent *)__unused current +{ + *f12 = [[TestObjectsF1 alloc] init:@"F12"]; + return f11; +} + +-(TestObjectsF2Prx *) opF2:(TestObjectsF2Prx *)f21 f22:(TestObjectsF2Prx **)f22 current:(ICECurrent *)__unused current +{ + *f22 = [TestObjectsF2Prx uncheckedCast:[[current.adapter getCommunicator] stringToProxy:@"F22"]]; + return f21; +} + +-(BOOL) hasF3:(ICECurrent *)__unused current +{ + return NO; +} @end @implementation UnexpectedObjectExceptionTestI diff --git a/php/test/Ice/objects/.gitignore b/php/test/Ice/objects/.gitignore index bed01730acc..5c33ecc88c0 100644 --- a/php/test/Ice/objects/.gitignore +++ b/php/test/Ice/objects/.gitignore @@ -1 +1,2 @@ Test.php +Forward.php diff --git a/php/test/Ice/objects/Client.php b/php/test/Ice/objects/Client.php index b048c6fe4b0..0e653118147 100644 --- a/php/test/Ice/objects/Client.php +++ b/php/test/Ice/objects/Client.php @@ -5,6 +5,7 @@ $NS = function_exists("Ice\\initialize"); require_once('Test.php'); +require_once('Forward.php'); if($NS) { @@ -24,6 +25,8 @@ if($NS) interface Ice_ObjectFactory extends Ice\ObjectFactory {} interface Ice_ValueFactory extends Ice\ValueFactory {} class Test_L extends Test\L {} + class Test_F1 extends Test\F1 {} + class Test_F3 extends Test\F3 {} EOT; eval($code); } @@ -567,6 +570,29 @@ function allTests($helper) test($communicator->getValueFactoryManager()->find("TestOF") != null); echo "ok\n"; + echo "testing forward declarations... "; + $f12 = null; + $f11 = $initial->opF1(new Test_F1("F11"), $f12); + test($f11->name == "F11"); + test($f12->name == "F12"); + + $f22 = null; + $f21 = $initial->opF2($communicator->stringToProxy("F21")->ice_uncheckedCast("::Test::F2"), $f22); + test($f21->ice_getIdentity()->name == "F21"); + test($f22->ice_getIdentity()->name == "F22"); + + if($initial->hasF3()) + { + $f32 = null; + $f31 = $initial->opF3(new Test_F3($f11, $f22), $f32); + test($f31->f1->name == "F11"); + test($f31->f2->ice_getIdentity()->name = "F21"); + + test($f32->f1->name == "F12"); + test($f32->f2->ice_getIdentity()->name = "F22"); + } + echo "ok\n"; + return $initial; } diff --git a/php/test/Ice/objects/Forward.ice b/php/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/php/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/php/test/Ice/objects/Test.ice b/php/test/Ice/objects/Test.ice index 08936064c4e..81fc72314b2 100644 --- a/php/test/Ice/objects/Test.ice +++ b/php/test/Ice/objects/Test.ice @@ -150,6 +150,16 @@ class L sequence<Value> ValueSeq; dictionary<string, Value> ValueMap; +// Forward declarations +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -186,6 +196,11 @@ interface Initial BaseSeq opBaseSeq(BaseSeq inSeq, out BaseSeq outSeq); Compact getCompact(); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } class Empty diff --git a/python/test/Ice/objects/AllTests.py b/python/test/Ice/objects/AllTests.py index e47ca1d4089..d2b666a655b 100644 --- a/python/test/Ice/objects/AllTests.py +++ b/python/test/Ice/objects/AllTests.py @@ -335,4 +335,24 @@ def allTests(helper, communicator): print("ok") + sys.stdout.write("testing forward declarations... ") + sys.stdout.flush() + f11, f12 = initial.opF1(Test.F1("F11")) + test(f11.name == "F11") + test(f12.name == "F12") + + f21, f22 = initial.opF2(Test.F2Prx.uncheckedCast(communicator.stringToProxy("F21"))) + test(f21.ice_getIdentity().name == "F21") + test(f22.ice_getIdentity().name == "F22") + + if initial.hasF3(): + f31, f32 = initial.opF3(Test.F3(f11, f21)) + + test(f31.f1.name == "F11") + test(f31.f2.ice_getIdentity().name == "F21") + + test(f32.f1.name == "F12") + test(f32.f2.ice_getIdentity().name == "F22") + print("ok") + return initial diff --git a/python/test/Ice/objects/Client.py b/python/test/Ice/objects/Client.py index 441f6a1a83c..89cb791cc20 100755 --- a/python/test/Ice/objects/Client.py +++ b/python/test/Ice/objects/Client.py @@ -4,7 +4,7 @@ # from TestHelper import TestHelper -TestHelper.loadSlice("Test.ice ClientPrivate.ice") +TestHelper.loadSlice("Test.ice Forward.ice ClientPrivate.ice") import AllTests diff --git a/python/test/Ice/objects/Collocated.py b/python/test/Ice/objects/Collocated.py index ada3bc0d82b..ba6d78fd96e 100755 --- a/python/test/Ice/objects/Collocated.py +++ b/python/test/Ice/objects/Collocated.py @@ -4,7 +4,7 @@ # from TestHelper import TestHelper -TestHelper.loadSlice("Test.ice ClientPrivate.ice") +TestHelper.loadSlice("Test.ice Forward.ice ClientPrivate.ice") import Ice import TestI import AllTests diff --git a/python/test/Ice/objects/Forward.ice b/python/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/python/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/python/test/Ice/objects/Server.py b/python/test/Ice/objects/Server.py index 033ac8911e9..2a9df124f4c 100755 --- a/python/test/Ice/objects/Server.py +++ b/python/test/Ice/objects/Server.py @@ -4,7 +4,7 @@ # from TestHelper import TestHelper -TestHelper.loadSlice("Test.ice ServerPrivate.ice") +TestHelper.loadSlice("Test.ice Forward.ice ServerPrivate.ice") import TestI import Ice diff --git a/python/test/Ice/objects/Test.ice b/python/test/Ice/objects/Test.ice index 3b4bf7807c9..e6e4828ffb9 100644 --- a/python/test/Ice/objects/Test.ice +++ b/python/test/Ice/objects/Test.ice @@ -193,6 +193,16 @@ class M LMap v; } +// Forward declarations +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + interface Initial { void shutdown(); @@ -238,6 +248,11 @@ interface Initial void throwInnerSubEx() throws Inner::Sub::Ex; M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } } diff --git a/python/test/Ice/objects/TestI.py b/python/test/Ice/objects/TestI.py index 921f5d8b485..e28c882a1bf 100644 --- a/python/test/Ice/objects/TestI.py +++ b/python/test/Ice/objects/TestI.py @@ -193,6 +193,19 @@ class InitialI(Test.Initial): def opM(self, m, current=None): return (m, m) + def opF1(self, f11, current=None): + return (f11, Test.F1("F12")) + + def opF2(self, f21, current=None): + return (f21, current.adapter.getCommunicator().stringToProxy("F22")) + + def opF3(self, f31, current): + return (f31, Test.F3(Test.F1("F12"), current.adapter.getCommunicator().stringToProxy("F22"))) + + def hasF3(self, current): + return True + + class UnexpectedObjectExceptionTestI(Test.UnexpectedObjectExceptionTest): def op(self, current=None): return Test.AlsoEmpty() diff --git a/ruby/test/Ice/objects/AllTests.rb b/ruby/test/Ice/objects/AllTests.rb index 69abd80f806..9e92f11131a 100644 --- a/ruby/test/Ice/objects/AllTests.rb +++ b/ruby/test/Ice/objects/AllTests.rb @@ -384,5 +384,24 @@ def allTests(helper, communicator) test(m2.v[k2].data == "two") puts "ok" + print "testing forward declarations... " + STDOUT.flush + f11, f12 = initial.opF1(Test::F1.new("F11")) + test(f11.name == "F11") + test(f12.name == "F12") + + f21, f22 = initial.opF2(Test::F2Prx::uncheckedCast(communicator.stringToProxy("F21"))) + test(f21.ice_getIdentity().name == "F21") + test(f22.ice_getIdentity().name == "F22") + + if initial.hasF3() then + f31, f32 = initial.opF3(Test::F3.new(f11, f21)) + test(f31.f1.name == "F11") + test(f31.f2.ice_getIdentity().name == "F21") + + test(f32.f1.name == "F12") + test(f32.f2.ice_getIdentity().name == "F22") + end + puts "ok" return initial end diff --git a/ruby/test/Ice/objects/Client.rb b/ruby/test/Ice/objects/Client.rb index 1e9516066b6..53d3faf3a14 100755 --- a/ruby/test/Ice/objects/Client.rb +++ b/ruby/test/Ice/objects/Client.rb @@ -5,6 +5,7 @@ require 'Ice' Ice::loadSlice('Test.ice') +Ice::loadSlice('Forward.ice') Ice::loadSlice('ClientPrivate.ice') require './AllTests' diff --git a/ruby/test/Ice/objects/Forward.ice b/ruby/test/Ice/objects/Forward.ice new file mode 100644 index 00000000000..5cc93e83b4a --- /dev/null +++ b/ruby/test/Ice/objects/Forward.ice @@ -0,0 +1,20 @@ +// +// Copyright (c) ZeroC, Inc. All rights reserved. +// + +#pragma once + +module Test +{ + +class F1 +{ + string name; +} + +interface F2 +{ + void op(); +} + +}; diff --git a/ruby/test/Ice/objects/Test.ice b/ruby/test/Ice/objects/Test.ice index d22849cb7cb..b4e0f3fd690 100644 --- a/ruby/test/Ice/objects/Test.ice +++ b/ruby/test/Ice/objects/Test.ice @@ -163,6 +163,16 @@ class M LMap v; } +// Forward declaration +class F1; +interface F2; + +class F3 +{ + F1 f1; + F2* f2; +} + class Initial { void shutdown(); @@ -202,6 +212,11 @@ class Initial Compact getCompact(); M opM(M v1, out M v2); + + F1 opF1(F1 f11, out F1 f12); + F2* opF2(F2* f21, out F2* f22); + F3 opF3(F3 f31, out F3 f32); + bool hasF3(); } } |