zeroc-ice 3.7.3 → 3.7.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/Communicator.cpp +3 -0
- data/ext/Config.h +11 -0
- data/ext/Types.cpp +18 -2
- data/ext/Util.cpp +15 -3
- data/ext/Util.h +36 -0
- data/ext/ice/cpp/include/Ice/Exception.h +3 -3
- data/ext/ice/cpp/include/Ice/Functional.h +3 -1
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +1 -1
- data/ext/ice/cpp/include/Ice/Initialize.h +1 -1
- data/ext/ice/cpp/include/Ice/Object.h +7 -0
- data/ext/ice/cpp/include/Ice/Optional.h +1 -1
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +15 -0
- data/ext/ice/cpp/include/Ice/Proxy.h +56 -25
- data/ext/ice/cpp/include/Ice/Service.h +1 -1
- data/ext/ice/cpp/include/IceSSL/Plugin.h +142 -0
- data/ext/ice/cpp/include/IceUtil/Config.h +3 -2
- data/ext/ice/cpp/include/IceUtil/Functional.h +3 -1
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +10 -4
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Connection.h +58 -15
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Current.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +50 -14
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +62 -2
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +523 -127
- data/ext/ice/cpp/include/generated/Ice/Locator.h +62 -14
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Logger.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +79 -27
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +14 -2
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Process.h +10 -4
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +11 -5
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +26 -8
- data/ext/ice/cpp/include/generated/Ice/Router.h +18 -6
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +8 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +14 -2
- data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +10 -5
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +8 -3
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Initialize.cpp +1 -1
- data/ext/ice/cpp/src/Ice/InputStream.cpp +29 -14
- data/ext/ice/cpp/src/Ice/Instance.cpp +3 -0
- data/ext/ice/cpp/src/Ice/Instance.h +2 -0
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocalException.cpp +398 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +32 -2
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Metrics.cpp +8 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Network.h +0 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +4 -4
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +8 -8
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +6 -3
- data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +9 -0
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +8 -2
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +5 -2
- data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +6 -2
- data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -0
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -0
- data/ext/ice/cpp/src/Ice/Thread.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +5 -1
- data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -4
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -0
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +491 -6
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -4
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +12 -1
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +23 -1
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +124 -19
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +60 -1
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +105 -2
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +2 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +114 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.h +21 -0
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +142 -1
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +117 -3
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +20 -1
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +4 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +133 -2
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +151 -89
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +1 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -0
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +6 -0
- data/ext/ice/cpp/src/IceUtil/Time.cpp +8 -10
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +6 -2
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +12 -4
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +4 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +11 -7
- data/ext/ice/cpp/src/Slice/Parser.h +2 -2
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +12 -0
- data/ext/ice/cpp/src/Slice/Preprocessor.h +1 -1
- data/ext/ice/cpp/src/Slice/Python.cpp +1 -1
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +17 -5
- data/ext/ice/cpp/src/Slice/Scanner.cpp +621 -369
- data/ext/ice/mcpp/CMakeLists.txt +80 -0
- data/ext/ice/mcpp/expand.c +6 -6
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapter.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/ServantLocator.rb +1 -1
- data/lib/Ice/ServantLocatorF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/ValueFactory.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/PluginFacade.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Ice/Communicator.ice +1 -1
- data/slice/IceBox/IceBox.ice +17 -2
- data/slice/IceDiscovery/IceDiscovery.ice +56 -0
- metadata +4 -4
@@ -329,7 +329,7 @@ Slice::DefinitionContext::initSuppressedWarnings()
|
|
329
329
|
else
|
330
330
|
{
|
331
331
|
warning(InvalidMetaData, "", "", string("invalid category `") + s +
|
332
|
-
"' in
|
332
|
+
"' in file metadata suppress-warning");
|
333
333
|
}
|
334
334
|
}
|
335
335
|
}
|
@@ -1107,7 +1107,11 @@ Slice::Contained::Contained(const ContainerPtr& container, const string& name) :
|
|
1107
1107
|
void
|
1108
1108
|
Slice::Container::destroy()
|
1109
1109
|
{
|
1110
|
+
#ifdef ICE_CPP11_COMPILER
|
1111
|
+
for_each(_contents.begin(), _contents.end(), [](const SyntaxTreeBasePtr& it) { it->destroy(); });
|
1112
|
+
#else
|
1110
1113
|
for_each(_contents.begin(), _contents.end(), ::IceUtil::voidMemFun(&SyntaxTreeBase::destroy));
|
1114
|
+
#endif
|
1111
1115
|
_contents.clear();
|
1112
1116
|
_introducedMap.clear();
|
1113
1117
|
SyntaxTreeBase::destroy();
|
@@ -2716,7 +2720,7 @@ Slice::Container::mergeModules()
|
|
2716
2720
|
}
|
2717
2721
|
|
2718
2722
|
//
|
2719
|
-
// Compare the
|
2723
|
+
// Compare the file metadata of the two modules being merged.
|
2720
2724
|
//
|
2721
2725
|
DefinitionContextPtr dc2 = mod2->definitionContext();
|
2722
2726
|
assert(dc2);
|
@@ -2725,7 +2729,7 @@ Slice::Container::mergeModules()
|
|
2725
2729
|
metaData2.unique();
|
2726
2730
|
if(!checkGlobalMetaData(metaData1, metaData2))
|
2727
2731
|
{
|
2728
|
-
unit()->warning(All, "
|
2732
|
+
unit()->warning(All, "file metadata mismatch for module `" + mod1->name() + "' in files " +
|
2729
2733
|
dc1->filename() + " and " + dc2->filename());
|
2730
2734
|
}
|
2731
2735
|
|
@@ -3065,7 +3069,7 @@ bool
|
|
3065
3069
|
Slice::Container::checkGlobalMetaData(const StringList& m1, const StringList& m2)
|
3066
3070
|
{
|
3067
3071
|
//
|
3068
|
-
// Not all
|
3072
|
+
// Not all file metadata mismatches represent actual problems. We are only concerned about
|
3069
3073
|
// the prefixes listed below (also see bug 2766).
|
3070
3074
|
//
|
3071
3075
|
static const char* prefixes[] =
|
@@ -3780,7 +3784,7 @@ void
|
|
3780
3784
|
Slice::ClassDef::destroy()
|
3781
3785
|
{
|
3782
3786
|
_declaration = 0;
|
3783
|
-
_bases.
|
3787
|
+
_bases.clear();
|
3784
3788
|
Container::destroy();
|
3785
3789
|
}
|
3786
3790
|
|
@@ -6546,12 +6550,12 @@ Slice::Unit::addGlobalMetaData(const StringList& metaData)
|
|
6546
6550
|
assert(dc);
|
6547
6551
|
if(dc->seenDefinition())
|
6548
6552
|
{
|
6549
|
-
error("
|
6553
|
+
error("file metadata must appear before any definitions");
|
6550
6554
|
}
|
6551
6555
|
else
|
6552
6556
|
{
|
6553
6557
|
//
|
6554
|
-
// Append the
|
6558
|
+
// Append the file metadata to any existing metadata (e.g., default file metadata).
|
6555
6559
|
//
|
6556
6560
|
StringList l = dc->getMetaData();
|
6557
6561
|
copy(metaData.begin(), metaData.end(), back_inserter(l));
|
@@ -181,7 +181,7 @@ struct OptionalDef
|
|
181
181
|
// CICompare -- function object to do case-insensitive string comparison.
|
182
182
|
// ----------------------------------------------------------------------
|
183
183
|
|
184
|
-
class CICompare
|
184
|
+
class CICompare
|
185
185
|
{
|
186
186
|
public:
|
187
187
|
|
@@ -197,7 +197,7 @@ bool cICompare(const std::string&, const std::string&);
|
|
197
197
|
// most-derived to least-derived order.
|
198
198
|
// ----------------------------------------------------------------------
|
199
199
|
|
200
|
-
class DerivedToBaseCompare
|
200
|
+
class DerivedToBaseCompare
|
201
201
|
{
|
202
202
|
public:
|
203
203
|
|
@@ -721,6 +721,18 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons
|
|
721
721
|
}
|
722
722
|
break;
|
723
723
|
}
|
724
|
+
case Swift:
|
725
|
+
{
|
726
|
+
//
|
727
|
+
// Change .o[bj] suffix to .swift suffix.
|
728
|
+
//
|
729
|
+
pos = 0;
|
730
|
+
if ((pos = result.find(suffix)) != string::npos)
|
731
|
+
{
|
732
|
+
result.replace(pos, suffix.size() - 1, ".swift");
|
733
|
+
}
|
734
|
+
break;
|
735
|
+
}
|
724
736
|
default:
|
725
737
|
{
|
726
738
|
assert(false);
|
@@ -27,7 +27,7 @@ public:
|
|
27
27
|
FILE* preprocess(bool, const std::vector<std::string>&);
|
28
28
|
bool close();
|
29
29
|
|
30
|
-
enum Language { CPlusPlus, Java, CSharp, Python, Ruby, PHP, JavaScript, JavaScriptJSON, ObjC, SliceXML, MATLAB };
|
30
|
+
enum Language { CPlusPlus, Java, CSharp, Python, Ruby, PHP, JavaScript, JavaScriptJSON, ObjC, SliceXML, MATLAB, Swift };
|
31
31
|
|
32
32
|
bool printMakefileDependencies(std::ostream&, Language, const std::vector<std::string>&, const std::string& = "",
|
33
33
|
const std::string& = "cpp", const std::string& = "");
|
@@ -685,7 +685,7 @@ Slice::Python::compile(const vector<string>& argv)
|
|
685
685
|
}
|
686
686
|
|
687
687
|
//
|
688
|
-
// Check if the file contains the python:pkgdir
|
688
|
+
// Check if the file contains the python:pkgdir file metadata.
|
689
689
|
//
|
690
690
|
const string pkgdir = getPackageDirectory(icecpp->getFileName(), u);
|
691
691
|
|
@@ -949,7 +949,15 @@ Slice::Python::CodeVisitor::visitClassDefStart(const ClassDefPtr& p)
|
|
949
949
|
//
|
950
950
|
ClassList allBases = p->allBases();
|
951
951
|
StringList ids;
|
952
|
+
#ifdef ICE_CPP11_COMPILER
|
953
|
+
transform(allBases.begin(), allBases.end(), back_inserter(ids),
|
954
|
+
[](const ContainedPtr& it)
|
955
|
+
{
|
956
|
+
return it->scoped();
|
957
|
+
});
|
958
|
+
#else
|
952
959
|
transform(allBases.begin(), allBases.end(), back_inserter(ids), IceUtil::constMemFun(&Contained::scoped));
|
960
|
+
#endif
|
953
961
|
StringList other;
|
954
962
|
other.push_back(scoped);
|
955
963
|
other.push_back("::Ice::Object");
|
@@ -2852,7 +2860,7 @@ Slice::Python::getPackageDirectory(const string& file, const UnitPtr& ut)
|
|
2852
2860
|
//
|
2853
2861
|
|
2854
2862
|
//
|
2855
|
-
// Check if the file contains the python:pkgdir
|
2863
|
+
// Check if the file contains the python:pkgdir file metadata.
|
2856
2864
|
//
|
2857
2865
|
DefinitionContextPtr dc = ut->findDefinitionContext(file);
|
2858
2866
|
assert(dc);
|
@@ -2877,7 +2885,7 @@ Slice::Python::getImportFileName(const string& file, const UnitPtr& ut, const ve
|
|
2877
2885
|
//
|
2878
2886
|
|
2879
2887
|
//
|
2880
|
-
// Check if the file contains the python:pkgdir
|
2888
|
+
// Check if the file contains the python:pkgdir file metadata.
|
2881
2889
|
//
|
2882
2890
|
string pkgdir = getPackageDirectory(file, ut);
|
2883
2891
|
if(!pkgdir.empty())
|
@@ -2999,7 +3007,11 @@ Slice::Python::fixIdent(const string& ident)
|
|
2999
3007
|
return lookupKwd(ident);
|
3000
3008
|
}
|
3001
3009
|
vector<string> ids = splitScopedName(ident);
|
3010
|
+
#ifdef ICE_CPP11_COMPILER
|
3011
|
+
transform(ids.begin(), ids.end(), ids.begin(), [](const string& id) -> string { return lookupKwd(id); });
|
3012
|
+
#else
|
3002
3013
|
transform(ids.begin(), ids.end(), ids.begin(), ptr_fun(lookupKwd));
|
3014
|
+
#endif
|
3003
3015
|
stringstream result;
|
3004
3016
|
for(vector<string>::const_iterator i = ids.begin(); i != ids.end(); ++i)
|
3005
3017
|
{
|
@@ -3034,7 +3046,7 @@ Slice::Python::getPackageMetadata(const ContainedPtr& cont)
|
|
3034
3046
|
assert(m);
|
3035
3047
|
|
3036
3048
|
//
|
3037
|
-
// The python:package metadata can be defined as
|
3049
|
+
// The python:package metadata can be defined as file metadata or applied to a top-level module.
|
3038
3050
|
// We check for the metadata at the top-level module first and then fall back to the global scope.
|
3039
3051
|
//
|
3040
3052
|
static const string prefix = "python:package:";
|
@@ -3101,7 +3113,7 @@ Slice::Python::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
|
|
3101
3113
|
static const string prefix = "python:";
|
3102
3114
|
|
3103
3115
|
//
|
3104
|
-
// Validate
|
3116
|
+
// Validate file metadata in the top-level file and all included files.
|
3105
3117
|
//
|
3106
3118
|
StringList files = p->allFiles();
|
3107
3119
|
for(StringList::iterator q = files.begin(); q != files.end(); ++q)
|
@@ -3126,7 +3138,7 @@ Slice::Python::MetaDataVisitor::visitUnitStart(const UnitPtr& p)
|
|
3126
3138
|
continue;
|
3127
3139
|
}
|
3128
3140
|
|
3129
|
-
dc->warning(InvalidMetaData, file, "", "ignoring invalid
|
3141
|
+
dc->warning(InvalidMetaData, file, "", "ignoring invalid file metadata `" + s + "'");
|
3130
3142
|
globalMetaData.remove(s);
|
3131
3143
|
}
|
3132
3144
|
}
|