zeroc-ice 3.7.9.1 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/IceRuby/Communicator.cpp +575 -0
- data/dist/IceRuby/Communicator.h +19 -0
- data/dist/IceRuby/Config.h +77 -0
- data/dist/IceRuby/Connection.cpp +428 -0
- data/dist/IceRuby/Connection.h +20 -0
- data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
- data/dist/IceRuby/DefaultSliceLoader.h +25 -0
- data/dist/IceRuby/Endpoint.cpp +342 -0
- data/dist/IceRuby/Endpoint.h +18 -0
- data/dist/IceRuby/ImplicitContext.cpp +143 -0
- data/dist/IceRuby/ImplicitContext.h +16 -0
- data/dist/IceRuby/Init.cpp +36 -0
- data/dist/IceRuby/Logger.cpp +146 -0
- data/dist/IceRuby/Logger.h +19 -0
- data/dist/IceRuby/Operation.cpp +623 -0
- data/dist/IceRuby/Operation.h +28 -0
- data/dist/IceRuby/Properties.cpp +413 -0
- data/dist/IceRuby/Properties.h +16 -0
- data/dist/IceRuby/Proxy.cpp +926 -0
- data/dist/IceRuby/Proxy.h +21 -0
- data/dist/IceRuby/RubySliceLoader.cpp +39 -0
- data/dist/IceRuby/RubySliceLoader.h +27 -0
- data/dist/IceRuby/Slice.cpp +199 -0
- data/dist/IceRuby/Slice.h +13 -0
- data/dist/IceRuby/Types.cpp +3133 -0
- data/dist/IceRuby/Types.h +533 -0
- data/dist/IceRuby/Util.cpp +553 -0
- data/dist/IceRuby/Util.h +485 -0
- data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
- data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
- data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
- data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
- data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
- data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
- data/dist/ice/cpp/include/Ice/Config.h +60 -0
- data/dist/ice/cpp/include/Ice/Connection.h +410 -0
- data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
- data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
- data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
- data/dist/ice/cpp/include/Ice/Current.h +60 -0
- data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
- data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
- data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
- data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
- data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
- data/dist/ice/cpp/include/Ice/Exception.h +56 -0
- data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
- data/dist/ice/cpp/include/Ice/Format.h +22 -0
- data/dist/ice/cpp/include/Ice/Ice.h +60 -0
- data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
- data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
- data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
- data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
- data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
- data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
- data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
- data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
- data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
- data/dist/ice/cpp/include/Ice/Logger.h +62 -0
- data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
- data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
- data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
- data/dist/ice/cpp/include/Ice/Object.h +168 -0
- data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
- data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
- data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
- data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
- data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
- data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
- data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
- data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
- data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
- data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
- data/dist/ice/cpp/include/Ice/Properties.h +307 -0
- data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
- data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
- data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
- data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
- data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
- data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
- data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
- data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
- data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
- data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
- data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
- data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
- data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
- data/dist/ice/cpp/include/Ice/Service.h +219 -0
- data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
- data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
- data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
- data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
- data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
- data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
- data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
- data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
- data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
- data/dist/ice/cpp/include/Ice/UUID.h +16 -0
- data/dist/ice/cpp/include/Ice/UserException.h +46 -0
- data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
- data/dist/ice/cpp/include/Ice/Value.h +127 -0
- data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
- data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
- data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
- data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
- data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
- data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
- data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
- data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
- data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
- data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
- data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
- data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
- data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
- data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
- data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
- data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
- data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
- data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
- data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
- data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
- data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
- data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
- data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
- data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
- data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
- data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
- data/dist/ice/cpp/src/Ice/Base64.h +26 -0
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
- data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
- data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
- data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
- data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
- data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
- data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
- data/dist/ice/cpp/src/Ice/Connector.h +38 -0
- data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
- data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
- data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
- data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
- data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
- data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
- data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
- data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
- data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
- data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
- data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
- data/dist/ice/cpp/src/Ice/Endian.h +40 -0
- data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
- data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
- data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
- data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
- data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
- data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
- data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
- data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
- data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
- data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
- data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
- data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
- data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
- data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
- data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
- data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
- data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
- data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
- data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
- data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
- data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
- data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
- data/dist/ice/cpp/src/Ice/Instance.h +225 -0
- data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
- data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
- data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
- data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
- data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
- data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
- data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
- data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
- data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
- data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
- data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
- data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
- data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
- data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
- data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
- data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
- data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
- data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
- data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
- data/dist/ice/cpp/src/Ice/Network.h +265 -0
- data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
- data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
- data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
- data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
- data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
- data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
- data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
- data/dist/ice/cpp/src/Ice/Options.h +119 -0
- data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
- data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
- data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
- data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
- data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
- data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
- data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
- data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
- data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
- data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
- data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
- data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
- data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
- data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
- data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
- data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
- data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
- data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
- data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
- data/dist/ice/cpp/src/Ice/Random.h +23 -0
- data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
- data/dist/ice/cpp/src/Ice/Reference.h +339 -0
- data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
- data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
- data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
- data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
- data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
- data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
- data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
- data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
- data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
- data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
- data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
- data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
- data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
- data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
- data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
- data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
- data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
- data/dist/ice/cpp/src/Ice/Selector.h +235 -0
- data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
- data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
- data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
- data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
- data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
- data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
- data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
- data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
- data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
- data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
- data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
- data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
- data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
- data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
- data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
- data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
- data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
- data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
- data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
- data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
- data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
- data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
- data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
- data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
- data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
- data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
- data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
- data/dist/ice/cpp/src/Ice/Timer.h +212 -0
- data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
- data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
- data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
- data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
- data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
- data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
- data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
- data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
- data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
- data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
- data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
- data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
- data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
- data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
- data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
- data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
- data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
- data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
- data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
- data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
- data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
- data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
- data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
- data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
- data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
- data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
- data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
- data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
- data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
- data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
- data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
- data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
- data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
- data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
- data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
- data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
- data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
- data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
- data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
- data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
- data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
- data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
- data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
- data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
- data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
- data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
- data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
- data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
- data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
- data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
- data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
- data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
- data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
- data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
- data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
- data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
- data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
- data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
- data/dist/ice/cpp/src/Slice/Util.h +134 -0
- data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
- data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
- data/dist/ice/mcpp/internal.H +530 -0
- data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
- data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
- data/dist/ice/slice/Glacier2/Router.ice +93 -0
- data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
- data/dist/ice/slice/Glacier2/Session.ice +133 -0
- data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
- data/dist/ice/slice/Ice/Context.ice +24 -0
- data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
- data/dist/ice/slice/Ice/Identity.ice +36 -0
- data/dist/ice/slice/Ice/Locator.ice +74 -0
- data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
- data/dist/ice/slice/Ice/Metrics.ice +201 -0
- data/dist/ice/slice/Ice/OperationMode.ice +38 -0
- data/dist/ice/slice/Ice/Process.ice +28 -0
- data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
- data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
- data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
- data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
- data/dist/ice/slice/Ice/Router.ice +54 -0
- data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
- data/dist/ice/slice/Ice/Version.ice +43 -0
- data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
- data/dist/ice/slice/IceGrid/Admin.ice +981 -0
- data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
- data/dist/ice/slice/IceGrid/Exception.ice +98 -0
- data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
- data/dist/ice/slice/IceGrid/Registry.ice +130 -0
- data/dist/ice/slice/IceGrid/Session.ice +64 -0
- data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
- data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
- data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
- data/dist/lib/Glacier2/Metrics.rb +41 -0
- data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
- data/dist/lib/Glacier2/Router.rb +73 -0
- data/dist/lib/Glacier2/SSLInfo.rb +64 -0
- data/dist/lib/Glacier2/Session.rb +187 -0
- data/dist/lib/Glacier2.rb +7 -0
- data/dist/lib/Ice/BuiltinSequences.rb +48 -0
- data/dist/lib/Ice/CompressBatch.rb +50 -0
- data/dist/lib/Ice/Context.rb +12 -0
- data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
- data/dist/lib/Ice/EndpointTypes.rb +28 -0
- data/dist/lib/Ice/Exception.rb +20 -0
- data/dist/lib/Ice/Identity.rb +47 -0
- data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
- data/dist/lib/Ice/InitializationData.rb +12 -0
- data/dist/lib/Ice/LocalExceptions.rb +168 -0
- data/dist/lib/Ice/Locator.rb +83 -0
- data/dist/lib/Ice/LocatorRegistry.rb +73 -0
- data/dist/lib/Ice/Metrics.rb +290 -0
- data/dist/lib/Ice/OperationMode.rb +58 -0
- data/dist/lib/Ice/Process.rb +34 -0
- data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
- data/dist/lib/Ice/PropertyDict.rb +12 -0
- data/dist/lib/Ice/Proxy.rb +85 -0
- data/dist/lib/Ice/ProxyFunctions.rb +69 -0
- data/dist/lib/Ice/RemoteLogger.rb +176 -0
- data/dist/lib/Ice/ReplyStatus.rb +65 -0
- data/dist/lib/Ice/Router.rb +59 -0
- data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
- data/dist/lib/Ice/SliceUtil.rb +41 -0
- data/dist/lib/Ice/Struct.rb +11 -0
- data/dist/lib/Ice/ToStringMode.rb +50 -0
- data/dist/lib/Ice/Value.rb +93 -0
- data/dist/lib/Ice/Version.rb +78 -0
- data/dist/lib/Ice.rb +37 -0
- data/dist/lib/IceBox/ServiceManager.rb +104 -0
- data/dist/lib/IceBox.rb +3 -0
- data/dist/lib/IceGrid/Admin.rb +1208 -0
- data/dist/lib/IceGrid/Descriptor.rb +989 -0
- data/dist/lib/IceGrid/Exception.rb +145 -0
- data/dist/lib/IceGrid/FileParser.rb +41 -0
- data/dist/lib/IceGrid/Registry.rb +168 -0
- data/dist/lib/IceGrid/Session.rb +56 -0
- data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
- data/dist/lib/IceGrid.rb +9 -0
- data/dist/lib/IceStorm/IceStorm.rb +251 -0
- data/dist/lib/IceStorm/Metrics.rb +55 -0
- data/dist/lib/IceStorm.rb +4 -0
- data/extconf.rb +89 -0
- data/ice.gemspec +22 -17
- data/scripts/slice2rb +10 -0
- metadata +536 -712
- data/ICE_LICENSE +0 -48
- data/LICENSE +0 -340
- data/MCPP_LICENSE +0 -29
- data/bin/slice2rb +0 -12
- data/ext/Communicator.cpp +0 -792
- data/ext/Communicator.h +0 -20
- data/ext/Config.h +0 -143
- data/ext/Connection.cpp +0 -532
- data/ext/Connection.h +0 -24
- data/ext/Endpoint.cpp +0 -340
- data/ext/Endpoint.h +0 -22
- data/ext/ImplicitContext.cpp +0 -144
- data/ext/ImplicitContext.h +0 -20
- data/ext/Init.cpp +0 -49
- data/ext/Logger.cpp +0 -147
- data/ext/Logger.h +0 -23
- data/ext/Operation.cpp +0 -661
- data/ext/Operation.h +0 -31
- data/ext/Properties.cpp +0 -365
- data/ext/Properties.h +0 -20
- data/ext/Proxy.cpp +0 -1396
- data/ext/Proxy.h +0 -22
- data/ext/Slice.cpp +0 -205
- data/ext/Slice.h +0 -17
- data/ext/Types.cpp +0 -3325
- data/ext/Types.h +0 -595
- data/ext/Util.cpp +0 -812
- data/ext/Util.h +0 -586
- data/ext/ValueFactoryManager.cpp +0 -441
- data/ext/ValueFactoryManager.h +0 -95
- data/ext/extconf.rb +0 -97
- data/ext/ice/cpp/include/Ice/Application.h +0 -326
- data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
- data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
- data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
- data/ext/ice/cpp/include/Ice/Config.h +0 -78
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
- data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
- data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
- data/ext/ice/cpp/include/Ice/Exception.h +0 -161
- data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
- data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
- data/ext/ice/cpp/include/Ice/Format.h +0 -38
- data/ext/ice/cpp/include/Ice/Functional.h +0 -140
- data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
- data/ext/ice/cpp/include/Ice/Handle.h +0 -182
- data/ext/ice/cpp/include/Ice/Ice.h +0 -55
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
- data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
- data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
- data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
- data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
- data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
- data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
- data/ext/ice/cpp/include/Ice/Object.h +0 -507
- data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
- data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
- data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
- data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
- data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
- data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
- data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
- data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
- data/ext/ice/cpp/include/Ice/Service.h +0 -379
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
- data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
- data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
- data/ext/ice/cpp/include/Ice/UUID.h +0 -19
- data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
- data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
- data/ext/ice/cpp/include/Ice/Value.h +0 -139
- data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
- data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
- data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
- data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
- data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
- data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
- data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
- data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
- data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
- data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
- data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
- data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
- data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
- data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
- data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
- data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
- data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
- data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
- data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
- data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
- data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
- data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
- data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
- data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
- data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
- data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
- data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
- data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
- data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
- data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
- data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
- data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
- data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
- data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
- data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
- data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
- data/ext/ice/cpp/src/Ice/ACM.h +0 -119
- data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
- data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
- data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
- data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
- data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
- data/ext/ice/cpp/src/Ice/Base64.h +0 -31
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
- data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
- data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
- data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
- data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
- data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
- data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
- data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
- data/ext/ice/cpp/src/Ice/Connector.h +0 -32
- data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
- data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
- data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
- data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
- data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
- data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
- data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
- data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
- data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
- data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
- data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
- data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
- data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
- data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
- data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
- data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
- data/ext/ice/cpp/src/Ice/Instance.h +0 -235
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
- data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
- data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
- data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
- data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
- data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
- data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
- data/ext/ice/cpp/src/Ice/Network.h +0 -371
- data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
- data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
- data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
- data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
- data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
- data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
- data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
- data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
- data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
- data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
- data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
- data/ext/ice/cpp/src/Ice/Reference.h +0 -323
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
- data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
- data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
- data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
- data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
- data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
- data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
- data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
- data/ext/ice/cpp/src/Ice/Selector.h +0 -308
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
- data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
- data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
- data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
- data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
- data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
- data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
- data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
- data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
- data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
- data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
- data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
- data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
- data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
- data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
- data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
- data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
- data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
- data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
- data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
- data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
- data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
- data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
- data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
- data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
- data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
- data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
- data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
- data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
- data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
- data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
- data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
- data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
- data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
- data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
- data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
- data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
- data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
- data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
- data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
- data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
- data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
- data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
- data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
- data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
- data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
- data/ext/ice/cpp/src/Slice/MD5.h +0 -39
- data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
- data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
- data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
- data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
- data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
- data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
- data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
- data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
- data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
- data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
- data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
- data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
- data/ext/ice/cpp/src/Slice/Util.h +0 -50
- data/ext/ice/mcpp/CMakeLists.txt +0 -80
- data/ext/ice/mcpp/LICENSE +0 -29
- data/ext/ice/mcpp/Makefile +0 -63
- data/ext/ice/mcpp/README.md +0 -32
- data/ext/ice/mcpp/internal.H +0 -530
- data/ext/ice/mcpp/mcpp.gyp +0 -88
- data/lib/Glacier2/Metrics.rb +0 -56
- data/lib/Glacier2/PermissionsVerifier.rb +0 -93
- data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
- data/lib/Glacier2/Router.rb +0 -95
- data/lib/Glacier2/RouterF.rb +0 -25
- data/lib/Glacier2/SSLInfo.rb +0 -72
- data/lib/Glacier2/Session.rb +0 -247
- data/lib/Glacier2.rb +0 -7
- data/lib/Ice/BuiltinSequences.rb +0 -60
- data/lib/Ice/Communicator.rb +0 -87
- data/lib/Ice/CommunicatorF.rb +0 -24
- data/lib/Ice/Connection.rb +0 -413
- data/lib/Ice/ConnectionF.rb +0 -32
- data/lib/Ice/Current.rb +0 -141
- data/lib/Ice/Endpoint.rb +0 -187
- data/lib/Ice/EndpointF.rb +0 -48
- data/lib/Ice/EndpointTypes.rb +0 -69
- data/lib/Ice/FacetMap.rb +0 -24
- data/lib/Ice/Identity.rb +0 -63
- data/lib/Ice/ImplicitContext.rb +0 -26
- data/lib/Ice/ImplicitContextF.rb +0 -24
- data/lib/Ice/Instrumentation.rb +0 -169
- data/lib/Ice/InstrumentationF.rb +0 -31
- data/lib/Ice/LocalException.rb +0 -1031
- data/lib/Ice/Locator.rb +0 -196
- data/lib/Ice/LocatorF.rb +0 -30
- data/lib/Ice/Logger.rb +0 -24
- data/lib/Ice/LoggerF.rb +0 -24
- data/lib/Ice/Metrics.rb +0 -337
- data/lib/Ice/ObjectAdapter.rb +0 -29
- data/lib/Ice/ObjectAdapterF.rb +0 -24
- data/lib/Ice/ObjectFactory.rb +0 -24
- data/lib/Ice/Plugin.rb +0 -30
- data/lib/Ice/PluginF.rb +0 -28
- data/lib/Ice/Process.rb +0 -53
- data/lib/Ice/ProcessF.rb +0 -25
- data/lib/Ice/Properties.rb +0 -25
- data/lib/Ice/PropertiesAdmin.rb +0 -63
- data/lib/Ice/PropertiesF.rb +0 -29
- data/lib/Ice/RemoteLogger.rb +0 -207
- data/lib/Ice/Router.rb +0 -87
- data/lib/Ice/RouterF.rb +0 -25
- data/lib/Ice/ServantLocator.rb +0 -26
- data/lib/Ice/ServantLocatorF.rb +0 -24
- data/lib/Ice/SliceChecksumDict.rb +0 -24
- data/lib/Ice/ValueFactory.rb +0 -28
- data/lib/Ice/Version.rb +0 -90
- data/lib/Ice.rb +0 -673
- data/lib/IceBox/IceBox.rb +0 -164
- data/lib/IceBox.rb +0 -5
- data/lib/IceGrid/Admin.rb +0 -1196
- data/lib/IceGrid/Descriptor.rb +0 -1034
- data/lib/IceGrid/Exception.rb +0 -376
- data/lib/IceGrid/FileParser.rb +0 -65
- data/lib/IceGrid/PluginFacade.rb +0 -35
- data/lib/IceGrid/Registry.rb +0 -209
- data/lib/IceGrid/Session.rb +0 -71
- data/lib/IceGrid/UserAccountMapper.rb +0 -61
- data/lib/IceGrid.rb +0 -9
- data/lib/IcePatch2/FileInfo.rb +0 -115
- data/lib/IcePatch2/FileServer.rb +0 -123
- data/lib/IcePatch2.rb +0 -5
- data/lib/IceStorm/IceStorm.rb +0 -332
- data/lib/IceStorm/Metrics.rb +0 -73
- data/lib/IceStorm.rb +0 -6
- data/slice/Glacier2/Metrics.ice +0 -88
- data/slice/Glacier2/PermissionsVerifier.ice +0 -111
- data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
- data/slice/Glacier2/Router.ice +0 -186
- data/slice/Glacier2/RouterF.ice +0 -29
- data/slice/Glacier2/SSLInfo.ice +0 -59
- data/slice/Glacier2/Session.ice +0 -274
- data/slice/Ice/BuiltinSequences.ice +0 -59
- data/slice/Ice/Communicator.ice +0 -676
- data/slice/Ice/CommunicatorF.ice +0 -31
- data/slice/Ice/Connection.ice +0 -516
- data/slice/Ice/ConnectionF.ice +0 -33
- data/slice/Ice/Current.ice +0 -170
- data/slice/Ice/Endpoint.ice +0 -291
- data/slice/Ice/EndpointF.ice +0 -43
- data/slice/Ice/EndpointTypes.ice +0 -48
- data/slice/Ice/FacetMap.ice +0 -36
- data/slice/Ice/Identity.ice +0 -75
- data/slice/Ice/ImplicitContext.ice +0 -119
- data/slice/Ice/ImplicitContextF.ice +0 -30
- data/slice/Ice/Instrumentation.ice +0 -509
- data/slice/Ice/InstrumentationF.ice +0 -38
- data/slice/Ice/LocalException.ice +0 -1040
- data/slice/Ice/Locator.ice +0 -239
- data/slice/Ice/LocatorF.ice +0 -32
- data/slice/Ice/Logger.ice +0 -99
- data/slice/Ice/LoggerF.ice +0 -31
- data/slice/Ice/Metrics.ice +0 -436
- data/slice/Ice/ObjectAdapter.ice +0 -710
- data/slice/Ice/ObjectAdapterF.ice +0 -31
- data/slice/Ice/ObjectFactory.ice +0 -71
- data/slice/Ice/Plugin.ice +0 -131
- data/slice/Ice/PluginF.ice +0 -36
- data/slice/Ice/Process.ice +0 -64
- data/slice/Ice/ProcessF.ice +0 -31
- data/slice/Ice/Properties.ice +0 -244
- data/slice/Ice/PropertiesAdmin.ice +0 -87
- data/slice/Ice/PropertiesF.ice +0 -32
- data/slice/Ice/RemoteLogger.ice +0 -226
- data/slice/Ice/Router.ice +0 -103
- data/slice/Ice/RouterF.ice +0 -31
- data/slice/Ice/ServantLocator.ice +0 -136
- data/slice/Ice/ServantLocatorF.ice +0 -31
- data/slice/Ice/SliceChecksumDict.ice +0 -36
- data/slice/Ice/ValueFactory.ice +0 -133
- data/slice/Ice/Version.ice +0 -51
- data/slice/IceBT/ConnectionInfo.ice +0 -59
- data/slice/IceBT/EndpointInfo.ice +0 -57
- data/slice/IceBT/Types.ice +0 -45
- data/slice/IceBox/IceBox.ice +0 -216
- data/slice/IceDiscovery/IceDiscovery.ice +0 -98
- data/slice/IceGrid/Admin.ice +0 -1957
- data/slice/IceGrid/Descriptor.ice +0 -1094
- data/slice/IceGrid/Exception.ice +0 -396
- data/slice/IceGrid/FileParser.ice +0 -72
- data/slice/IceGrid/PluginFacade.ice +0 -329
- data/slice/IceGrid/Registry.ice +0 -269
- data/slice/IceGrid/Session.ice +0 -128
- data/slice/IceGrid/UserAccountMapper.ice +0 -69
- data/slice/IceIAP/ConnectionInfo.ice +0 -74
- data/slice/IceIAP/EndpointInfo.ice +0 -68
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
- data/slice/IcePatch2/FileInfo.ice +0 -85
- data/slice/IcePatch2/FileServer.ice +0 -191
- data/slice/IceSSL/ConnectionInfo.ice +0 -54
- data/slice/IceSSL/ConnectionInfoF.ice +0 -31
- data/slice/IceSSL/EndpointInfo.ice +0 -45
- data/slice/IceStorm/IceStorm.ice +0 -414
- data/slice/IceStorm/Metrics.ice +0 -83
- /data/{ext → dist}/ice/mcpp/config.h +0 -0
- /data/{ext → dist}/ice/mcpp/configed.H +0 -0
- /data/{ext → dist}/ice/mcpp/directive.c +0 -0
- /data/{ext → dist}/ice/mcpp/eval.c +0 -0
- /data/{ext → dist}/ice/mcpp/expand.c +0 -0
- /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
- /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
- /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
- /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
- /data/{ext → dist}/ice/mcpp/support.c +0 -0
- /data/{ext → dist}/ice/mcpp/system.H +0 -0
- /data/{ext → dist}/ice/mcpp/system.c +0 -0
|
@@ -0,0 +1,1175 @@
|
|
|
1
|
+
// Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
#ifndef SLICE_PARSER_H
|
|
4
|
+
#define SLICE_PARSER_H
|
|
5
|
+
|
|
6
|
+
#include <array>
|
|
7
|
+
#include <cstdint>
|
|
8
|
+
#include <functional>
|
|
9
|
+
#include <list>
|
|
10
|
+
#include <map>
|
|
11
|
+
#include <memory>
|
|
12
|
+
#include <optional>
|
|
13
|
+
#include <ostream>
|
|
14
|
+
#include <set>
|
|
15
|
+
#include <stack>
|
|
16
|
+
#include <stdio.h>
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <string_view>
|
|
19
|
+
|
|
20
|
+
namespace Slice
|
|
21
|
+
{
|
|
22
|
+
//
|
|
23
|
+
// Format to use when marshaling a class instance.
|
|
24
|
+
//
|
|
25
|
+
enum FormatType
|
|
26
|
+
{
|
|
27
|
+
CompactFormat, // Minimal format.
|
|
28
|
+
SlicedFormat // Full format.
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
enum WarningCategory
|
|
32
|
+
{
|
|
33
|
+
All,
|
|
34
|
+
Deprecated,
|
|
35
|
+
InvalidMetadata,
|
|
36
|
+
InvalidComment
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
class GrammarBase;
|
|
40
|
+
class SyntaxTreeBase;
|
|
41
|
+
class Metadata;
|
|
42
|
+
class Type;
|
|
43
|
+
class Builtin;
|
|
44
|
+
class Contained;
|
|
45
|
+
class Container;
|
|
46
|
+
class Module;
|
|
47
|
+
class ClassDecl;
|
|
48
|
+
class ClassDef;
|
|
49
|
+
class InterfaceDecl;
|
|
50
|
+
class InterfaceDef;
|
|
51
|
+
class Exception;
|
|
52
|
+
class Struct;
|
|
53
|
+
class Operation;
|
|
54
|
+
class Parameter;
|
|
55
|
+
class DataMember;
|
|
56
|
+
class Sequence;
|
|
57
|
+
class Dictionary;
|
|
58
|
+
class Enum;
|
|
59
|
+
class Enumerator;
|
|
60
|
+
class Const;
|
|
61
|
+
class Unit;
|
|
62
|
+
|
|
63
|
+
using GrammarBasePtr = std::shared_ptr<GrammarBase>;
|
|
64
|
+
using SyntaxTreeBasePtr = std::shared_ptr<SyntaxTreeBase>;
|
|
65
|
+
using MetadataPtr = std::shared_ptr<Metadata>;
|
|
66
|
+
using TypePtr = std::shared_ptr<Type>;
|
|
67
|
+
using BuiltinPtr = std::shared_ptr<Builtin>;
|
|
68
|
+
using ContainedPtr = std::shared_ptr<Contained>;
|
|
69
|
+
using ContainerPtr = std::shared_ptr<Container>;
|
|
70
|
+
using ModulePtr = std::shared_ptr<Module>;
|
|
71
|
+
using ClassDeclPtr = std::shared_ptr<ClassDecl>;
|
|
72
|
+
using ClassDefPtr = std::shared_ptr<ClassDef>;
|
|
73
|
+
using InterfaceDeclPtr = std::shared_ptr<InterfaceDecl>;
|
|
74
|
+
using InterfaceDefPtr = std::shared_ptr<InterfaceDef>;
|
|
75
|
+
using ExceptionPtr = std::shared_ptr<Exception>;
|
|
76
|
+
using StructPtr = std::shared_ptr<Struct>;
|
|
77
|
+
using OperationPtr = std::shared_ptr<Operation>;
|
|
78
|
+
using ParameterPtr = std::shared_ptr<Parameter>;
|
|
79
|
+
using DataMemberPtr = std::shared_ptr<DataMember>;
|
|
80
|
+
using SequencePtr = std::shared_ptr<Sequence>;
|
|
81
|
+
using DictionaryPtr = std::shared_ptr<Dictionary>;
|
|
82
|
+
using EnumPtr = std::shared_ptr<Enum>;
|
|
83
|
+
using EnumeratorPtr = std::shared_ptr<Enumerator>;
|
|
84
|
+
using ConstPtr = std::shared_ptr<Const>;
|
|
85
|
+
using UnitPtr = std::shared_ptr<Unit>;
|
|
86
|
+
|
|
87
|
+
using StringList = std::list<std::string>;
|
|
88
|
+
using MetadataList = std::list<MetadataPtr>;
|
|
89
|
+
using TypeList = std::list<TypePtr>;
|
|
90
|
+
using ContainedList = std::list<ContainedPtr>;
|
|
91
|
+
using ModuleList = std::list<ModulePtr>;
|
|
92
|
+
using ClassList = std::list<ClassDefPtr>;
|
|
93
|
+
using InterfaceList = std::list<InterfaceDefPtr>;
|
|
94
|
+
using ExceptionList = std::list<ExceptionPtr>;
|
|
95
|
+
using EnumList = std::list<EnumPtr>;
|
|
96
|
+
using OperationList = std::list<OperationPtr>;
|
|
97
|
+
using DataMemberList = std::list<DataMemberPtr>;
|
|
98
|
+
using ParameterList = std::list<ParameterPtr>;
|
|
99
|
+
using EnumeratorList = std::list<EnumeratorPtr>;
|
|
100
|
+
|
|
101
|
+
bool containedCompare(const ContainedPtr& lhs, const ContainedPtr& rhs);
|
|
102
|
+
bool containedEqual(const ContainedPtr& lhs, const ContainedPtr& rhs);
|
|
103
|
+
|
|
104
|
+
template<typename T> bool compareTag(const T& lhs, const T& rhs) { return lhs->tag() < rhs->tag(); }
|
|
105
|
+
|
|
106
|
+
// ----------------------------------------------------------------------
|
|
107
|
+
// CICompare -- function object to do case-insensitive string comparison.
|
|
108
|
+
// ----------------------------------------------------------------------
|
|
109
|
+
|
|
110
|
+
class CICompare
|
|
111
|
+
{
|
|
112
|
+
public:
|
|
113
|
+
bool operator()(const std::string& lhs, const std::string& rhs) const;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
// ----------------------------------------------------------------------
|
|
117
|
+
// DerivedToBaseCompare -- function object to do sort exceptions into
|
|
118
|
+
// most-derived to least-derived order.
|
|
119
|
+
// ----------------------------------------------------------------------
|
|
120
|
+
|
|
121
|
+
class DerivedToBaseCompare
|
|
122
|
+
{
|
|
123
|
+
public:
|
|
124
|
+
bool operator()(const ExceptionPtr& lhs, const ExceptionPtr& rhs) const;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
// ----------------------------------------------------------------------
|
|
128
|
+
// ParserVisitor
|
|
129
|
+
// ----------------------------------------------------------------------
|
|
130
|
+
|
|
131
|
+
class ParserVisitor
|
|
132
|
+
{
|
|
133
|
+
public:
|
|
134
|
+
virtual ~ParserVisitor() = default;
|
|
135
|
+
virtual bool visitUnitStart(const UnitPtr& /*unit*/) { return true; }
|
|
136
|
+
virtual void visitUnitEnd(const UnitPtr& /*unit*/) {}
|
|
137
|
+
virtual bool visitModuleStart(const ModulePtr& /*module*/) { return true; }
|
|
138
|
+
virtual void visitModuleEnd(const ModulePtr& /*module*/) {}
|
|
139
|
+
virtual void visitClassDecl(const ClassDeclPtr& /*classDecl*/) {}
|
|
140
|
+
virtual bool visitClassDefStart(const ClassDefPtr& /*classDef*/) { return true; }
|
|
141
|
+
virtual void visitClassDefEnd(const ClassDefPtr& /*classDef*/) {}
|
|
142
|
+
virtual void visitInterfaceDecl(const InterfaceDeclPtr& /*interfaceDecl*/) {}
|
|
143
|
+
virtual bool visitInterfaceDefStart(const InterfaceDefPtr& /*interfaceDef*/) { return true; }
|
|
144
|
+
virtual void visitInterfaceDefEnd(const InterfaceDefPtr& /*interfaceDef*/) {}
|
|
145
|
+
virtual bool visitExceptionStart(const ExceptionPtr& /*exceptionDef*/) { return true; }
|
|
146
|
+
virtual void visitExceptionEnd(const ExceptionPtr& /*exceptionDef*/) {}
|
|
147
|
+
virtual bool visitStructStart(const StructPtr& /*structDef*/) { return true; }
|
|
148
|
+
virtual void visitStructEnd(const StructPtr& /*structDef*/) {}
|
|
149
|
+
virtual void visitOperation(const OperationPtr& /*operation*/) {}
|
|
150
|
+
virtual void visitParameter(const ParameterPtr& /*parameter*/) {}
|
|
151
|
+
virtual void visitDataMember(const DataMemberPtr& /*member*/) {}
|
|
152
|
+
virtual void visitSequence(const SequencePtr& /*sequence*/) {}
|
|
153
|
+
virtual void visitDictionary(const DictionaryPtr& /*dictionary*/) {}
|
|
154
|
+
virtual void visitEnum(const EnumPtr& /*enumDef*/) {}
|
|
155
|
+
virtual void visitConst(const ConstPtr& /*constDef*/) {}
|
|
156
|
+
|
|
157
|
+
[[nodiscard]] virtual bool shouldVisitIncludedDefinitions() const { return false; }
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
// ----------------------------------------------------------------------
|
|
161
|
+
// GrammarBase
|
|
162
|
+
// ----------------------------------------------------------------------
|
|
163
|
+
|
|
164
|
+
class GrammarBase
|
|
165
|
+
{
|
|
166
|
+
public:
|
|
167
|
+
virtual ~GrammarBase() = default;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// ----------------------------------------------------------------------
|
|
171
|
+
// Metadata
|
|
172
|
+
// ----------------------------------------------------------------------
|
|
173
|
+
|
|
174
|
+
class Metadata final : public GrammarBase
|
|
175
|
+
{
|
|
176
|
+
public:
|
|
177
|
+
Metadata(std::string rawMetadata, std::string file, int line);
|
|
178
|
+
[[nodiscard]] const std::string& directive() const;
|
|
179
|
+
[[nodiscard]] const std::string& arguments() const;
|
|
180
|
+
|
|
181
|
+
[[nodiscard]] const std::string& file() const;
|
|
182
|
+
[[nodiscard]] int line() const;
|
|
183
|
+
|
|
184
|
+
friend std::ostream& operator<<(std::ostream& out, const Metadata& metadata);
|
|
185
|
+
|
|
186
|
+
private:
|
|
187
|
+
std::string _directive;
|
|
188
|
+
std::string _arguments;
|
|
189
|
+
|
|
190
|
+
std::string _file;
|
|
191
|
+
int _line;
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
inline std::ostream& operator<<(std::ostream& ostr, const Metadata& metadata)
|
|
195
|
+
{
|
|
196
|
+
ostr << metadata._directive;
|
|
197
|
+
if (!metadata._arguments.empty())
|
|
198
|
+
{
|
|
199
|
+
ostr << ":" << metadata._arguments;
|
|
200
|
+
}
|
|
201
|
+
return ostr;
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// ----------------------------------------------------------------------
|
|
205
|
+
// DefinitionContext
|
|
206
|
+
// ----------------------------------------------------------------------
|
|
207
|
+
|
|
208
|
+
class DefinitionContext final
|
|
209
|
+
{
|
|
210
|
+
public:
|
|
211
|
+
DefinitionContext(int includeLevel);
|
|
212
|
+
|
|
213
|
+
/// Returns the file name of the definition context, as reported by the preprocessor.
|
|
214
|
+
/// This may be an absolute or relative path.
|
|
215
|
+
///
|
|
216
|
+
/// @return A reference to the file name.
|
|
217
|
+
[[nodiscard]] const std::string& filename() const;
|
|
218
|
+
|
|
219
|
+
/// Returns the resolved file name of the definition context. This is always an absolute path.
|
|
220
|
+
///
|
|
221
|
+
/// @return A reference to the resolved file name.
|
|
222
|
+
[[nodiscard]] const std::string& resolvedFilename() const;
|
|
223
|
+
[[nodiscard]] int includeLevel() const;
|
|
224
|
+
[[nodiscard]] bool seenDefinition() const;
|
|
225
|
+
|
|
226
|
+
void setFilename(std::string filename, std::string resolvedFilename);
|
|
227
|
+
void setSeenDefinition();
|
|
228
|
+
|
|
229
|
+
[[nodiscard]] const MetadataList& getMetadata() const;
|
|
230
|
+
void setMetadata(MetadataList metadata);
|
|
231
|
+
void appendMetadata(MetadataList metadata);
|
|
232
|
+
[[nodiscard]] bool hasMetadata(std::string_view directive) const;
|
|
233
|
+
[[nodiscard]] std::optional<std::string> getMetadataArgs(std::string_view directive) const;
|
|
234
|
+
|
|
235
|
+
[[nodiscard]] bool isSuppressed(WarningCategory category) const;
|
|
236
|
+
|
|
237
|
+
private:
|
|
238
|
+
void initSuppressedWarnings();
|
|
239
|
+
|
|
240
|
+
int _includeLevel;
|
|
241
|
+
MetadataList _metadata;
|
|
242
|
+
std::string _filename;
|
|
243
|
+
std::string _resolvedFilename;
|
|
244
|
+
bool _seenDefinition{false};
|
|
245
|
+
std::set<WarningCategory> _suppressedWarnings;
|
|
246
|
+
};
|
|
247
|
+
using DefinitionContextPtr = std::shared_ptr<DefinitionContext>;
|
|
248
|
+
|
|
249
|
+
// ----------------------------------------------------------------------
|
|
250
|
+
// DocComment
|
|
251
|
+
// ----------------------------------------------------------------------
|
|
252
|
+
|
|
253
|
+
class DocCommentParser;
|
|
254
|
+
|
|
255
|
+
class DocComment final
|
|
256
|
+
{
|
|
257
|
+
public:
|
|
258
|
+
/// Returns an unparsed 'DocComment' instance containing the provided string.
|
|
259
|
+
/// If the provided string is empty or only contains whitespace, this returns 'nullopt' instead.
|
|
260
|
+
[[nodiscard]] static std::optional<DocComment> createUnparsed(const std::string& rawDocComment);
|
|
261
|
+
|
|
262
|
+
[[nodiscard]] bool isDeprecated() const;
|
|
263
|
+
[[nodiscard]] const StringList& deprecated() const;
|
|
264
|
+
|
|
265
|
+
/// Contains all introductory lines up to the first tag.
|
|
266
|
+
[[nodiscard]] const StringList& overview() const;
|
|
267
|
+
/// Returns the contents of any '@remark' or '@remarks' tags.
|
|
268
|
+
[[nodiscard]] const StringList& remarks() const;
|
|
269
|
+
/// Targets of '@see' tags.
|
|
270
|
+
[[nodiscard]] const StringList& seeAlso() const;
|
|
271
|
+
|
|
272
|
+
/// Description of an operation's return value.
|
|
273
|
+
[[nodiscard]] const StringList& returns() const;
|
|
274
|
+
/// Parameter descriptions for an op. Key is parameter name.
|
|
275
|
+
[[nodiscard]] const std::map<std::string, StringList>& parameters() const;
|
|
276
|
+
/// Exception descriptions for an op. Key is exception name.
|
|
277
|
+
[[nodiscard]] const std::map<std::string, StringList>& exceptions() const;
|
|
278
|
+
|
|
279
|
+
private:
|
|
280
|
+
friend class DocCommentParser;
|
|
281
|
+
|
|
282
|
+
StringList _rawDocCommentLines;
|
|
283
|
+
|
|
284
|
+
bool _isDeprecated{false};
|
|
285
|
+
StringList _deprecated;
|
|
286
|
+
StringList _overview;
|
|
287
|
+
StringList _remarks;
|
|
288
|
+
StringList _seeAlso;
|
|
289
|
+
|
|
290
|
+
StringList _returns;
|
|
291
|
+
std::map<std::string, StringList> _parameters;
|
|
292
|
+
std::map<std::string, StringList> _exceptions;
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
// ----------------------------------------------------------------------
|
|
296
|
+
// SyntaxTreeBase
|
|
297
|
+
// ----------------------------------------------------------------------
|
|
298
|
+
|
|
299
|
+
class SyntaxTreeBase : public GrammarBase
|
|
300
|
+
{
|
|
301
|
+
public:
|
|
302
|
+
[[nodiscard]] virtual UnitPtr unit() const = 0;
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
// ----------------------------------------------------------------------
|
|
306
|
+
// Type
|
|
307
|
+
// ----------------------------------------------------------------------
|
|
308
|
+
|
|
309
|
+
class Type : public virtual SyntaxTreeBase
|
|
310
|
+
{
|
|
311
|
+
public:
|
|
312
|
+
[[nodiscard]] virtual bool isClassType() const;
|
|
313
|
+
[[nodiscard]] virtual bool usesClasses() const;
|
|
314
|
+
[[nodiscard]] virtual size_t minWireSize() const = 0;
|
|
315
|
+
[[nodiscard]] virtual std::string getOptionalFormat() const = 0;
|
|
316
|
+
[[nodiscard]] virtual bool isVariableLength() const = 0;
|
|
317
|
+
};
|
|
318
|
+
|
|
319
|
+
// ----------------------------------------------------------------------
|
|
320
|
+
// Builtin
|
|
321
|
+
// ----------------------------------------------------------------------
|
|
322
|
+
|
|
323
|
+
class Builtin final : public Type
|
|
324
|
+
{
|
|
325
|
+
public:
|
|
326
|
+
enum Kind
|
|
327
|
+
{
|
|
328
|
+
KindByte,
|
|
329
|
+
KindBool,
|
|
330
|
+
KindShort,
|
|
331
|
+
KindInt,
|
|
332
|
+
KindLong,
|
|
333
|
+
KindFloat,
|
|
334
|
+
KindDouble,
|
|
335
|
+
KindString,
|
|
336
|
+
KindObjectProxy,
|
|
337
|
+
KindValue
|
|
338
|
+
};
|
|
339
|
+
|
|
340
|
+
Builtin(UnitPtr unit, Kind kind);
|
|
341
|
+
void destroy();
|
|
342
|
+
[[nodiscard]] UnitPtr unit() const final;
|
|
343
|
+
|
|
344
|
+
[[nodiscard]] bool isClassType() const final;
|
|
345
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
346
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
347
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
348
|
+
|
|
349
|
+
[[nodiscard]] bool isNumericType() const;
|
|
350
|
+
[[nodiscard]] bool isIntegralType() const;
|
|
351
|
+
|
|
352
|
+
[[nodiscard]] Kind kind() const;
|
|
353
|
+
[[nodiscard]] std::string kindAsString() const;
|
|
354
|
+
static std::optional<Kind> kindFromString(std::string_view str);
|
|
355
|
+
|
|
356
|
+
// NOLINTNEXTLINE(cert-err58-cpp)
|
|
357
|
+
inline static const std::array<std::string, 10> builtinTable =
|
|
358
|
+
{"byte", "bool", "short", "int", "long", "float", "double", "string", "Object*", "Value"};
|
|
359
|
+
|
|
360
|
+
private:
|
|
361
|
+
const Kind _kind;
|
|
362
|
+
UnitPtr _unit;
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
// ----------------------------------------------------------------------
|
|
366
|
+
// Contained
|
|
367
|
+
// ----------------------------------------------------------------------
|
|
368
|
+
|
|
369
|
+
class Contained : public virtual SyntaxTreeBase
|
|
370
|
+
{
|
|
371
|
+
public:
|
|
372
|
+
virtual void destroy() {}
|
|
373
|
+
[[nodiscard]] ContainerPtr container() const;
|
|
374
|
+
[[nodiscard]] bool isTopLevel() const;
|
|
375
|
+
[[nodiscard]] virtual ModulePtr getTopLevelModule() const;
|
|
376
|
+
|
|
377
|
+
// Functions for getting the Slice name of an element.
|
|
378
|
+
|
|
379
|
+
/// Returns the Slice identifier of this element.
|
|
380
|
+
[[nodiscard]] std::string name() const;
|
|
381
|
+
|
|
382
|
+
/// Returns the Slice scope that this element is contained within (with a trailing '::').
|
|
383
|
+
[[nodiscard]] std::string scope() const;
|
|
384
|
+
|
|
385
|
+
/// Returns the fully-scoped Slice identifier of this element (equivalent to `scope() + name()`).
|
|
386
|
+
[[nodiscard]] std::string scoped() const;
|
|
387
|
+
|
|
388
|
+
// Functions for getting the mapped name of an element.
|
|
389
|
+
|
|
390
|
+
/// Returns the mapped identifier that this element will use in the target language.
|
|
391
|
+
[[nodiscard]] std::string mappedName() const;
|
|
392
|
+
|
|
393
|
+
/// Returns the mapped fully-scoped identifier that this element will use in the target language.
|
|
394
|
+
/// @param separator This string will be used to separate scope segments.
|
|
395
|
+
/// @param leading If true, the returned string will have a leading `separator` (defaults to false).
|
|
396
|
+
/// @remark Equivalent to `mappedScope(separator, leading) + mappedName()`.
|
|
397
|
+
[[nodiscard]] std::string mappedScoped(const std::string& separator, bool leading = false) const;
|
|
398
|
+
|
|
399
|
+
/// Returns the mapped scope that this element will be generated in in the target language.
|
|
400
|
+
/// @param separator This string will be used to separate scope segments.
|
|
401
|
+
/// @param leading If true, the returned string will have a leading `separator` (defaults to false).
|
|
402
|
+
[[nodiscard]] std::string mappedScope(const std::string& separator, bool leading = false) const;
|
|
403
|
+
|
|
404
|
+
// Functions to get information about where a Slice element was defined at.
|
|
405
|
+
|
|
406
|
+
[[nodiscard]] const std::string& file() const;
|
|
407
|
+
[[nodiscard]] int line() const;
|
|
408
|
+
|
|
409
|
+
[[nodiscard]] const std::optional<DocComment>& docComment() const;
|
|
410
|
+
|
|
411
|
+
[[nodiscard]] int includeLevel() const;
|
|
412
|
+
[[nodiscard]] DefinitionContextPtr definitionContext() const;
|
|
413
|
+
[[nodiscard]] UnitPtr unit() const final;
|
|
414
|
+
|
|
415
|
+
[[nodiscard]] virtual const MetadataList& getMetadata() const;
|
|
416
|
+
virtual void setMetadata(MetadataList metadata);
|
|
417
|
+
virtual void appendMetadata(MetadataList metadata);
|
|
418
|
+
[[nodiscard]] bool hasMetadata(std::string_view directive) const;
|
|
419
|
+
[[nodiscard]] std::optional<std::string> getMetadataArgs(std::string_view directive) const;
|
|
420
|
+
|
|
421
|
+
[[nodiscard]] std::optional<FormatType> parseFormatMetadata() const;
|
|
422
|
+
|
|
423
|
+
/// Returns true if this item is deprecated, due to the presence of 'deprecated' metadata.
|
|
424
|
+
/// @return `true` if this item has 'deprecated' metadata on it, `false` otherwise.
|
|
425
|
+
[[nodiscard]] bool isDeprecated() const;
|
|
426
|
+
|
|
427
|
+
/// If this item is deprecated, return its deprecation message (if present).
|
|
428
|
+
/// This is the string argument that can be optionally provided with 'deprecated' metadata.
|
|
429
|
+
/// @return The message provided to the 'deprecated' metadata, if present.
|
|
430
|
+
[[nodiscard]] std::optional<std::string> getDeprecationReason() const;
|
|
431
|
+
|
|
432
|
+
virtual void visit(ParserVisitor* visitor) = 0;
|
|
433
|
+
[[nodiscard]] virtual std::string kindOf() const = 0;
|
|
434
|
+
|
|
435
|
+
protected:
|
|
436
|
+
friend class DocCommentParser;
|
|
437
|
+
|
|
438
|
+
Contained(const ContainerPtr& container, std::string name);
|
|
439
|
+
|
|
440
|
+
ContainerPtr _container;
|
|
441
|
+
std::string _name;
|
|
442
|
+
std::string _file;
|
|
443
|
+
int _line;
|
|
444
|
+
std::optional<DocComment> _docComment;
|
|
445
|
+
int _includeLevel;
|
|
446
|
+
DefinitionContextPtr _definitionContext;
|
|
447
|
+
MetadataList _metadata;
|
|
448
|
+
};
|
|
449
|
+
|
|
450
|
+
// ----------------------------------------------------------------------
|
|
451
|
+
// Container
|
|
452
|
+
// ----------------------------------------------------------------------
|
|
453
|
+
|
|
454
|
+
class Container : public virtual SyntaxTreeBase, public std::enable_shared_from_this<Container>
|
|
455
|
+
{
|
|
456
|
+
public:
|
|
457
|
+
void destroyContents();
|
|
458
|
+
ModulePtr createModule(const std::string& name, bool nestedSyntax);
|
|
459
|
+
[[nodiscard]] ClassDefPtr createClassDef(const std::string& name, std::int32_t id, const ClassDefPtr& base);
|
|
460
|
+
[[nodiscard]] ClassDeclPtr createClassDecl(const std::string& name);
|
|
461
|
+
[[nodiscard]] InterfaceDefPtr createInterfaceDef(const std::string& name, const InterfaceList& bases);
|
|
462
|
+
[[nodiscard]] InterfaceDeclPtr createInterfaceDecl(const std::string& name);
|
|
463
|
+
[[nodiscard]] ExceptionPtr createException(const std::string& name, const ExceptionPtr& base);
|
|
464
|
+
[[nodiscard]] StructPtr createStruct(const std::string& name);
|
|
465
|
+
[[nodiscard]] SequencePtr createSequence(const std::string& name, const TypePtr& type, MetadataList metadata);
|
|
466
|
+
[[nodiscard]] DictionaryPtr createDictionary(
|
|
467
|
+
const std::string& name,
|
|
468
|
+
const TypePtr& keyType,
|
|
469
|
+
MetadataList keyMetadata,
|
|
470
|
+
const TypePtr& valueType,
|
|
471
|
+
MetadataList valueMetadata);
|
|
472
|
+
[[nodiscard]] EnumPtr createEnum(const std::string& name);
|
|
473
|
+
[[nodiscard]] ConstPtr createConst(
|
|
474
|
+
const std::string& name,
|
|
475
|
+
const TypePtr& constType,
|
|
476
|
+
MetadataList metadata,
|
|
477
|
+
const SyntaxTreeBasePtr& valueType,
|
|
478
|
+
const std::string& value);
|
|
479
|
+
[[nodiscard]] TypeList lookupType(const std::string& identifier);
|
|
480
|
+
[[nodiscard]] TypeList
|
|
481
|
+
lookupTypeNoBuiltin(const std::string& identifier, bool emitErrors, bool ignoreUndefined = false);
|
|
482
|
+
[[nodiscard]] ContainedList lookupContained(const std::string& identifier, bool emitErrors);
|
|
483
|
+
[[nodiscard]] InterfaceDefPtr lookupInterfaceDef(const std::string& identifier, bool emitErrors);
|
|
484
|
+
[[nodiscard]] ExceptionPtr lookupException(const std::string& identifier, bool emitErrors);
|
|
485
|
+
[[nodiscard]] ModuleList modules() const;
|
|
486
|
+
[[nodiscard]] InterfaceList interfaces() const;
|
|
487
|
+
[[nodiscard]] EnumList enums() const;
|
|
488
|
+
[[nodiscard]] EnumeratorList enumerators() const;
|
|
489
|
+
[[nodiscard]] EnumeratorList enumerators(const std::string& identifier) const;
|
|
490
|
+
[[nodiscard]] ContainedList contents() const;
|
|
491
|
+
void visitContents(ParserVisitor* visitor);
|
|
492
|
+
|
|
493
|
+
/// Reports an error when a Slice definition would retroactively change the meaning of an identifier.
|
|
494
|
+
/// For example:
|
|
495
|
+
/// ```
|
|
496
|
+
/// module Outer {
|
|
497
|
+
/// const int H = 12;
|
|
498
|
+
/// module Inner {
|
|
499
|
+
/// const int G = H;
|
|
500
|
+
/// class H {} // error: retroactively changes the meaning of 'H'
|
|
501
|
+
/// }
|
|
502
|
+
/// }
|
|
503
|
+
/// ```
|
|
504
|
+
/// Because the parser parses in order, the meaning of 'H' in 'Inner' is ordering dependent, which is not good.
|
|
505
|
+
/// The user should disambiguate by qualifying the type-reference as 'Outer::H'.
|
|
506
|
+
void checkHasChangedMeaning(const std::string& name, ContainedPtr namedThing = nullptr);
|
|
507
|
+
|
|
508
|
+
/// Returns `true` if this container is the global scope (i.e. it's of type `Unit`), and `false` otherwise.
|
|
509
|
+
/// If false, we emit an error message. So this function should only be called for types which cannot appear at
|
|
510
|
+
/// global scope... so everything except for `Module`s.
|
|
511
|
+
bool checkForGlobalDefinition(const char* definitionKindPlural);
|
|
512
|
+
|
|
513
|
+
/// Returns true if this contains elements of the specified type.
|
|
514
|
+
/// This check is recursive, so it will still return true even if the type is only contained indirectly.
|
|
515
|
+
template<typename T> [[nodiscard]] bool contains() const
|
|
516
|
+
{
|
|
517
|
+
for (const auto& p : contents())
|
|
518
|
+
{
|
|
519
|
+
if (std::dynamic_pointer_cast<T>(p))
|
|
520
|
+
{
|
|
521
|
+
return true;
|
|
522
|
+
}
|
|
523
|
+
ContainerPtr childContainer = std::dynamic_pointer_cast<Container>(p);
|
|
524
|
+
if (childContainer && childContainer->contains<T>())
|
|
525
|
+
{
|
|
526
|
+
return true;
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
return false;
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
[[nodiscard]] std::string thisScope() const;
|
|
533
|
+
|
|
534
|
+
protected:
|
|
535
|
+
bool validateConstant(
|
|
536
|
+
const std::string& name,
|
|
537
|
+
const TypePtr& type,
|
|
538
|
+
SyntaxTreeBasePtr& valueType,
|
|
539
|
+
const std::string& valueString,
|
|
540
|
+
bool isConstant);
|
|
541
|
+
|
|
542
|
+
ContainedList _contents;
|
|
543
|
+
std::map<std::string, ContainedPtr, CICompare> _introducedMap;
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
// ----------------------------------------------------------------------
|
|
547
|
+
// Module
|
|
548
|
+
// ----------------------------------------------------------------------
|
|
549
|
+
|
|
550
|
+
class Module final : public Container, public Contained
|
|
551
|
+
{
|
|
552
|
+
public:
|
|
553
|
+
Module(const ContainerPtr& container, const std::string& name, bool nestedSyntax);
|
|
554
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
555
|
+
[[nodiscard]] ModulePtr getTopLevelModule() const final;
|
|
556
|
+
void visit(ParserVisitor* visitor) final;
|
|
557
|
+
void destroy() final;
|
|
558
|
+
|
|
559
|
+
const bool usesNestedSyntax;
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
// ----------------------------------------------------------------------
|
|
563
|
+
// ClassDecl
|
|
564
|
+
// ----------------------------------------------------------------------
|
|
565
|
+
|
|
566
|
+
class ClassDecl final : public Contained, public Type, public std::enable_shared_from_this<ClassDecl>
|
|
567
|
+
{
|
|
568
|
+
public:
|
|
569
|
+
ClassDecl(const ContainerPtr& container, const std::string& name);
|
|
570
|
+
void destroy() final;
|
|
571
|
+
[[nodiscard]] ClassDefPtr definition() const;
|
|
572
|
+
[[nodiscard]] bool isClassType() const final;
|
|
573
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
574
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
575
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
576
|
+
void visit(ParserVisitor* visitor) final;
|
|
577
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
578
|
+
|
|
579
|
+
private:
|
|
580
|
+
friend class Container;
|
|
581
|
+
|
|
582
|
+
ClassDefPtr _definition;
|
|
583
|
+
};
|
|
584
|
+
|
|
585
|
+
// ----------------------------------------------------------------------
|
|
586
|
+
// ClassDef
|
|
587
|
+
// ----------------------------------------------------------------------
|
|
588
|
+
|
|
589
|
+
//
|
|
590
|
+
// Note: For the purpose of this parser, a class definition is not
|
|
591
|
+
// considered to be a type, but a class declaration is. And each class
|
|
592
|
+
// definition has at least one class declaration (but not vice versa),
|
|
593
|
+
// so if you need the class as a "type", use the
|
|
594
|
+
// declaration() operation to navigate to the class declaration.
|
|
595
|
+
//
|
|
596
|
+
class ClassDef final : public Container, public Contained
|
|
597
|
+
{
|
|
598
|
+
public:
|
|
599
|
+
ClassDef(const ContainerPtr& container, const std::string& name, std::int32_t id, ClassDefPtr base);
|
|
600
|
+
void destroy() final;
|
|
601
|
+
[[nodiscard]] DataMemberPtr createDataMember(
|
|
602
|
+
const std::string& name,
|
|
603
|
+
const TypePtr& type,
|
|
604
|
+
bool isOptional,
|
|
605
|
+
std::int32_t tag,
|
|
606
|
+
SyntaxTreeBasePtr defaultValueType,
|
|
607
|
+
std::optional<std::string> defaultValueString);
|
|
608
|
+
[[nodiscard]] ClassDeclPtr declaration() const;
|
|
609
|
+
[[nodiscard]] ClassDefPtr base() const;
|
|
610
|
+
[[nodiscard]] ClassList allBases() const;
|
|
611
|
+
[[nodiscard]] DataMemberList dataMembers() const;
|
|
612
|
+
[[nodiscard]] DataMemberList orderedOptionalDataMembers() const;
|
|
613
|
+
[[nodiscard]] DataMemberList allDataMembers() const;
|
|
614
|
+
[[nodiscard]] DataMemberList classDataMembers() const;
|
|
615
|
+
[[nodiscard]] bool canBeCyclic() const;
|
|
616
|
+
void visit(ParserVisitor* visitor) final;
|
|
617
|
+
[[nodiscard]] std::int32_t compactId() const;
|
|
618
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
619
|
+
|
|
620
|
+
// Class metadata is always stored on the underlying decl type, not the definition.
|
|
621
|
+
// So we override these `xMetadata` functions to forward to `_declarations->xMetadata()` instead.
|
|
622
|
+
[[nodiscard]] const MetadataList& getMetadata() const final;
|
|
623
|
+
void setMetadata(MetadataList metadata) final;
|
|
624
|
+
void appendMetadata(MetadataList metadata) final;
|
|
625
|
+
|
|
626
|
+
private:
|
|
627
|
+
friend class Container;
|
|
628
|
+
|
|
629
|
+
ClassDeclPtr _declaration;
|
|
630
|
+
ClassDefPtr _base;
|
|
631
|
+
std::int32_t _compactId;
|
|
632
|
+
};
|
|
633
|
+
|
|
634
|
+
// ----------------------------------------------------------------------
|
|
635
|
+
// InterfaceDecl
|
|
636
|
+
// ----------------------------------------------------------------------
|
|
637
|
+
|
|
638
|
+
class InterfaceDecl final : public Contained, public Type, public std::enable_shared_from_this<InterfaceDecl>
|
|
639
|
+
{
|
|
640
|
+
public:
|
|
641
|
+
InterfaceDecl(const ContainerPtr& container, const std::string& name);
|
|
642
|
+
void destroy() final;
|
|
643
|
+
[[nodiscard]] InterfaceDefPtr definition() const;
|
|
644
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
645
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
646
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
647
|
+
void visit(ParserVisitor* visitor) final;
|
|
648
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
649
|
+
|
|
650
|
+
static void checkBasesAreLegal(const std::string& name, const InterfaceList& bases, const UnitPtr& unit);
|
|
651
|
+
|
|
652
|
+
private:
|
|
653
|
+
friend class Container;
|
|
654
|
+
|
|
655
|
+
InterfaceDefPtr _definition;
|
|
656
|
+
|
|
657
|
+
using GraphPartitionList = std::list<InterfaceList>;
|
|
658
|
+
using StringPartitionList = std::list<StringList>;
|
|
659
|
+
|
|
660
|
+
static bool isInList(const GraphPartitionList& gpl, const InterfaceDefPtr& interfaceDef);
|
|
661
|
+
|
|
662
|
+
static void addPartition(
|
|
663
|
+
GraphPartitionList& partitions,
|
|
664
|
+
const GraphPartitionList::reverse_iterator& tail,
|
|
665
|
+
const InterfaceDefPtr& base);
|
|
666
|
+
static StringPartitionList toStringPartitionList(const GraphPartitionList& partitions);
|
|
667
|
+
static void checkPairIntersections(
|
|
668
|
+
const StringPartitionList& stringPartitions,
|
|
669
|
+
const std::string& name,
|
|
670
|
+
const UnitPtr& unit);
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
// ----------------------------------------------------------------------
|
|
674
|
+
// Operation
|
|
675
|
+
// ----------------------------------------------------------------------
|
|
676
|
+
|
|
677
|
+
class Operation final : public Container, public Contained
|
|
678
|
+
{
|
|
679
|
+
public:
|
|
680
|
+
//
|
|
681
|
+
// Note: The values of enumerators here *must* match the values for
|
|
682
|
+
// enumerators of Ice::OperationMode in slice/Ice/OperationMode.ice!
|
|
683
|
+
//
|
|
684
|
+
enum Mode
|
|
685
|
+
{
|
|
686
|
+
Normal = 0,
|
|
687
|
+
Idempotent = 2
|
|
688
|
+
};
|
|
689
|
+
|
|
690
|
+
Operation(const ContainerPtr&, const std::string&, TypePtr, bool, std::int32_t, Mode);
|
|
691
|
+
[[nodiscard]] InterfaceDefPtr interface() const;
|
|
692
|
+
[[nodiscard]] TypePtr returnType() const;
|
|
693
|
+
[[nodiscard]] bool returnIsOptional() const;
|
|
694
|
+
[[nodiscard]] std::int32_t returnTag() const;
|
|
695
|
+
[[nodiscard]] Mode mode() const;
|
|
696
|
+
[[nodiscard]] bool hasMarshaledResult() const;
|
|
697
|
+
|
|
698
|
+
ParameterPtr createParameter(const std::string& name, const TypePtr& type, bool isOptional, std::int32_t tag);
|
|
699
|
+
|
|
700
|
+
/// Returns all parameters of this operation.
|
|
701
|
+
[[nodiscard]] ParameterList parameters() const;
|
|
702
|
+
|
|
703
|
+
/// Returns a list of all this operation's in-parameters (all parameters not marked with 'out').
|
|
704
|
+
[[nodiscard]] ParameterList inParameters() const;
|
|
705
|
+
|
|
706
|
+
/// Returns all of this operation's in-parameters sorted in this order: '(required..., optional...)'.
|
|
707
|
+
/// Required parameters are kept in definition order and optional parameters are sorted by tag.
|
|
708
|
+
[[nodiscard]] ParameterList sortedInParameters() const;
|
|
709
|
+
|
|
710
|
+
/// Returns a list of all this operation's out-parameters (all parameters marked with 'out').
|
|
711
|
+
[[nodiscard]] ParameterList outParameters() const;
|
|
712
|
+
|
|
713
|
+
/// Creates a temporary Parameter that represents this operation's return value.
|
|
714
|
+
/// @param name The name of the return parameter.
|
|
715
|
+
/// @return A dummy Parameter that represents this operation's return value, or nullptr if this operation is
|
|
716
|
+
/// void.
|
|
717
|
+
/// @remark The returned Parameter is not "saved" by this operation - it's completely ephemeral.
|
|
718
|
+
/// The provided name is not checked for uniqueness: the caller must ensure it's unique enough for its purpose.
|
|
719
|
+
/// Furthermore, there is no way to specify a lang:identifier metadata for this parameter, so the mapped
|
|
720
|
+
/// parameter name is always the default (i.e., simply name).
|
|
721
|
+
[[nodiscard]] ParameterPtr returnParameter(const std::string& name);
|
|
722
|
+
|
|
723
|
+
/// Returns this operation's out parameters and return type sorted in this order: '(required..., optional...)'.
|
|
724
|
+
/// If the this operation's return type is non-void and non-optional, it is at the end of the 'required' list.
|
|
725
|
+
/// Otherwise, required parameters are kept in definition order and optional parameters are sorted by tag.
|
|
726
|
+
///
|
|
727
|
+
/// For convenience, non-void return types are represented by a dummy `Parameter` in this list.
|
|
728
|
+
/// However it's important to note that it is not _actually_ a parameter.
|
|
729
|
+
///
|
|
730
|
+
// Creating this temporary Parameter doesn't introduce cycles, since nothing from the AST points to it,
|
|
731
|
+
// even if it points back into the AST. So it will be destroyed when the returned list goes out of scope.
|
|
732
|
+
/// @param returnName The name of the return parameter. See #returnParameter for more details.
|
|
733
|
+
/// @return A list of all this operation's out-parameters and return type, sorted in the order described above.
|
|
734
|
+
[[nodiscard]] ParameterList sortedReturnAndOutParameters(const std::string& returnName);
|
|
735
|
+
|
|
736
|
+
[[nodiscard]] ExceptionList throws() const;
|
|
737
|
+
void setExceptionList(const ExceptionList& exceptions);
|
|
738
|
+
[[nodiscard]] bool sendsClasses() const;
|
|
739
|
+
[[nodiscard]] bool returnsClasses() const;
|
|
740
|
+
[[nodiscard]] bool returnsData() const;
|
|
741
|
+
|
|
742
|
+
/// Returns true if this operation has any out parameters or a non-void return type.
|
|
743
|
+
[[nodiscard]] bool returnsAnyValues() const;
|
|
744
|
+
/// Returns true if this operation's output parameters, plus any non-void return type, is greater than 1.
|
|
745
|
+
[[nodiscard]] bool returnsMultipleValues() const;
|
|
746
|
+
|
|
747
|
+
[[nodiscard]] bool sendsOptionals() const;
|
|
748
|
+
[[nodiscard]] bool receivesOptionals() const;
|
|
749
|
+
[[nodiscard]] std::optional<FormatType> format() const;
|
|
750
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
751
|
+
void visit(ParserVisitor* visitor) final;
|
|
752
|
+
void destroy() final;
|
|
753
|
+
|
|
754
|
+
private:
|
|
755
|
+
TypePtr _returnType;
|
|
756
|
+
bool _returnIsOptional;
|
|
757
|
+
std::int32_t _returnTag;
|
|
758
|
+
ExceptionList _throws;
|
|
759
|
+
Mode _mode;
|
|
760
|
+
};
|
|
761
|
+
|
|
762
|
+
// ----------------------------------------------------------------------
|
|
763
|
+
// InterfaceDef
|
|
764
|
+
// ----------------------------------------------------------------------
|
|
765
|
+
|
|
766
|
+
//
|
|
767
|
+
// Note: For the purpose of this parser, an interface definition is not
|
|
768
|
+
// considered to be a type, but an interface declaration is. And each interface
|
|
769
|
+
// definition has at least one interface declaration (but not vice versa),
|
|
770
|
+
// so if you need the interface as a "type", use the
|
|
771
|
+
// declaration() function to navigate to the interface declaration.
|
|
772
|
+
//
|
|
773
|
+
class InterfaceDef final : public Container, public Contained
|
|
774
|
+
{
|
|
775
|
+
public:
|
|
776
|
+
InterfaceDef(const ContainerPtr& container, const std::string& name, InterfaceList bases);
|
|
777
|
+
void destroy() final;
|
|
778
|
+
OperationPtr createOperation(
|
|
779
|
+
const std::string& name,
|
|
780
|
+
const TypePtr& returnType,
|
|
781
|
+
bool isOptional,
|
|
782
|
+
std::int32_t tag,
|
|
783
|
+
Operation::Mode mode = Operation::Normal);
|
|
784
|
+
|
|
785
|
+
[[nodiscard]] InterfaceDeclPtr declaration() const;
|
|
786
|
+
[[nodiscard]] InterfaceList bases() const;
|
|
787
|
+
[[nodiscard]] InterfaceList allBases() const;
|
|
788
|
+
[[nodiscard]] OperationList operations() const;
|
|
789
|
+
[[nodiscard]] OperationList allOperations() const;
|
|
790
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
791
|
+
void visit(ParserVisitor* visitor) final;
|
|
792
|
+
|
|
793
|
+
// Returns the type IDs of all the interfaces in the inheritance tree, in alphabetical order.
|
|
794
|
+
[[nodiscard]] StringList ids() const;
|
|
795
|
+
|
|
796
|
+
// Interface metadata is always stored on the underlying decl type, not the definition.
|
|
797
|
+
// So we override these `xMetadata` functions to forward to `_declarations->xMetadata()` instead.
|
|
798
|
+
[[nodiscard]] const MetadataList& getMetadata() const final;
|
|
799
|
+
void setMetadata(MetadataList metadata) final;
|
|
800
|
+
void appendMetadata(MetadataList metadata) final;
|
|
801
|
+
|
|
802
|
+
private:
|
|
803
|
+
friend class Container;
|
|
804
|
+
|
|
805
|
+
// Returns true if name does not collide with any base name; otherwise, false.
|
|
806
|
+
bool checkBaseOperationNames(const std::string& name, const std::vector<std::string>& baseNames);
|
|
807
|
+
|
|
808
|
+
InterfaceDeclPtr _declaration;
|
|
809
|
+
InterfaceList _bases;
|
|
810
|
+
};
|
|
811
|
+
|
|
812
|
+
// ----------------------------------------------------------------------
|
|
813
|
+
// Exception
|
|
814
|
+
// ----------------------------------------------------------------------
|
|
815
|
+
class Exception final : public Container, public Contained
|
|
816
|
+
{
|
|
817
|
+
public:
|
|
818
|
+
Exception(const ContainerPtr& container, const std::string& name, ExceptionPtr base);
|
|
819
|
+
void destroy() final;
|
|
820
|
+
[[nodiscard]] DataMemberPtr createDataMember(
|
|
821
|
+
const std::string& name,
|
|
822
|
+
const TypePtr& type,
|
|
823
|
+
bool isOptional,
|
|
824
|
+
std::int32_t tag,
|
|
825
|
+
SyntaxTreeBasePtr defaultValueType,
|
|
826
|
+
std::optional<std::string> defaultValueString);
|
|
827
|
+
[[nodiscard]] DataMemberList dataMembers() const;
|
|
828
|
+
[[nodiscard]] DataMemberList orderedOptionalDataMembers() const;
|
|
829
|
+
[[nodiscard]] DataMemberList allDataMembers() const;
|
|
830
|
+
[[nodiscard]] DataMemberList classDataMembers() const;
|
|
831
|
+
[[nodiscard]] ExceptionPtr base() const;
|
|
832
|
+
[[nodiscard]] ExceptionList allBases() const;
|
|
833
|
+
[[nodiscard]] bool isBaseOf(const ExceptionPtr& otherException) const;
|
|
834
|
+
[[nodiscard]] bool usesClasses() const;
|
|
835
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
836
|
+
void visit(ParserVisitor* visitor) final;
|
|
837
|
+
|
|
838
|
+
private:
|
|
839
|
+
ExceptionPtr _base;
|
|
840
|
+
};
|
|
841
|
+
|
|
842
|
+
// ----------------------------------------------------------------------
|
|
843
|
+
// Struct
|
|
844
|
+
// ----------------------------------------------------------------------
|
|
845
|
+
|
|
846
|
+
class Struct final : public Container, public Contained, public Type
|
|
847
|
+
{
|
|
848
|
+
public:
|
|
849
|
+
Struct(const ContainerPtr& container, const std::string& name);
|
|
850
|
+
[[nodiscard]] DataMemberPtr createDataMember(
|
|
851
|
+
const std::string& name,
|
|
852
|
+
const TypePtr& type,
|
|
853
|
+
SyntaxTreeBasePtr defaultValueType,
|
|
854
|
+
std::optional<std::string> defaultValueString);
|
|
855
|
+
[[nodiscard]] DataMemberList dataMembers() const;
|
|
856
|
+
[[nodiscard]] DataMemberList classDataMembers() const;
|
|
857
|
+
[[nodiscard]] bool usesClasses() const final;
|
|
858
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
859
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
860
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
861
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
862
|
+
void visit(ParserVisitor* visitor) final;
|
|
863
|
+
void destroy() final;
|
|
864
|
+
};
|
|
865
|
+
|
|
866
|
+
// ----------------------------------------------------------------------
|
|
867
|
+
// Sequence
|
|
868
|
+
// ----------------------------------------------------------------------
|
|
869
|
+
|
|
870
|
+
class Sequence final : public Contained, public Type, public std::enable_shared_from_this<Sequence>
|
|
871
|
+
{
|
|
872
|
+
public:
|
|
873
|
+
Sequence(const ContainerPtr& container, const std::string& name, TypePtr type, MetadataList typeMetadata);
|
|
874
|
+
[[nodiscard]] TypePtr type() const;
|
|
875
|
+
[[nodiscard]] MetadataList typeMetadata() const;
|
|
876
|
+
void setTypeMetadata(MetadataList metadata);
|
|
877
|
+
[[nodiscard]] bool usesClasses() const final;
|
|
878
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
879
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
880
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
881
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
882
|
+
void visit(ParserVisitor* visitor) final;
|
|
883
|
+
|
|
884
|
+
private:
|
|
885
|
+
TypePtr _type;
|
|
886
|
+
MetadataList _typeMetadata;
|
|
887
|
+
};
|
|
888
|
+
|
|
889
|
+
// ----------------------------------------------------------------------
|
|
890
|
+
// Dictionary
|
|
891
|
+
// ----------------------------------------------------------------------
|
|
892
|
+
|
|
893
|
+
class Dictionary final : public Contained, public Type, public std::enable_shared_from_this<Dictionary>
|
|
894
|
+
{
|
|
895
|
+
public:
|
|
896
|
+
Dictionary(
|
|
897
|
+
const ContainerPtr& container,
|
|
898
|
+
const std::string& name,
|
|
899
|
+
TypePtr keyType,
|
|
900
|
+
MetadataList keyMetadata,
|
|
901
|
+
TypePtr valueType,
|
|
902
|
+
MetadataList valueMetadata);
|
|
903
|
+
[[nodiscard]] TypePtr keyType() const;
|
|
904
|
+
[[nodiscard]] TypePtr valueType() const;
|
|
905
|
+
[[nodiscard]] MetadataList keyMetadata() const;
|
|
906
|
+
[[nodiscard]] MetadataList valueMetadata() const;
|
|
907
|
+
void setKeyMetadata(MetadataList metadata);
|
|
908
|
+
void setValueMetadata(MetadataList metadata);
|
|
909
|
+
[[nodiscard]] bool usesClasses() const final;
|
|
910
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
911
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
912
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
913
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
914
|
+
void visit(ParserVisitor* visitor) final;
|
|
915
|
+
|
|
916
|
+
static bool isLegalKeyType(const TypePtr& type);
|
|
917
|
+
|
|
918
|
+
private:
|
|
919
|
+
TypePtr _keyType;
|
|
920
|
+
TypePtr _valueType;
|
|
921
|
+
MetadataList _keyMetadata;
|
|
922
|
+
MetadataList _valueMetadata;
|
|
923
|
+
};
|
|
924
|
+
|
|
925
|
+
// ----------------------------------------------------------------------
|
|
926
|
+
// Enum
|
|
927
|
+
// ----------------------------------------------------------------------
|
|
928
|
+
|
|
929
|
+
class Enum final : public Container, public Contained, public Type
|
|
930
|
+
{
|
|
931
|
+
public:
|
|
932
|
+
Enum(const ContainerPtr& container, const std::string& name);
|
|
933
|
+
EnumeratorPtr createEnumerator(const std::string& name, std::optional<std::int32_t> explicitValue);
|
|
934
|
+
[[nodiscard]] bool hasExplicitValues() const;
|
|
935
|
+
[[nodiscard]] std::int32_t minValue() const;
|
|
936
|
+
[[nodiscard]] std::int32_t maxValue() const;
|
|
937
|
+
[[nodiscard]] size_t minWireSize() const final;
|
|
938
|
+
[[nodiscard]] std::string getOptionalFormat() const final;
|
|
939
|
+
[[nodiscard]] bool isVariableLength() const final;
|
|
940
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
941
|
+
void visit(ParserVisitor* visitor) final;
|
|
942
|
+
void destroy() final;
|
|
943
|
+
|
|
944
|
+
private:
|
|
945
|
+
bool _hasExplicitValues{false};
|
|
946
|
+
std::int32_t _minValue;
|
|
947
|
+
std::int32_t _maxValue{0};
|
|
948
|
+
std::int32_t _lastValue{-1};
|
|
949
|
+
};
|
|
950
|
+
|
|
951
|
+
// ----------------------------------------------------------------------
|
|
952
|
+
// Enumerator
|
|
953
|
+
// ----------------------------------------------------------------------
|
|
954
|
+
|
|
955
|
+
class Enumerator final : public Contained
|
|
956
|
+
{
|
|
957
|
+
public:
|
|
958
|
+
Enumerator(const ContainerPtr& container, const std::string& name, std::int32_t value, bool hasExplicitValue);
|
|
959
|
+
[[nodiscard]] EnumPtr type() const;
|
|
960
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
961
|
+
|
|
962
|
+
[[nodiscard]] bool hasExplicitValue() const;
|
|
963
|
+
[[nodiscard]] std::int32_t value() const;
|
|
964
|
+
|
|
965
|
+
void visit(ParserVisitor* visitor) final;
|
|
966
|
+
|
|
967
|
+
private:
|
|
968
|
+
bool _hasExplicitValue;
|
|
969
|
+
std::int32_t _value;
|
|
970
|
+
};
|
|
971
|
+
|
|
972
|
+
// ----------------------------------------------------------------------
|
|
973
|
+
// Const
|
|
974
|
+
// ----------------------------------------------------------------------
|
|
975
|
+
|
|
976
|
+
class Const final : public Contained, public std::enable_shared_from_this<Const>
|
|
977
|
+
{
|
|
978
|
+
public:
|
|
979
|
+
Const(
|
|
980
|
+
const ContainerPtr& container,
|
|
981
|
+
const std::string& name,
|
|
982
|
+
TypePtr type,
|
|
983
|
+
MetadataList typeMetadata,
|
|
984
|
+
SyntaxTreeBasePtr valueType,
|
|
985
|
+
std::string valueString);
|
|
986
|
+
[[nodiscard]] TypePtr type() const;
|
|
987
|
+
[[nodiscard]] MetadataList typeMetadata() const;
|
|
988
|
+
void setTypeMetadata(MetadataList metadata);
|
|
989
|
+
[[nodiscard]] SyntaxTreeBasePtr valueType() const;
|
|
990
|
+
[[nodiscard]] std::string value() const;
|
|
991
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
992
|
+
void visit(ParserVisitor* visitor) final;
|
|
993
|
+
|
|
994
|
+
private:
|
|
995
|
+
TypePtr _type;
|
|
996
|
+
MetadataList _typeMetadata;
|
|
997
|
+
SyntaxTreeBasePtr _valueType;
|
|
998
|
+
std::string _value;
|
|
999
|
+
};
|
|
1000
|
+
|
|
1001
|
+
// ----------------------------------------------------------------------
|
|
1002
|
+
// Parameter
|
|
1003
|
+
// ----------------------------------------------------------------------
|
|
1004
|
+
|
|
1005
|
+
class Parameter final : public Contained, public std::enable_shared_from_this<Parameter>
|
|
1006
|
+
{
|
|
1007
|
+
public:
|
|
1008
|
+
Parameter(
|
|
1009
|
+
const ContainerPtr& container,
|
|
1010
|
+
const std::string& name,
|
|
1011
|
+
TypePtr type,
|
|
1012
|
+
bool isOptional,
|
|
1013
|
+
std::int32_t tag);
|
|
1014
|
+
[[nodiscard]] TypePtr type() const;
|
|
1015
|
+
[[nodiscard]] bool isOutParam() const;
|
|
1016
|
+
void setIsOutParam();
|
|
1017
|
+
[[nodiscard]] bool optional() const;
|
|
1018
|
+
[[nodiscard]] std::int32_t tag() const;
|
|
1019
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
1020
|
+
void visit(ParserVisitor* visitor) final;
|
|
1021
|
+
|
|
1022
|
+
private:
|
|
1023
|
+
TypePtr _type;
|
|
1024
|
+
bool _isOutParam{false};
|
|
1025
|
+
bool _optional;
|
|
1026
|
+
std::int32_t _tag;
|
|
1027
|
+
};
|
|
1028
|
+
|
|
1029
|
+
// ----------------------------------------------------------------------
|
|
1030
|
+
// DataMember
|
|
1031
|
+
// ----------------------------------------------------------------------
|
|
1032
|
+
|
|
1033
|
+
class DataMember final : public Contained, public std::enable_shared_from_this<DataMember>
|
|
1034
|
+
{
|
|
1035
|
+
public:
|
|
1036
|
+
DataMember(
|
|
1037
|
+
const ContainerPtr& container,
|
|
1038
|
+
const std::string& name,
|
|
1039
|
+
TypePtr type,
|
|
1040
|
+
bool isOptional,
|
|
1041
|
+
std::int32_t tag,
|
|
1042
|
+
SyntaxTreeBasePtr defaultValueType,
|
|
1043
|
+
std::optional<std::string> defaultValueString);
|
|
1044
|
+
[[nodiscard]] TypePtr type() const;
|
|
1045
|
+
[[nodiscard]] bool optional() const;
|
|
1046
|
+
[[nodiscard]] std::int32_t tag() const;
|
|
1047
|
+
|
|
1048
|
+
// defaultValue() and defaultValueType() are either both null (no default value) or both non-null.
|
|
1049
|
+
[[nodiscard]] std::optional<std::string> defaultValue() const;
|
|
1050
|
+
[[nodiscard]] SyntaxTreeBasePtr defaultValueType() const;
|
|
1051
|
+
[[nodiscard]] std::string kindOf() const final;
|
|
1052
|
+
void visit(ParserVisitor* visitor) final;
|
|
1053
|
+
|
|
1054
|
+
private:
|
|
1055
|
+
TypePtr _type;
|
|
1056
|
+
bool _optional;
|
|
1057
|
+
std::int32_t _tag;
|
|
1058
|
+
SyntaxTreeBasePtr _defaultValueType;
|
|
1059
|
+
std::optional<std::string> _defaultValue;
|
|
1060
|
+
};
|
|
1061
|
+
|
|
1062
|
+
// ----------------------------------------------------------------------
|
|
1063
|
+
// Unit
|
|
1064
|
+
// ----------------------------------------------------------------------
|
|
1065
|
+
|
|
1066
|
+
class Unit final : public Container
|
|
1067
|
+
{
|
|
1068
|
+
public:
|
|
1069
|
+
static UnitPtr createUnit(std::string languageName, bool all);
|
|
1070
|
+
|
|
1071
|
+
Unit(std::string languageName, bool all);
|
|
1072
|
+
|
|
1073
|
+
[[nodiscard]] std::string languageName() const;
|
|
1074
|
+
|
|
1075
|
+
/// Sets `_currentDocComment` to the provided string, erasing anything currently stored in it.
|
|
1076
|
+
/// @param comment The raw comment string. It can span multiple lines and include comment formatting characters
|
|
1077
|
+
/// like '/**' and leading '*'. All such comment formatting will be removed by this function though.
|
|
1078
|
+
// Note that this is only called for JavaDoc style comments, where the comment is set in one-shot.
|
|
1079
|
+
void setDocComment(const std::string& comment);
|
|
1080
|
+
/// Appends the provided comment to `_currentDocComment` with a newline separator.
|
|
1081
|
+
/// @param comment The raw comment string. It shouldn't contain newlines, nor any comment formatting characters.
|
|
1082
|
+
/// Unlike `setDocComment`, this function doesn't process the comment string in any way.
|
|
1083
|
+
// Note that this is only called for triple-slash style comments, where each line is added separately.
|
|
1084
|
+
void appendToDocComment(const std::string& comment);
|
|
1085
|
+
/// Returns the current doc-comment string. This function uses move semantics. After calling it, the currently
|
|
1086
|
+
/// stored doc-comment will be cleared. This string can span multiple lines, and won't include formatting like
|
|
1087
|
+
/// leading '///' or opening '/**' etc.
|
|
1088
|
+
std::string currentDocComment();
|
|
1089
|
+
|
|
1090
|
+
[[nodiscard]] std::string currentFile() const;
|
|
1091
|
+
[[nodiscard]] const std::string& topLevelFile() const;
|
|
1092
|
+
[[nodiscard]] int currentLine() const;
|
|
1093
|
+
|
|
1094
|
+
int setCurrentFile(std::string currentFile, int lineNumber);
|
|
1095
|
+
[[nodiscard]] int currentIncludeLevel() const;
|
|
1096
|
+
|
|
1097
|
+
void addFileMetadata(MetadataList metadata);
|
|
1098
|
+
|
|
1099
|
+
void setSeenDefinition();
|
|
1100
|
+
|
|
1101
|
+
void error(std::string_view message);
|
|
1102
|
+
void error(std::string_view file, int line, std::string_view message);
|
|
1103
|
+
void warning(WarningCategory category, std::string_view message) const;
|
|
1104
|
+
void warning(std::string_view file, int line, WarningCategory category, std::string_view message) const;
|
|
1105
|
+
|
|
1106
|
+
[[nodiscard]] ContainerPtr currentContainer() const;
|
|
1107
|
+
void pushContainer(const ContainerPtr& container);
|
|
1108
|
+
void popContainer();
|
|
1109
|
+
|
|
1110
|
+
[[nodiscard]] DefinitionContextPtr currentDefinitionContext() const;
|
|
1111
|
+
|
|
1112
|
+
/// Returns the definition context for the given file, or nullptr if none exists.
|
|
1113
|
+
/// This method only checks `DefinitionContext::filename` and does not consider
|
|
1114
|
+
/// `DefinitionContext::resolvedFilename`.
|
|
1115
|
+
///
|
|
1116
|
+
/// @param file The file name to search for.
|
|
1117
|
+
/// @return A pointer to the matching definition context, or nullptr if not found.
|
|
1118
|
+
[[nodiscard]] DefinitionContextPtr findDefinitionContext(std::string_view file) const;
|
|
1119
|
+
|
|
1120
|
+
void addContent(const ContainedPtr& contained);
|
|
1121
|
+
[[nodiscard]] ContainedList findContents(const std::string& scopedName) const;
|
|
1122
|
+
|
|
1123
|
+
void addTypeId(std::int32_t compactId, const std::string& typeId);
|
|
1124
|
+
[[nodiscard]] std::string getTypeId(std::int32_t compactId) const;
|
|
1125
|
+
|
|
1126
|
+
// Returns the path names of the files included directly by the top-level file.
|
|
1127
|
+
[[nodiscard]] StringList includeFiles() const;
|
|
1128
|
+
|
|
1129
|
+
/// Returns the absolute paths of all files parsed by this unit.
|
|
1130
|
+
/// The first entry is the top-level file, followed by its direct and transitive dependencies in the order they
|
|
1131
|
+
/// were parsed.
|
|
1132
|
+
///
|
|
1133
|
+
/// @return A list of absolute paths to the parsed files.
|
|
1134
|
+
[[nodiscard]] StringList allFiles() const;
|
|
1135
|
+
|
|
1136
|
+
int parse(const std::string& filename, FILE* file, bool debugMode);
|
|
1137
|
+
|
|
1138
|
+
void destroy();
|
|
1139
|
+
void visit(ParserVisitor* visitor);
|
|
1140
|
+
[[nodiscard]] UnitPtr unit() const final;
|
|
1141
|
+
|
|
1142
|
+
/// Returns `EXIT_FAILURE` if 1 or more errors have been reported and `EXIT_SUCCESS` otherwise.
|
|
1143
|
+
[[nodiscard]] int getStatus() const;
|
|
1144
|
+
|
|
1145
|
+
// Not const, as builtins are created on the fly. (Lazy initialization.)
|
|
1146
|
+
BuiltinPtr createBuiltin(Builtin::Kind kind);
|
|
1147
|
+
|
|
1148
|
+
void addTopLevelModule(const std::string& file, const std::string& module);
|
|
1149
|
+
[[nodiscard]] std::set<std::string> getTopLevelModules(const std::string& file) const;
|
|
1150
|
+
|
|
1151
|
+
private:
|
|
1152
|
+
void pushDefinitionContext();
|
|
1153
|
+
void popDefinitionContext();
|
|
1154
|
+
|
|
1155
|
+
const std::string _languageName;
|
|
1156
|
+
bool _all;
|
|
1157
|
+
int _errors{0};
|
|
1158
|
+
std::string _currentDocComment;
|
|
1159
|
+
int _currentIncludeLevel{0};
|
|
1160
|
+
std::string _topLevelFile;
|
|
1161
|
+
std::stack<DefinitionContextPtr> _definitionContextStack;
|
|
1162
|
+
StringList _includeFiles;
|
|
1163
|
+
std::stack<ContainerPtr> _containerStack;
|
|
1164
|
+
std::map<Builtin::Kind, BuiltinPtr> _builtins;
|
|
1165
|
+
std::map<std::string, ContainedList> _contentMap;
|
|
1166
|
+
std::map<std::string, DefinitionContextPtr, std::less<>> _definitionContextMap;
|
|
1167
|
+
std::map<std::int32_t, std::string> _typeIds;
|
|
1168
|
+
std::map<std::string, std::set<std::string>> _fileTopLevelModules;
|
|
1169
|
+
StringList _allFiles;
|
|
1170
|
+
};
|
|
1171
|
+
|
|
1172
|
+
extern Unit* currentUnit; // The current parser for bison/flex
|
|
1173
|
+
}
|
|
1174
|
+
|
|
1175
|
+
#endif
|