zeroc-ice 3.6.5 → 3.7.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/BZIP2_LICENSE +42 -0
- data/ICE_LICENSE +17 -17
- data/LICENSE +12 -12
- data/bin/slice2rb +1 -1
- data/ext/Communicator.cpp +150 -53
- data/ext/Communicator.h +1 -1
- data/ext/Config.h +2 -12
- data/ext/Connection.cpp +89 -68
- data/ext/Connection.h +1 -1
- data/ext/Endpoint.cpp +16 -45
- data/ext/Endpoint.h +1 -1
- data/ext/ImplicitContext.cpp +1 -5
- data/ext/ImplicitContext.h +1 -1
- data/ext/Init.cpp +4 -1
- data/ext/Logger.cpp +1 -1
- data/ext/Logger.h +1 -1
- data/ext/Operation.cpp +33 -44
- data/ext/Operation.h +1 -1
- data/ext/Properties.cpp +1 -1
- data/ext/Properties.h +1 -1
- data/ext/Proxy.cpp +22 -57
- data/ext/Proxy.h +1 -1
- data/ext/Slice.cpp +5 -5
- data/ext/Slice.h +1 -1
- data/ext/Types.cpp +244 -171
- data/ext/Types.h +118 -66
- data/ext/Util.cpp +13 -9
- data/ext/Util.h +10 -10
- data/ext/ValueFactoryManager.cpp +445 -0
- data/ext/ValueFactoryManager.h +100 -0
- data/ext/extconf.rb +47 -45
- data/ext/ice/bzip2/blocksort.c +1094 -0
- data/ext/ice/bzip2/bzlib.c +1572 -0
- data/ext/ice/bzip2/bzlib.h +282 -0
- data/ext/ice/bzip2/bzlib_private.h +509 -0
- data/ext/ice/bzip2/compress.c +672 -0
- data/ext/ice/bzip2/crctable.c +104 -0
- data/ext/ice/bzip2/decompress.c +646 -0
- data/ext/ice/bzip2/huffman.c +205 -0
- data/ext/ice/bzip2/randtable.c +84 -0
- data/ext/ice/cpp/include/Ice/Application.h +77 -60
- data/ext/ice/cpp/include/Ice/AsyncResult.h +34 -318
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +4 -2
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +5 -10
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
- data/ext/ice/cpp/include/Ice/Buffer.h +10 -10
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +14 -12
- data/ext/ice/cpp/include/Ice/Comparable.h +130 -0
- data/ext/ice/cpp/include/Ice/Config.h +7 -36
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +107 -11
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +5 -1
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +28 -0
- data/ext/ice/cpp/include/Ice/{DefaultObjectFactory.h → DefaultValueFactory.h} +28 -14
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +4 -6
- data/ext/ice/cpp/include/Ice/Dispatcher.h +14 -13
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +7 -5
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
- data/ext/ice/cpp/include/Ice/Exception.h +66 -56
- data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +69 -0
- data/ext/ice/cpp/include/Ice/FactoryTable.h +11 -12
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +27 -25
- data/ext/ice/cpp/include/Ice/Format.h +6 -1
- data/ext/ice/cpp/include/Ice/Functional.h +33 -33
- data/ext/ice/cpp/include/Ice/GCObject.h +9 -5
- data/ext/ice/cpp/include/Ice/Handle.h +6 -11
- data/ext/ice/cpp/include/Ice/Ice.h +9 -5
- data/ext/ice/cpp/include/{IceUtil → Ice}/IconvStringConverter.h +108 -62
- data/ext/ice/cpp/include/Ice/Incoming.h +109 -33
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +63 -23
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +7 -1
- data/ext/ice/cpp/include/Ice/Initialize.h +178 -38
- data/ext/ice/cpp/include/Ice/InputStream.h +994 -0
- data/ext/ice/cpp/include/Ice/InstanceF.h +1 -2
- data/ext/ice/cpp/include/Ice/InterfaceByValue.h +46 -0
- data/ext/ice/cpp/include/Ice/LocalObject.h +9 -9
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +20 -14
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +114 -65
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +23 -5
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +99 -26
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +17 -4
- data/ext/ice/cpp/include/Ice/Object.h +105 -56
- data/ext/ice/cpp/include/Ice/ObjectF.h +8 -3
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +18 -8
- data/ext/ice/cpp/include/Ice/Optional.h +1084 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +655 -84
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +12 -6
- data/ext/ice/cpp/include/Ice/OutputStream.h +753 -0
- data/ext/ice/cpp/include/Ice/Protocol.h +19 -12
- data/ext/ice/cpp/include/Ice/Proxy.h +1329 -717
- data/ext/ice/cpp/include/Ice/ProxyF.h +11 -33
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +34 -50
- data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +22 -3
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +10 -4
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +6 -1
- data/ext/ice/cpp/include/{IceUtil → Ice}/SHA1.h +16 -16
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
- data/ext/ice/cpp/include/Ice/Service.h +13 -18
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
- data/ext/ice/cpp/include/Ice/SlicedData.h +46 -20
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +14 -6
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +159 -49
- data/ext/ice/cpp/include/Ice/StringConverter.h +52 -0
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
- data/{slice/Ice/ObjectFactoryF.ice → ext/ice/cpp/include/Ice/UUID.h} +9 -7
- data/ext/ice/cpp/include/{IceUtil → Ice}/UniquePtr.h +21 -22
- data/ext/ice/cpp/include/Ice/UniqueRef.h +98 -0
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +40 -8
- data/ext/ice/cpp/include/Ice/Value.h +104 -0
- data/{slice/Freeze/ConnectionF.ice → ext/ice/cpp/include/Ice/ValueF.h} +11 -7
- data/ext/ice/cpp/include/IceSSL/Config.h +8 -23
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +17 -6
- data/ext/ice/cpp/include/IceSSL/OpenSSL.h +130 -0
- data/ext/ice/cpp/include/IceSSL/Plugin.h +172 -259
- data/ext/ice/cpp/include/IceSSL/SChannel.h +66 -0
- data/ext/ice/cpp/include/IceSSL/SecureTransport.h +66 -0
- data/ext/ice/cpp/include/IceSSL/UWP.h +58 -0
- data/ext/ice/cpp/include/IceUtil/Atomic.h +8 -10
- data/ext/ice/cpp/include/IceUtil/Cond.h +17 -18
- data/ext/ice/cpp/include/IceUtil/Config.h +138 -39
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +97 -0
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +5 -5
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +23 -17
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -3
- data/ext/ice/cpp/include/IceUtil/Exception.h +157 -67
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +148 -0
- data/ext/ice/cpp/include/IceUtil/Functional.h +1 -2
- data/ext/ice/cpp/include/IceUtil/Handle.h +11 -11
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +4 -10
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +3 -3
- data/ext/ice/cpp/include/IceUtil/Iterator.h +2 -2
- data/ext/ice/cpp/include/IceUtil/Lock.h +8 -10
- data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -2
- data/ext/ice/cpp/include/IceUtil/Mutex.h +17 -11
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +2 -2
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/Optional.h +32 -18
- data/ext/ice/cpp/include/IceUtil/Options.h +17 -18
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +55 -29
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +6 -6
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +11 -10
- data/ext/ice/cpp/include/IceUtil/Random.h +3 -3
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +7 -8
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +58 -0
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +1 -9
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +8 -2
- data/ext/ice/cpp/include/IceUtil/Shared.h +5 -7
- data/ext/ice/cpp/{src → include}/IceUtil/StopWatch.h +2 -2
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +77 -72
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +32 -21
- data/ext/ice/cpp/include/IceUtil/Thread.h +10 -12
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +33 -42
- data/ext/ice/cpp/include/IceUtil/Time.h +3 -3
- data/ext/ice/cpp/include/IceUtil/Timer.h +14 -13
- data/ext/ice/cpp/include/IceUtil/UUID.h +2 -2
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
- data/ext/ice/cpp/include/{Ice → generated/Ice}/BuiltinSequences.h +41 -8
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +364 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/CommunicatorF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Connection.h +872 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ConnectionF.h +46 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Current.h +71 -8
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +582 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointF.h +62 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointTypes.h +31 -16
- data/ext/ice/cpp/include/{Ice → generated/Ice}/FacetMap.h +23 -8
- data/ext/ice/cpp/include/generated/Ice/Identity.h +221 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContext.h +72 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContextF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +602 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/InstrumentationF.h +54 -8
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +2802 -0
- data/ext/ice/cpp/include/generated/Ice/Locator.h +2036 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/LocatorF.h +53 -12
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Logger.h +71 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/LoggerF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +2649 -0
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +302 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ObjectAdapterF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +142 -0
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +197 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/PluginF.h +43 -8
- data/ext/ice/cpp/include/generated/Ice/Process.h +536 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ProcessF.h +45 -10
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Properties.h +88 -21
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +749 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/PropertiesF.h +48 -10
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1449 -0
- data/ext/ice/cpp/include/generated/Ice/Router.h +1032 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/RouterF.h +45 -10
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocator.h +65 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocatorF.h +40 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/SliceChecksumDict.h +23 -8
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +169 -0
- data/ext/ice/cpp/include/generated/Ice/Version.h +334 -0
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +172 -0
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +98 -0
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +156 -0
- data/ext/ice/cpp/src/Ice/ACM.cpp +18 -14
- data/ext/ice/cpp/src/Ice/ACM.h +9 -2
- data/ext/ice/cpp/{include → src}/Ice/ACMF.h +10 -5
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +6 -1
- data/ext/ice/cpp/src/Ice/Acceptor.h +4 -3
- data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.cpp +9 -9
- data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.h +7 -7
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +15 -538
- data/ext/ice/cpp/src/Ice/Base64.cpp +11 -11
- data/ext/ice/cpp/src/Ice/Base64.h +1 -1
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +40 -12
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +15 -10
- data/ext/ice/cpp/src/Ice/Buffer.cpp +74 -12
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +20 -6
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +85 -190
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +17 -18
- data/ext/ice/cpp/src/Ice/Communicator.cpp +39 -8
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +271 -104
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +84 -28
- data/ext/ice/cpp/src/{IceUtil → Ice}/Cond.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +58 -125
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +11 -22
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +6 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +88 -8
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +158 -80
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +41 -23
- data/ext/ice/cpp/{include → src}/Ice/ConnectionFactoryF.h +8 -3
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +707 -653
- data/ext/ice/cpp/src/Ice/ConnectionI.h +97 -69
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +2 -15
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +4 -3
- data/ext/ice/cpp/src/Ice/Connector.cpp +6 -1
- data/ext/ice/cpp/src/Ice/Connector.h +4 -3
- data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/CountDownLatch.cpp +4 -4
- data/ext/ice/cpp/src/Ice/Current.cpp +29 -6
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +6 -5
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +5 -25
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +29 -19
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +85 -6
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +152 -1
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +72 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +35 -19
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +10 -4
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +17 -1
- data/ext/ice/cpp/src/Ice/EndpointI.h +35 -9
- data/ext/ice/cpp/src/Ice/EndpointIF.h +18 -5
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +18 -6
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +6 -4
- data/ext/ice/cpp/src/Ice/EventHandler.h +13 -8
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +5 -2
- data/ext/ice/cpp/src/Ice/Exception.cpp +95 -86
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +20 -6
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +37 -28
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -4
- data/ext/ice/cpp/src/Ice/GCObject.cpp +28 -25
- data/ext/ice/cpp/src/Ice/HashUtil.h +2 -3
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -2
- data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +92 -53
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +19 -10
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +6 -2
- data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +56 -0
- data/ext/ice/cpp/src/Ice/Identity.cpp +24 -10
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +14 -14
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +7 -5
- data/ext/ice/cpp/src/Ice/Incoming.cpp +276 -245
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +104 -209
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +5 -4
- data/ext/ice/cpp/src/Ice/Initialize.cpp +299 -172
- data/ext/ice/cpp/src/Ice/InputStream.cpp +2773 -0
- data/ext/ice/cpp/src/Ice/Instance.cpp +191 -231
- data/ext/ice/cpp/src/Ice/Instance.h +30 -18
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +106 -7
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +117 -99
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +30 -31
- data/ext/ice/cpp/src/Ice/LocalException.cpp +1190 -416
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +1167 -1215
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +129 -163
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +29 -29
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
- data/ext/ice/cpp/src/Ice/Logger.cpp +35 -5
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +178 -73
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +4 -4
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +14 -44
- data/ext/ice/cpp/src/Ice/LoggerI.h +7 -13
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +10 -12
- data/ext/ice/cpp/src/Ice/Metrics.cpp +1059 -1069
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +49 -19
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +534 -170
- data/ext/ice/cpp/src/Ice/Network.h +100 -23
- data/ext/ice/cpp/src/Ice/NetworkF.h +2 -2
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +21 -14
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +5 -2
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
- data/ext/ice/cpp/src/Ice/Object.cpp +217 -221
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +35 -14
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +13 -7
- data/ext/ice/cpp/{include → src}/Ice/ObjectAdapterFactoryF.h +5 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +184 -58
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +32 -26
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +9 -32
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +40 -18
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +14 -5
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +803 -365
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +1399 -0
- data/ext/ice/cpp/src/Ice/Plugin.cpp +45 -6
- data/ext/ice/cpp/src/Ice/PluginF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +13 -13
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +5 -6
- data/ext/ice/cpp/src/Ice/Process.cpp +256 -114
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/Properties.cpp +38 -8
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +340 -328
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +81 -17
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +29 -5
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +25 -26
- data/ext/ice/cpp/src/Ice/PropertiesI.h +8 -11
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +107 -50
- data/ext/ice/cpp/src/Ice/PropertyNames.h +4 -2
- data/ext/ice/cpp/src/Ice/Protocol.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +37 -2
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +9 -20
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +6 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +3 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
- data/ext/ice/cpp/src/Ice/Proxy.cpp +690 -964
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +23 -32
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +16 -11
- data/ext/ice/cpp/src/Ice/Reference.cpp +75 -69
- data/ext/ice/cpp/src/Ice/Reference.h +27 -22
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +18 -21
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +12 -12
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +18 -4
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +672 -552
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +5 -3
- data/ext/ice/cpp/src/Ice/RequestHandler.h +10 -13
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +10 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +2 -2
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +3 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +16 -7
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +6 -12
- data/ext/ice/cpp/src/Ice/RetryQueue.h +7 -6
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
- data/ext/ice/cpp/src/Ice/Router.cpp +523 -474
- data/ext/ice/cpp/src/Ice/RouterF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +91 -70
- data/ext/ice/cpp/src/Ice/RouterInfo.h +43 -32
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/SHA1.cpp +21 -21
- data/ext/ice/cpp/src/Ice/Selector.cpp +989 -923
- data/ext/ice/cpp/src/Ice/Selector.h +100 -147
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +9 -9
- data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
- data/ext/ice/cpp/src/Ice/SharedContext.h +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +20 -6
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +72 -20
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +173 -18
- data/ext/ice/cpp/src/Ice/StreamSocket.h +13 -4
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +48 -17
- data/ext/ice/cpp/src/Ice/StringUtil.h +35 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +8 -4
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +2 -3
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +158 -32
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +12 -5
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -7
- data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -2
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +40 -32
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +11 -8
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +12 -27
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -10
- data/ext/ice/cpp/src/{IceUtil → Ice}/Thread.cpp +24 -41
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +175 -267
- data/ext/ice/cpp/src/Ice/ThreadPool.h +38 -43
- data/ext/ice/cpp/src/{IceUtil → Ice}/Timer.cpp +28 -21
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -2
- data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +2 -2
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +53 -31
- data/ext/ice/cpp/src/Ice/TraceUtil.h +13 -6
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Transceiver.h +8 -7
- data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +2 -8
- data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -2
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +92 -31
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +12 -4
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +150 -179
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +15 -17
- data/ext/ice/cpp/src/Ice/Value.cpp +81 -0
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +84 -0
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +70 -0
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +42 -0
- data/ext/ice/cpp/src/Ice/Version.cpp +24 -14
- data/ext/ice/cpp/src/Ice/VirtualShared.h +43 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +3 -9
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +3 -7
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +5 -11
- data/ext/ice/cpp/src/Ice/WSConnector.h +3 -6
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +185 -80
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +21 -31
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +41 -37
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +7 -21
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +526 -264
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +341 -455
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +86 -26
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +59 -23
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +315 -61
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +83 -36
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +57 -59
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +396 -159
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +251 -355
- data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +52 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +526 -131
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +19 -165
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +8 -17
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +284 -0
- data/ext/ice/cpp/src/IceSSL/CertificateI.h +69 -0
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +39 -11
- data/ext/ice/cpp/src/{Ice/ObjectFactoryF.cpp → IceSSL/ConnectionInfoF.cpp} +31 -9
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +14 -56
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +6 -13
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +205 -197
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +41 -33
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +39 -10
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/Instance.h +7 -7
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +11 -7
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +588 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +117 -152
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +64 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +32 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +132 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +400 -89
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +36 -21
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +291 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +63 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +71 -41
- data/ext/ice/cpp/src/IceSSL/PluginI.h +13 -18
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +9 -54
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +7 -7
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +585 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +491 -75
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +126 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +32 -0
- data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +78 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +126 -169
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +19 -22
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +79 -74
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +24 -187
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +4 -19
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +862 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +56 -214
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +60 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +31 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +80 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +137 -144
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +25 -28
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +857 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +46 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +9 -13
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +4 -4
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +3 -3
- data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +271 -0
- data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +343 -0
- data/ext/ice/cpp/src/IceSSL/UWPEngine.h +46 -0
- data/ext/ice/cpp/{include/Ice/ObjectFactoryManagerF.h → src/IceSSL/UWPEngineF.h} +13 -8
- data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +94 -0
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +388 -0
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +76 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +66 -1256
- data/ext/ice/cpp/src/IceSSL/Util.h +48 -137
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +162 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +22 -22
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +34 -26
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +20 -31
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +25 -116
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Options.cpp +23 -46
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +7 -6
- data/ext/ice/cpp/src/IceUtil/Random.cpp +13 -13
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +3 -9
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +8 -3
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +501 -264
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +540 -235
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +37 -74
- data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +10 -10
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +98 -97
- data/ext/ice/cpp/src/IceUtil/Unicode.h +21 -35
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +838 -0
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +815 -163
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +76 -0
- data/ext/ice/cpp/src/Slice/Checksum.cpp +2 -2
- data/ext/ice/cpp/{include → src}/Slice/Checksum.h +2 -2
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +25 -78
- data/ext/ice/cpp/{include → src}/Slice/FileTracker.h +9 -9
- data/ext/ice/cpp/src/Slice/Grammar.cpp +1994 -1943
- data/ext/ice/cpp/src/Slice/Grammar.h +44 -24
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +14 -14
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2658 -1927
- data/ext/ice/cpp/{include → src}/Slice/JavaUtil.h +178 -59
- data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
- data/ext/ice/cpp/src/Slice/MD5.h +1 -1
- data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -1
- data/ext/ice/cpp/src/Slice/MD5I.h +1 -1
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +12 -15
- data/ext/ice/cpp/{include → src}/Slice/PHPUtil.h +6 -15
- data/ext/ice/cpp/src/Slice/Parser.cpp +802 -307
- data/ext/ice/cpp/{include → src}/Slice/Parser.h +76 -84
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +43 -21
- data/ext/ice/cpp/{include → src}/Slice/Preprocessor.h +7 -12
- data/ext/ice/cpp/src/Slice/Python.cpp +207 -86
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +683 -679
- data/ext/ice/cpp/{include → src}/Slice/PythonUtil.h +19 -8
- data/ext/ice/cpp/src/Slice/Ruby.cpp +38 -34
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +177 -445
- data/ext/ice/cpp/{include → src}/Slice/RubyUtil.h +6 -6
- data/ext/ice/cpp/src/Slice/Scanner.cpp +218 -306
- data/ext/ice/cpp/src/Slice/{Util.cpp → SliceUtil.cpp} +37 -64
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +374 -0
- data/ext/ice/cpp/src/Slice/Util.h +54 -0
- data/ext/ice/mcpp/Makefile +5 -2
- data/ice.gemspec +2 -7
- data/lib/Glacier2.rb +1 -1
- data/lib/Glacier2/Metrics.rb +7 -46
- data/lib/Glacier2/PermissionsVerifier.rb +24 -95
- data/lib/Glacier2/PermissionsVerifierF.rb +3 -3
- data/lib/Glacier2/Router.rb +32 -74
- data/lib/Glacier2/RouterF.rb +3 -3
- data/lib/Glacier2/SSLInfo.rb +4 -7
- data/lib/Glacier2/Session.rb +88 -307
- data/lib/Ice.rb +83 -52
- data/lib/Ice/BuiltinSequences.rb +4 -4
- data/lib/Ice/Communicator.rb +56 -58
- data/lib/Ice/CommunicatorF.rb +3 -3
- data/lib/Ice/Connection.rb +153 -162
- data/lib/Ice/ConnectionF.rb +3 -3
- data/lib/Ice/Current.rb +4 -11
- data/lib/Ice/Endpoint.rb +57 -133
- data/lib/Ice/EndpointF.rb +3 -3
- data/lib/Ice/EndpointTypes.rb +3 -7
- data/lib/Ice/FacetMap.rb +4 -4
- data/lib/Ice/Identity.rb +5 -8
- data/lib/Ice/ImplicitContext.rb +5 -34
- data/lib/Ice/ImplicitContextF.rb +3 -3
- data/lib/Ice/Instrumentation.rb +23 -275
- data/lib/Ice/InstrumentationF.rb +3 -3
- data/lib/Ice/LocalException.rb +95 -141
- data/lib/Ice/Locator.rb +51 -165
- data/lib/Ice/LocatorF.rb +3 -3
- data/lib/Ice/Logger.rb +5 -34
- data/lib/Ice/LoggerF.rb +3 -3
- data/lib/Ice/Metrics.rb +61 -416
- data/lib/Ice/ObjectAdapter.rb +34 -0
- data/lib/Ice/ObjectAdapterF.rb +3 -3
- data/lib/Ice/ObjectFactory.rb +5 -30
- data/lib/Ice/Plugin.rb +7 -60
- data/lib/Ice/PluginF.rb +3 -3
- data/lib/Ice/Process.rb +16 -52
- data/lib/Ice/ProcessF.rb +3 -3
- data/lib/Ice/Properties.rb +5 -41
- data/lib/Ice/PropertiesAdmin.rb +19 -56
- data/lib/Ice/PropertiesF.rb +3 -3
- data/lib/Ice/RemoteLogger.rb +34 -115
- data/lib/Ice/Router.rb +29 -101
- data/lib/Ice/RouterF.rb +3 -3
- data/lib/Ice/ServantLocator.rb +31 -0
- data/lib/Ice/{ObjectFactoryF.rb → ServantLocatorF.rb} +6 -6
- data/lib/Ice/SliceChecksumDict.rb +3 -3
- data/lib/Ice/ValueFactory.rb +33 -0
- data/lib/Ice/Version.rb +5 -11
- data/lib/IceBox.rb +1 -1
- data/lib/IceBox/IceBox.rb +44 -148
- data/lib/IceGrid.rb +1 -4
- data/lib/IceGrid/Admin.rb +551 -427
- data/lib/IceGrid/Descriptor.rb +62 -529
- data/lib/IceGrid/Exception.rb +24 -45
- data/lib/IceGrid/FileParser.rb +14 -50
- data/lib/IceGrid/PluginFacade.rb +40 -0
- data/lib/IceGrid/Registry.rb +151 -58
- data/lib/IceGrid/Session.rb +25 -64
- data/lib/IceGrid/UserAccountMapper.rb +14 -50
- data/lib/IcePatch2.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +5 -11
- data/lib/IcePatch2/FileServer.rb +33 -76
- data/lib/IceStorm.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +79 -206
- data/lib/IceStorm/Metrics.rb +11 -89
- data/slice/Glacier2/Metrics.ice +8 -4
- data/slice/Glacier2/PermissionsVerifier.ice +10 -7
- data/slice/Glacier2/PermissionsVerifierF.ice +7 -4
- data/slice/Glacier2/Router.ice +10 -8
- data/slice/Glacier2/RouterF.ice +7 -4
- data/slice/Glacier2/SSLInfo.ice +8 -5
- data/slice/Glacier2/Session.ice +15 -13
- data/slice/Ice/BuiltinSequences.ice +7 -4
- data/slice/Ice/Communicator.ice +141 -66
- data/slice/Ice/CommunicatorF.ice +7 -4
- data/slice/Ice/Connection.ice +183 -86
- data/slice/Ice/ConnectionF.ice +7 -4
- data/slice/Ice/Current.ice +13 -9
- data/slice/Ice/Endpoint.ice +63 -14
- data/slice/Ice/EndpointF.ice +7 -4
- data/slice/Ice/EndpointTypes.ice +8 -6
- data/slice/Ice/FacetMap.ice +7 -4
- data/slice/Ice/Identity.ice +13 -5
- data/slice/Ice/ImplicitContext.ice +20 -18
- data/slice/Ice/ImplicitContextF.ice +7 -4
- data/slice/Ice/Instrumentation.ice +20 -19
- data/slice/Ice/InstrumentationF.ice +8 -5
- data/slice/Ice/LocalException.ice +87 -87
- data/slice/Ice/Locator.ice +19 -18
- data/slice/Ice/LocatorF.ice +7 -4
- data/slice/Ice/Logger.ice +9 -7
- data/slice/Ice/LoggerF.ice +7 -4
- data/slice/Ice/Metrics.ice +18 -14
- data/slice/Ice/ObjectAdapter.ice +30 -13
- data/slice/Ice/ObjectAdapterF.ice +7 -4
- data/slice/Ice/ObjectFactory.ice +15 -12
- data/slice/Ice/Plugin.ice +9 -6
- data/slice/Ice/PluginF.ice +8 -5
- data/slice/Ice/Process.ice +9 -6
- data/slice/Ice/ProcessF.ice +7 -4
- data/slice/Ice/Properties.ice +15 -12
- data/slice/Ice/PropertiesAdmin.ice +9 -5
- data/slice/Ice/PropertiesF.ice +7 -4
- data/slice/Ice/RemoteLogger.ice +33 -24
- data/slice/Ice/Router.ice +16 -7
- data/slice/Ice/RouterF.ice +7 -4
- data/slice/Ice/ServantLocator.ice +13 -10
- data/slice/Ice/ServantLocatorF.ice +7 -4
- data/slice/Ice/SliceChecksumDict.ice +7 -4
- data/slice/Ice/ValueFactory.ice +127 -0
- data/slice/Ice/Version.ice +9 -5
- data/slice/IceBT/ConnectionInfo.ice +53 -0
- data/slice/IceBT/EndpointInfo.ice +51 -0
- data/slice/IceBT/Types.ice +39 -0
- data/slice/IceBox/IceBox.ice +20 -21
- data/slice/IceDiscovery/IceDiscovery.ice +9 -5
- data/slice/IceGrid/Admin.ice +390 -30
- data/slice/IceGrid/Descriptor.ice +37 -29
- data/slice/IceGrid/Exception.ice +33 -27
- data/slice/IceGrid/FileParser.ice +9 -6
- data/slice/IceGrid/PluginFacade.ice +11 -9
- data/slice/IceGrid/Registry.ice +139 -16
- data/slice/IceGrid/Session.ice +10 -8
- data/slice/IceGrid/UserAccountMapper.ice +9 -6
- data/slice/IceIAP/ConnectionInfo.ice +70 -0
- data/slice/IceIAP/EndpointInfo.ice +64 -0
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +9 -7
- data/slice/IcePatch2/FileInfo.ice +9 -8
- data/slice/IcePatch2/FileServer.ice +17 -13
- data/slice/IceSSL/ConnectionInfo.ice +14 -17
- data/slice/IceSSL/ConnectionInfoF.ice +24 -0
- data/slice/IceSSL/EndpointInfo.ice +9 -30
- data/slice/IceStorm/IceStorm.ice +22 -18
- data/slice/IceStorm/Metrics.ice +9 -5
- metadata +154 -120
- data/ext/ObjectFactory.cpp +0 -140
- data/ext/ObjectFactory.h +0 -50
- data/ext/ice/cpp/include/Ice/BasicStream.h +0 -1335
- data/ext/ice/cpp/include/Ice/Communicator.h +0 -200
- data/ext/ice/cpp/include/Ice/Connection.h +0 -497
- data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +0 -62
- data/ext/ice/cpp/include/Ice/Endpoint.h +0 -341
- data/ext/ice/cpp/include/Ice/Identity.h +0 -168
- data/ext/ice/cpp/include/Ice/Instrumentation.h +0 -365
- data/ext/ice/cpp/include/Ice/LocalException.h +0 -1030
- data/ext/ice/cpp/include/Ice/Locator.h +0 -2193
- data/ext/ice/cpp/include/Ice/Metrics.h +0 -2974
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +0 -168
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +0 -92
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +0 -66
- data/ext/ice/cpp/include/Ice/Outgoing.h +0 -225
- data/ext/ice/cpp/include/Ice/Plugin.h +0 -125
- data/ext/ice/cpp/include/Ice/Process.h +0 -574
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +0 -830
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +0 -1500
- data/ext/ice/cpp/include/Ice/Router.h +0 -1159
- data/ext/ice/cpp/include/Ice/Stream.h +0 -447
- data/ext/ice/cpp/include/Ice/StreamF.h +0 -30
- data/ext/ice/cpp/include/Ice/Version.h +0 -262
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +0 -158
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +0 -142
- data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +0 -119
- data/ext/ice/cpp/include/IceUtil/Cache.h +0 -362
- data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +0 -65
- data/ext/ice/cpp/include/Slice/CsUtil.h +0 -92
- data/ext/ice/cpp/include/Slice/DotNetNames.h +0 -34
- data/ext/ice/cpp/include/Slice/ObjCUtil.h +0 -127
- data/ext/ice/cpp/include/Slice/Util.h +0 -56
- data/ext/ice/cpp/src/Ice/BasicStream.cpp +0 -3428
- data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +0 -62
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +0 -139
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +0 -43
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -694
- data/ext/ice/cpp/src/Ice/Stream.cpp +0 -53
- data/ext/ice/cpp/src/Ice/StreamI.cpp +0 -832
- data/ext/ice/cpp/src/Ice/StreamI.h +0 -198
- data/ext/ice/cpp/src/IceSSL/Certificate.cpp +0 -1336
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +0 -792
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +0 -185
- data/ext/ice/cpp/src/Slice/CsUtil.cpp +0 -2660
- data/ext/ice/cpp/src/Slice/DotNetNames.cpp +0 -146
- data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +0 -1310
- data/lib/IceGrid/Locator.rb +0 -106
- data/lib/IceGrid/Observer.rb +0 -572
- data/lib/IceGrid/Query.rb +0 -169
- data/slice/Freeze/BackgroundSaveEvictor.ice +0 -111
- data/slice/Freeze/CatalogData.ice +0 -49
- data/slice/Freeze/Connection.ice +0 -121
- data/slice/Freeze/DB.ice +0 -37
- data/slice/Freeze/Evictor.ice +0 -346
- data/slice/Freeze/EvictorF.ice +0 -22
- data/slice/Freeze/EvictorStorage.ice +0 -72
- data/slice/Freeze/Exception.ice +0 -100
- data/slice/Freeze/Transaction.ice +0 -58
- data/slice/Freeze/TransactionalEvictor.ice +0 -50
- data/slice/IceGrid/Locator.ice +0 -57
- data/slice/IceGrid/Observer.ice +0 -395
- data/slice/IceGrid/Query.ice +0 -131
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
@@ -21,7 +21,7 @@ namespace Ruby
|
|
|
21
21
|
//
|
|
22
22
|
// Generate Ruby code for a translation unit.
|
|
23
23
|
//
|
|
24
|
-
|
|
24
|
+
void generate(const Slice::UnitPtr&, bool, bool, const std::vector<std::string>&, IceUtilInternal::Output&);
|
|
25
25
|
|
|
26
26
|
//
|
|
27
27
|
// Check the given identifier against Ruby's list of reserved words. If it matches
|
|
@@ -33,20 +33,20 @@ enum IdentStyle
|
|
|
33
33
|
IdentToUpper, // Mapped identifier must begin with an upper-case letter.
|
|
34
34
|
IdentToLower // Mapped identifier must begin with a lower-case letter.
|
|
35
35
|
};
|
|
36
|
-
|
|
36
|
+
std::string fixIdent(const std::string&, IdentStyle);
|
|
37
37
|
|
|
38
38
|
//
|
|
39
39
|
// Get the fully-qualified name of the given definition. If a prefix is provided,
|
|
40
40
|
// it is prepended to the definition's unqualified name.
|
|
41
41
|
//
|
|
42
|
-
|
|
42
|
+
std::string getAbsolute(const Slice::ContainedPtr&, IdentStyle, const std::string& = std::string());
|
|
43
43
|
|
|
44
44
|
//
|
|
45
45
|
// Emit a comment header.
|
|
46
46
|
//
|
|
47
|
-
|
|
47
|
+
void printHeader(IceUtilInternal::Output&);
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
int compile(const std::vector<std::string>&);
|
|
50
50
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#include <IceUtil/ScannerConfig.h>
|
|
2
|
-
#line 2 "
|
|
2
|
+
#line 2 "src/Slice/Scanner.cpp"
|
|
3
3
|
|
|
4
|
-
#line 4 "
|
|
4
|
+
#line 4 "src/Slice/Scanner.cpp"
|
|
5
5
|
|
|
6
6
|
#define YY_INT_ALIGNED short int
|
|
7
7
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
#define FLEX_SCANNER
|
|
30
30
|
#define YY_FLEX_MAJOR_VERSION 2
|
|
31
31
|
#define YY_FLEX_MINOR_VERSION 5
|
|
32
|
-
#define YY_FLEX_SUBMINOR_VERSION
|
|
32
|
+
#define YY_FLEX_SUBMINOR_VERSION 37
|
|
33
33
|
#if YY_FLEX_SUBMINOR_VERSION > 0
|
|
34
34
|
#define FLEX_BETA
|
|
35
35
|
#endif
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
|
|
55
55
|
|
|
56
56
|
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
|
|
57
|
-
* if you want the limit (max/min) macros for int types.
|
|
57
|
+
* if you want the limit (max/min) macros for int types.
|
|
58
58
|
*/
|
|
59
59
|
#ifndef __STDC_LIMIT_MACROS
|
|
60
60
|
#define __STDC_LIMIT_MACROS 1
|
|
@@ -71,7 +71,7 @@ typedef uint32_t flex_uint32_t;
|
|
|
71
71
|
typedef signed char flex_int8_t;
|
|
72
72
|
typedef short int flex_int16_t;
|
|
73
73
|
typedef int flex_int32_t;
|
|
74
|
-
typedef unsigned char flex_uint8_t;
|
|
74
|
+
typedef unsigned char flex_uint8_t;
|
|
75
75
|
typedef unsigned short int flex_uint16_t;
|
|
76
76
|
typedef unsigned int flex_uint32_t;
|
|
77
77
|
|
|
@@ -162,15 +162,7 @@ typedef unsigned int flex_uint32_t;
|
|
|
162
162
|
|
|
163
163
|
/* Size of default input buffer. */
|
|
164
164
|
#ifndef YY_BUF_SIZE
|
|
165
|
-
#ifdef __ia64__
|
|
166
|
-
/* On IA-64, the buffer size is 16k, not 8k.
|
|
167
|
-
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
|
|
168
|
-
* Ditto for the __ia64__ case accordingly.
|
|
169
|
-
*/
|
|
170
|
-
#define YY_BUF_SIZE 32768
|
|
171
|
-
#else
|
|
172
165
|
#define YY_BUF_SIZE 16384
|
|
173
|
-
#endif /* __ia64__ */
|
|
174
166
|
#endif
|
|
175
167
|
|
|
176
168
|
/* The state buf must be large enough to hold one state per character in the main buffer.
|
|
@@ -196,8 +188,7 @@ extern FILE *slice_in, *slice_out;
|
|
|
196
188
|
#define EOB_ACT_LAST_MATCH 2
|
|
197
189
|
|
|
198
190
|
#define YY_LESS_LINENO(n)
|
|
199
|
-
|
|
200
|
-
|
|
191
|
+
|
|
201
192
|
/* Return all but the first "n" matched characters back to the input stream. */
|
|
202
193
|
#define yyless(n) \
|
|
203
194
|
do \
|
|
@@ -254,7 +245,7 @@ struct yy_buffer_state
|
|
|
254
245
|
|
|
255
246
|
int yy_bs_lineno; /**< The line count. */
|
|
256
247
|
int yy_bs_column; /**< The column count. */
|
|
257
|
-
|
|
248
|
+
|
|
258
249
|
/* Whether to try to fill the input buffer when we reach the
|
|
259
250
|
* end of it.
|
|
260
251
|
*/
|
|
@@ -552,19 +543,19 @@ int slice__flex_debug = 0;
|
|
|
552
543
|
#define YY_MORE_ADJ 0
|
|
553
544
|
#define YY_RESTORE_YY_MORE_OFFSET
|
|
554
545
|
char *slice_text;
|
|
555
|
-
#line 1 "Scanner.l"
|
|
556
|
-
#line 2 "Scanner.l"
|
|
546
|
+
#line 1 "src/Slice/Scanner.l"
|
|
547
|
+
#line 2 "src/Slice/Scanner.l"
|
|
557
548
|
|
|
558
549
|
// **********************************************************************
|
|
559
550
|
//
|
|
560
|
-
// Copyright (c) 2003-
|
|
551
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
561
552
|
//
|
|
562
553
|
// This copy of Ice is licensed to you under the terms described in the
|
|
563
554
|
// ICE_LICENSE file included in this distribution.
|
|
564
555
|
//
|
|
565
556
|
// **********************************************************************
|
|
566
557
|
|
|
567
|
-
#include <Slice/GrammarUtil.h>
|
|
558
|
+
#include <Slice/GrammarUtil.h> // Before Grammer.h, so that YYSTYPE is defined
|
|
568
559
|
#include <Slice/Grammar.h>
|
|
569
560
|
#include <IceUtil/InputUtil.h>
|
|
570
561
|
|
|
@@ -593,6 +584,10 @@ char *slice_text;
|
|
|
593
584
|
# pragma warning( 4 : 4018 )
|
|
594
585
|
#endif
|
|
595
586
|
|
|
587
|
+
#if defined(__GNUC__)
|
|
588
|
+
# pragma GCC diagnostic ignored "-Wsign-compare"
|
|
589
|
+
#endif
|
|
590
|
+
|
|
596
591
|
#ifdef _MSC_VER
|
|
597
592
|
# ifdef slice_wrap
|
|
598
593
|
# undef slice_wrap
|
|
@@ -607,7 +602,7 @@ char *slice_text;
|
|
|
607
602
|
# define slice_wrap() 1
|
|
608
603
|
# endif
|
|
609
604
|
# ifdef ICE_64
|
|
610
|
-
# pragma error_messages(off,truncwarn)
|
|
605
|
+
# pragma error_messages(off,truncwarn)
|
|
611
606
|
# endif
|
|
612
607
|
#endif
|
|
613
608
|
|
|
@@ -620,7 +615,7 @@ namespace Slice
|
|
|
620
615
|
//
|
|
621
616
|
// Definitions for the case-insensitive keyword-token map.
|
|
622
617
|
//
|
|
623
|
-
typedef std::map<std::string, int
|
|
618
|
+
typedef std::map<std::string, int> StringTokenMap;
|
|
624
619
|
static StringTokenMap keywordMap;
|
|
625
620
|
|
|
626
621
|
void initScanner();
|
|
@@ -628,11 +623,11 @@ int checkKeyword(string&);
|
|
|
628
623
|
|
|
629
624
|
}
|
|
630
625
|
|
|
631
|
-
#define
|
|
626
|
+
#define YY_USER_INIT initScanner();
|
|
632
627
|
|
|
633
628
|
|
|
634
629
|
|
|
635
|
-
#line
|
|
630
|
+
#line 630 "src/Slice/Scanner.cpp"
|
|
636
631
|
|
|
637
632
|
#define INITIAL 0
|
|
638
633
|
#define BOMSCAN 1
|
|
@@ -694,7 +689,7 @@ extern int slice_wrap (void );
|
|
|
694
689
|
#endif
|
|
695
690
|
|
|
696
691
|
static void yyunput (int c,char *buf_ptr );
|
|
697
|
-
|
|
692
|
+
|
|
698
693
|
#ifndef yytext_ptr
|
|
699
694
|
static void yy_flex_strncpy (char *,yyconst char *,int );
|
|
700
695
|
#endif
|
|
@@ -715,12 +710,7 @@ static int input (void );
|
|
|
715
710
|
|
|
716
711
|
/* Amount of stuff to slurp up with each read. */
|
|
717
712
|
#ifndef YY_READ_BUF_SIZE
|
|
718
|
-
#ifdef __ia64__
|
|
719
|
-
/* On IA-64, the buffer size is 16k, not 8k */
|
|
720
|
-
#define YY_READ_BUF_SIZE 16384
|
|
721
|
-
#else
|
|
722
713
|
#define YY_READ_BUF_SIZE 8192
|
|
723
|
-
#endif /* __ia64__ */
|
|
724
714
|
#endif
|
|
725
715
|
|
|
726
716
|
/* Copy whatever the last rule matched to the standard output. */
|
|
@@ -823,7 +813,12 @@ YY_DECL
|
|
|
823
813
|
register yy_state_type yy_current_state;
|
|
824
814
|
register char *yy_cp, *yy_bp;
|
|
825
815
|
register int yy_act;
|
|
826
|
-
|
|
816
|
+
|
|
817
|
+
#line 97 "src/Slice/Scanner.l"
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
#line 820 "src/Slice/Scanner.cpp"
|
|
821
|
+
|
|
827
822
|
if ( !(yy_init) )
|
|
828
823
|
{
|
|
829
824
|
(yy_init) = 1;
|
|
@@ -850,12 +845,6 @@ YY_DECL
|
|
|
850
845
|
slice__load_buffer_state( );
|
|
851
846
|
}
|
|
852
847
|
|
|
853
|
-
{
|
|
854
|
-
#line 94 "Scanner.l"
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
#line 857 "lex.yy.c"
|
|
858
|
-
|
|
859
848
|
while ( 1 ) /* loops until end-of-file is reached */
|
|
860
849
|
{
|
|
861
850
|
yy_cp = (yy_c_buf_p);
|
|
@@ -873,7 +862,7 @@ YY_DECL
|
|
|
873
862
|
yy_match:
|
|
874
863
|
do
|
|
875
864
|
{
|
|
876
|
-
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]
|
|
865
|
+
register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
|
|
877
866
|
if ( yy_accept[yy_current_state] )
|
|
878
867
|
{
|
|
879
868
|
(yy_last_accepting_state) = yy_current_state;
|
|
@@ -913,7 +902,7 @@ case 1:
|
|
|
913
902
|
(yy_c_buf_p) = yy_cp -= 1;
|
|
914
903
|
YY_DO_BEFORE_ACTION; /* set up slice_text again */
|
|
915
904
|
YY_RULE_SETUP
|
|
916
|
-
#line
|
|
905
|
+
#line 99 "src/Slice/Scanner.l"
|
|
917
906
|
{
|
|
918
907
|
if(unit->scanPosition(slice_text))
|
|
919
908
|
{
|
|
@@ -924,11 +913,10 @@ YY_RULE_SETUP
|
|
|
924
913
|
case 2:
|
|
925
914
|
/* rule 2 can match eol */
|
|
926
915
|
*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
|
|
927
|
-
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
928
916
|
(yy_c_buf_p) = yy_cp -= 1;
|
|
929
917
|
YY_DO_BEFORE_ACTION; /* set up slice_text again */
|
|
930
918
|
YY_RULE_SETUP
|
|
931
|
-
#line
|
|
919
|
+
#line 106 "src/Slice/Scanner.l"
|
|
932
920
|
{
|
|
933
921
|
if(unit->scanPosition(slice_text))
|
|
934
922
|
{
|
|
@@ -941,7 +929,7 @@ case 3:
|
|
|
941
929
|
(yy_c_buf_p) = yy_cp -= 1;
|
|
942
930
|
YY_DO_BEFORE_ACTION; /* set up slice_text again */
|
|
943
931
|
YY_RULE_SETUP
|
|
944
|
-
#line
|
|
932
|
+
#line 113 "src/Slice/Scanner.l"
|
|
945
933
|
{
|
|
946
934
|
if(unit->scanPosition(slice_text))
|
|
947
935
|
{
|
|
@@ -952,11 +940,10 @@ YY_RULE_SETUP
|
|
|
952
940
|
case 4:
|
|
953
941
|
/* rule 4 can match eol */
|
|
954
942
|
*yy_cp = (yy_hold_char); /* undo effects of setting up slice_text */
|
|
955
|
-
YY_LINENO_REWIND_TO(yy_cp - 1);
|
|
956
943
|
(yy_c_buf_p) = yy_cp -= 1;
|
|
957
944
|
YY_DO_BEFORE_ACTION; /* set up slice_text again */
|
|
958
945
|
YY_RULE_SETUP
|
|
959
|
-
#line
|
|
946
|
+
#line 120 "src/Slice/Scanner.l"
|
|
960
947
|
{
|
|
961
948
|
if(unit->scanPosition(slice_text))
|
|
962
949
|
{
|
|
@@ -966,69 +953,69 @@ YY_RULE_SETUP
|
|
|
966
953
|
YY_BREAK
|
|
967
954
|
case 5:
|
|
968
955
|
YY_RULE_SETUP
|
|
969
|
-
#line
|
|
956
|
+
#line 127 "src/Slice/Scanner.l"
|
|
970
957
|
{
|
|
971
958
|
// C++-style comment
|
|
972
959
|
BEGIN(MAINSCAN);
|
|
973
960
|
int c;
|
|
974
961
|
do
|
|
975
962
|
{
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
963
|
+
c = yyinput();
|
|
964
|
+
if(c == '\n')
|
|
965
|
+
{
|
|
966
|
+
unit->nextLine();
|
|
967
|
+
}
|
|
981
968
|
}
|
|
982
969
|
while(c != '\n' && c != EOF);
|
|
983
970
|
}
|
|
984
971
|
YY_BREAK
|
|
985
972
|
case 6:
|
|
986
973
|
YY_RULE_SETUP
|
|
987
|
-
#line
|
|
974
|
+
#line 142 "src/Slice/Scanner.l"
|
|
988
975
|
{
|
|
989
976
|
// C-style comment
|
|
990
977
|
BEGIN(MAINSCAN);
|
|
991
978
|
string comment = slice_text + 2;
|
|
992
979
|
while(true)
|
|
993
980
|
{
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
981
|
+
int c = yyinput();
|
|
982
|
+
if(c == '\n')
|
|
983
|
+
{
|
|
984
|
+
comment += static_cast<char>(c);
|
|
985
|
+
unit->nextLine();
|
|
986
|
+
}
|
|
987
|
+
else if(c == '*')
|
|
988
|
+
{
|
|
989
|
+
int next = yyinput();
|
|
990
|
+
if(next == '/')
|
|
991
|
+
{
|
|
992
|
+
break;
|
|
993
|
+
}
|
|
994
|
+
else
|
|
995
|
+
{
|
|
996
|
+
comment += static_cast<char>(c);
|
|
997
|
+
unput(next);
|
|
998
|
+
}
|
|
999
|
+
}
|
|
1000
|
+
else if(c == EOF)
|
|
1001
|
+
{
|
|
1002
|
+
unit->warning(All, "EOF in comment");
|
|
1003
|
+
break;
|
|
1004
|
+
}
|
|
1005
|
+
else
|
|
1006
|
+
{
|
|
1007
|
+
comment += static_cast<char>(c);
|
|
1008
|
+
}
|
|
1022
1009
|
}
|
|
1023
1010
|
if(!comment.empty() && comment[0] == '*')
|
|
1024
1011
|
{
|
|
1025
|
-
|
|
1012
|
+
unit->setComment(comment);
|
|
1026
1013
|
}
|
|
1027
1014
|
}
|
|
1028
1015
|
YY_BREAK
|
|
1029
1016
|
case 7:
|
|
1030
1017
|
YY_RULE_SETUP
|
|
1031
|
-
#line
|
|
1018
|
+
#line 183 "src/Slice/Scanner.l"
|
|
1032
1019
|
{
|
|
1033
1020
|
BEGIN(MAINSCAN);
|
|
1034
1021
|
return ICE_SCOPE_DELIMITER;
|
|
@@ -1036,7 +1023,7 @@ YY_RULE_SETUP
|
|
|
1036
1023
|
YY_BREAK
|
|
1037
1024
|
case 8:
|
|
1038
1025
|
YY_RULE_SETUP
|
|
1039
|
-
#line
|
|
1026
|
+
#line 188 "src/Slice/Scanner.l"
|
|
1040
1027
|
{
|
|
1041
1028
|
BEGIN(MAINSCAN);
|
|
1042
1029
|
return ICE_METADATA_OPEN;
|
|
@@ -1044,7 +1031,7 @@ YY_RULE_SETUP
|
|
|
1044
1031
|
YY_BREAK
|
|
1045
1032
|
case 9:
|
|
1046
1033
|
YY_RULE_SETUP
|
|
1047
|
-
#line
|
|
1034
|
+
#line 193 "src/Slice/Scanner.l"
|
|
1048
1035
|
{
|
|
1049
1036
|
BEGIN(MAINSCAN);
|
|
1050
1037
|
return ICE_METADATA_CLOSE;
|
|
@@ -1052,7 +1039,7 @@ YY_RULE_SETUP
|
|
|
1052
1039
|
YY_BREAK
|
|
1053
1040
|
case 10:
|
|
1054
1041
|
YY_RULE_SETUP
|
|
1055
|
-
#line
|
|
1042
|
+
#line 198 "src/Slice/Scanner.l"
|
|
1056
1043
|
{
|
|
1057
1044
|
BEGIN(MAINSCAN);
|
|
1058
1045
|
return ICE_GLOBAL_METADATA_OPEN;
|
|
@@ -1060,7 +1047,7 @@ YY_RULE_SETUP
|
|
|
1060
1047
|
YY_BREAK
|
|
1061
1048
|
case 11:
|
|
1062
1049
|
YY_RULE_SETUP
|
|
1063
|
-
#line
|
|
1050
|
+
#line 203 "src/Slice/Scanner.l"
|
|
1064
1051
|
{
|
|
1065
1052
|
BEGIN(MAINSCAN);
|
|
1066
1053
|
return ICE_GLOBAL_METADATA_CLOSE;
|
|
@@ -1069,7 +1056,7 @@ YY_RULE_SETUP
|
|
|
1069
1056
|
case 12:
|
|
1070
1057
|
/* rule 12 can match eol */
|
|
1071
1058
|
YY_RULE_SETUP
|
|
1072
|
-
#line
|
|
1059
|
+
#line 208 "src/Slice/Scanner.l"
|
|
1073
1060
|
{
|
|
1074
1061
|
BEGIN(MAINSCAN);
|
|
1075
1062
|
StringTokPtr ident = new StringTok;
|
|
@@ -1097,7 +1084,7 @@ YY_RULE_SETUP
|
|
|
1097
1084
|
YY_BREAK
|
|
1098
1085
|
case 13:
|
|
1099
1086
|
YY_RULE_SETUP
|
|
1100
|
-
#line
|
|
1087
|
+
#line 233 "src/Slice/Scanner.l"
|
|
1101
1088
|
{
|
|
1102
1089
|
BEGIN(MAINSCAN);
|
|
1103
1090
|
StringTokPtr ident = new StringTok;
|
|
@@ -1108,12 +1095,12 @@ YY_RULE_SETUP
|
|
|
1108
1095
|
YY_BREAK
|
|
1109
1096
|
case 14:
|
|
1110
1097
|
YY_RULE_SETUP
|
|
1111
|
-
#line
|
|
1098
|
+
#line 241 "src/Slice/Scanner.l"
|
|
1112
1099
|
{
|
|
1113
1100
|
BEGIN(MAINSCAN);
|
|
1114
1101
|
StringTokPtr str = new StringTok;
|
|
1115
1102
|
str->literal = "\"";
|
|
1116
|
-
|
|
1103
|
+
while(true)
|
|
1117
1104
|
{
|
|
1118
1105
|
char c = static_cast<char>(yyinput());
|
|
1119
1106
|
str->literal += c;
|
|
@@ -1126,9 +1113,10 @@ YY_RULE_SETUP
|
|
|
1126
1113
|
unit->error("EOF in string");
|
|
1127
1114
|
break;
|
|
1128
1115
|
}
|
|
1129
|
-
else if(c ==
|
|
1116
|
+
else if(static_cast<unsigned char>(c) < 32 || c == 127)
|
|
1130
1117
|
{
|
|
1131
|
-
unit->error("
|
|
1118
|
+
unit->error("a string literal can only contain printable ASCII characters and non-ASCII characters");
|
|
1119
|
+
break;
|
|
1132
1120
|
}
|
|
1133
1121
|
else if(c == '\\')
|
|
1134
1122
|
{
|
|
@@ -1138,67 +1126,58 @@ YY_RULE_SETUP
|
|
|
1138
1126
|
{
|
|
1139
1127
|
case '\\':
|
|
1140
1128
|
{
|
|
1129
|
+
//
|
|
1130
|
+
// add extra escape to our internal string
|
|
1131
|
+
//
|
|
1141
1132
|
str->v += '\\';
|
|
1142
1133
|
str->v += '\\';
|
|
1143
1134
|
break;
|
|
1144
1135
|
}
|
|
1145
1136
|
case '"':
|
|
1146
1137
|
case '\'':
|
|
1138
|
+
case '?':
|
|
1147
1139
|
{
|
|
1148
1140
|
str->v += next;
|
|
1149
1141
|
break;
|
|
1150
1142
|
}
|
|
1151
|
-
|
|
1152
|
-
case 'n':
|
|
1153
|
-
{
|
|
1154
|
-
str->v += '\n';
|
|
1155
|
-
break;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
case 'r':
|
|
1143
|
+
case 'a':
|
|
1159
1144
|
{
|
|
1160
|
-
str->v += '\
|
|
1145
|
+
str->v += '\a';
|
|
1161
1146
|
break;
|
|
1162
1147
|
}
|
|
1163
|
-
|
|
1164
|
-
case 't':
|
|
1148
|
+
case 'b':
|
|
1165
1149
|
{
|
|
1166
|
-
str->v += '\
|
|
1150
|
+
str->v += '\b';
|
|
1167
1151
|
break;
|
|
1168
1152
|
}
|
|
1169
|
-
|
|
1170
|
-
case 'v':
|
|
1153
|
+
case 'f':
|
|
1171
1154
|
{
|
|
1172
|
-
str->v += '\
|
|
1155
|
+
str->v += '\f';
|
|
1173
1156
|
break;
|
|
1174
1157
|
}
|
|
1175
|
-
|
|
1176
|
-
case 'f':
|
|
1158
|
+
case 'n':
|
|
1177
1159
|
{
|
|
1178
|
-
str->v += '\
|
|
1160
|
+
str->v += '\n';
|
|
1179
1161
|
break;
|
|
1180
1162
|
}
|
|
1181
|
-
|
|
1182
|
-
case 'a':
|
|
1163
|
+
case 'r':
|
|
1183
1164
|
{
|
|
1184
|
-
str->v += '\
|
|
1165
|
+
str->v += '\r';
|
|
1185
1166
|
break;
|
|
1186
1167
|
}
|
|
1187
|
-
|
|
1188
|
-
case 'b':
|
|
1168
|
+
case 't':
|
|
1189
1169
|
{
|
|
1190
|
-
str->v += '\
|
|
1170
|
+
str->v += '\t';
|
|
1191
1171
|
break;
|
|
1192
1172
|
}
|
|
1193
|
-
|
|
1194
|
-
case '?':
|
|
1173
|
+
case 'v':
|
|
1195
1174
|
{
|
|
1196
|
-
str->v += '
|
|
1175
|
+
str->v += '\v';
|
|
1197
1176
|
break;
|
|
1198
1177
|
}
|
|
1199
1178
|
|
|
1200
1179
|
//
|
|
1201
|
-
// Octal value \nnn limited to three octal digits but terminate at the first character
|
|
1180
|
+
// Octal value \nnn limited to three octal digits but terminate at the first character
|
|
1202
1181
|
// that is not a valid octal digit if encountered sooner.
|
|
1203
1182
|
//
|
|
1204
1183
|
case '0':
|
|
@@ -1211,7 +1190,6 @@ YY_RULE_SETUP
|
|
|
1211
1190
|
case '7':
|
|
1212
1191
|
{
|
|
1213
1192
|
static string octalDigits = "01234567";
|
|
1214
|
-
IceUtil::Int64 value = 0;
|
|
1215
1193
|
string escape;
|
|
1216
1194
|
escape += next;
|
|
1217
1195
|
for(int i = 0; i < 2; ++i)
|
|
@@ -1222,158 +1200,92 @@ YY_RULE_SETUP
|
|
|
1222
1200
|
unput(next);
|
|
1223
1201
|
break;
|
|
1224
1202
|
}
|
|
1225
|
-
escape += next;
|
|
1203
|
+
escape += next;
|
|
1226
1204
|
}
|
|
1227
1205
|
str->literal += escape;
|
|
1228
|
-
value = IceUtilInternal::strToInt64(escape.c_str(), 0, 8);
|
|
1229
|
-
|
|
1230
|
-
if(value == 0)
|
|
1231
|
-
{
|
|
1232
|
-
unit->error("illegal NUL character in string constant");
|
|
1233
|
-
}
|
|
1234
|
-
else if(value > 255)
|
|
1206
|
+
IceUtil::Int64 value = IceUtilInternal::strToInt64(escape.c_str(), 0, 8);
|
|
1207
|
+
if(value > 255)
|
|
1235
1208
|
{
|
|
1236
|
-
|
|
1237
|
-
os << "octal escape sequence out of range: '\\" << oct << value << "'";
|
|
1238
|
-
unit->warning(os.str());
|
|
1209
|
+
unit->error(string("octal escape sequence out of range: `\\") + escape + "'");
|
|
1239
1210
|
}
|
|
1240
1211
|
str->v += static_cast<char>(value);
|
|
1241
1212
|
break;
|
|
1242
1213
|
}
|
|
1214
|
+
|
|
1243
1215
|
case 'x':
|
|
1244
1216
|
{
|
|
1245
|
-
IceUtil::Int64 value = 0;
|
|
1246
1217
|
string escape = "";
|
|
1247
|
-
|
|
1218
|
+
next = static_cast<char>(yyinput());
|
|
1219
|
+
|
|
1220
|
+
//
|
|
1221
|
+
// Unlike C++, we limit hex escape sequences to 2 hex digits
|
|
1222
|
+
//
|
|
1223
|
+
while(isxdigit(next) && escape.length() < 2)
|
|
1248
1224
|
{
|
|
1249
1225
|
escape += next;
|
|
1226
|
+
next = static_cast<char>(yyinput());
|
|
1250
1227
|
}
|
|
1251
1228
|
unput(next);
|
|
1252
|
-
|
|
1253
|
-
str->literal += escape;
|
|
1254
|
-
value = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
|
|
1255
1229
|
|
|
1256
|
-
if(
|
|
1230
|
+
if(escape.length() == 0)
|
|
1257
1231
|
{
|
|
1258
|
-
unit->error("
|
|
1259
|
-
}
|
|
1260
|
-
else if(value > 255)
|
|
1261
|
-
{
|
|
1262
|
-
ostringstream os;
|
|
1263
|
-
os << "hex escape sequence out of range: '\\x" << hex << value << "'";
|
|
1264
|
-
unit->warning(os.str());
|
|
1232
|
+
unit->error("no hex digit in hex escape sequence");
|
|
1265
1233
|
}
|
|
1234
|
+
|
|
1235
|
+
str->literal += escape;
|
|
1236
|
+
IceUtil::Int64 value = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
|
|
1237
|
+
|
|
1238
|
+
assert(value >= 0 && value <= 255);
|
|
1266
1239
|
str->v += static_cast<char>(value);
|
|
1267
1240
|
break;
|
|
1268
1241
|
}
|
|
1269
|
-
|
|
1242
|
+
|
|
1270
1243
|
//
|
|
1271
|
-
// Universal character name
|
|
1244
|
+
// Universal character name
|
|
1272
1245
|
//
|
|
1273
1246
|
case 'u':
|
|
1247
|
+
case 'U':
|
|
1274
1248
|
{
|
|
1275
|
-
IceUtil::Int64 value = 0;
|
|
1276
1249
|
string escape = "";
|
|
1277
|
-
|
|
1278
|
-
|
|
1250
|
+
char c = next;
|
|
1251
|
+
int size = (c == 'u') ? 4 : 8;
|
|
1252
|
+
while(size > 0)
|
|
1279
1253
|
{
|
|
1280
1254
|
next = static_cast<char>(yyinput());
|
|
1281
|
-
str->literal += next;
|
|
1282
1255
|
if(!isxdigit(static_cast<unsigned char>(next)))
|
|
1283
1256
|
{
|
|
1284
|
-
unit->error("unknown escape sequence in string
|
|
1257
|
+
unit->error(string("unknown escape sequence in string literal: `\\") + c + escape + next + "'");
|
|
1258
|
+
unput(next);
|
|
1285
1259
|
break;
|
|
1286
1260
|
}
|
|
1287
1261
|
escape += next;
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
value = escape.size() == 4 ? IceUtilInternal::strToInt64(escape.c_str(), 0, 16) : -1;
|
|
1291
|
-
|
|
1292
|
-
ostringstream os;
|
|
1293
|
-
os << '\\' << 'u';
|
|
1294
|
-
os.fill('0');
|
|
1295
|
-
os.width(4);
|
|
1296
|
-
os << hex << value;
|
|
1297
|
-
|
|
1298
|
-
if(value == 0)
|
|
1299
|
-
{
|
|
1300
|
-
unit->error("illegal NUL character in string constant");
|
|
1301
|
-
}
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
//
|
|
1305
|
-
// Determine if a character is a surrogate:
|
|
1306
|
-
//
|
|
1307
|
-
// * High surrogate code point, ranging from 0xd800 to 0xdbff, inclusive
|
|
1308
|
-
// * Low surrogate code point, ranging from 0xdc00 to 0xdfff, inclusive.
|
|
1309
|
-
//
|
|
1310
|
-
else if((value >= 0xd800 && value <= 0xdbff) || (value >= 0xdc00 && value <= 0xdfff))
|
|
1311
|
-
{
|
|
1312
|
-
unit->error("unknown escape sequence in string constant: '" + os.str() + "'");
|
|
1262
|
+
--size;
|
|
1313
1263
|
}
|
|
1314
1264
|
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
break;
|
|
1318
|
-
}
|
|
1319
|
-
|
|
1320
|
-
case 'U':
|
|
1321
|
-
{
|
|
1322
|
-
IceUtil::Int64 value = 0;
|
|
1323
|
-
string escape = "";
|
|
1324
|
-
|
|
1325
|
-
for(int i = 0; i < 8; ++i)
|
|
1265
|
+
if(size == 0)
|
|
1326
1266
|
{
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
if(
|
|
1267
|
+
// All digits read, check value
|
|
1268
|
+
IceUtil::Int64 codePoint = IceUtilInternal::strToInt64(escape.c_str(), 0, 16);
|
|
1269
|
+
if(codePoint >= 0xd800 && codePoint <= 0xdfff)
|
|
1330
1270
|
{
|
|
1331
|
-
|
|
1332
|
-
unit->error("unknown escape sequence in string constant: " + str->literal);
|
|
1333
|
-
break;
|
|
1271
|
+
unit->error(string("a universal character name cannot designate a surrogate: `\\") + c + escape + "'");
|
|
1334
1272
|
}
|
|
1335
|
-
escape += next;
|
|
1336
1273
|
}
|
|
1337
|
-
|
|
1338
|
-
value = escape.size() == 8 ? IceUtilInternal::strToInt64(escape.c_str(), 0, 16) : -1;
|
|
1339
1274
|
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
os.fill('0');
|
|
1343
|
-
os.width(8);
|
|
1344
|
-
os << hex << value;
|
|
1345
|
-
|
|
1346
|
-
if(value == 0)
|
|
1347
|
-
{
|
|
1348
|
-
unit->error("illegal NUL character in string constant");
|
|
1349
|
-
}
|
|
1350
|
-
|
|
1351
|
-
//
|
|
1352
|
-
// Determine if a character is a surrogate:
|
|
1353
|
-
//
|
|
1354
|
-
// * High surrogate code point, ranging from 0xd800 to 0xdbff, inclusive
|
|
1355
|
-
// * Low surrogate code point, ranging from 0xdc00 to 0xdfff, inclusive.
|
|
1356
|
-
//
|
|
1357
|
-
else if((value >= 0xd800 && value <= 0xdbff) || (value >= 0xdc00 && value <= 0xdfff))
|
|
1358
|
-
{
|
|
1359
|
-
unit->error("unknown escape sequence in string constant: '" + os.str() + "'");
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
|
-
str->v += os.str();
|
|
1275
|
+
str->literal += escape;
|
|
1276
|
+
str->v += string("\\") + c + escape;
|
|
1363
1277
|
break;
|
|
1364
1278
|
}
|
|
1365
1279
|
|
|
1366
1280
|
default:
|
|
1367
1281
|
{
|
|
1368
1282
|
ostringstream os;
|
|
1369
|
-
os << "unknown escape sequence
|
|
1370
|
-
unit->warning(os.str());
|
|
1371
|
-
|
|
1372
|
-
//
|
|
1373
|
-
|
|
1374
|
-
//
|
|
1283
|
+
os << "unknown escape sequence `\\" << next << "'";
|
|
1284
|
+
unit->warning(All, os.str());
|
|
1285
|
+
|
|
1286
|
+
// Escape the \ in this unknown escape sequence
|
|
1287
|
+
str->v += '\\';
|
|
1375
1288
|
str->v += '\\';
|
|
1376
|
-
str->v += c;
|
|
1377
1289
|
unput(next);
|
|
1378
1290
|
}
|
|
1379
1291
|
}
|
|
@@ -1389,7 +1301,7 @@ YY_RULE_SETUP
|
|
|
1389
1301
|
YY_BREAK
|
|
1390
1302
|
case 15:
|
|
1391
1303
|
YY_RULE_SETUP
|
|
1392
|
-
#line
|
|
1304
|
+
#line 444 "src/Slice/Scanner.l"
|
|
1393
1305
|
{
|
|
1394
1306
|
BEGIN(MAINSCAN);
|
|
1395
1307
|
IntegerTokPtr itp = new IntegerTok;
|
|
@@ -1397,18 +1309,18 @@ YY_RULE_SETUP
|
|
|
1397
1309
|
*yylvalp = itp;
|
|
1398
1310
|
if(!IceUtilInternal::stringToInt64(string(slice_text), itp->v))
|
|
1399
1311
|
{
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1312
|
+
assert(itp->v != 0);
|
|
1313
|
+
string msg = "integer constant `";
|
|
1314
|
+
msg += slice_text;
|
|
1315
|
+
msg += "' out of range";
|
|
1316
|
+
unit->error(msg);
|
|
1405
1317
|
}
|
|
1406
1318
|
return ICE_INTEGER_LITERAL;
|
|
1407
1319
|
}
|
|
1408
1320
|
YY_BREAK
|
|
1409
1321
|
case 16:
|
|
1410
1322
|
YY_RULE_SETUP
|
|
1411
|
-
#line
|
|
1323
|
+
#line 460 "src/Slice/Scanner.l"
|
|
1412
1324
|
{
|
|
1413
1325
|
BEGIN(MAINSCAN);
|
|
1414
1326
|
errno = 0;
|
|
@@ -1419,22 +1331,22 @@ YY_RULE_SETUP
|
|
|
1419
1331
|
char lastChar = literal[literal.size() - 1];
|
|
1420
1332
|
if(lastChar == 'f' || lastChar == 'F')
|
|
1421
1333
|
{
|
|
1422
|
-
|
|
1334
|
+
literal = literal.substr(0, literal.size() - 1); // Clobber trailing 'f' or 'F' suffix
|
|
1423
1335
|
}
|
|
1424
1336
|
ftp->v = strtod(literal.c_str(), 0);
|
|
1425
1337
|
if((ftp->v == HUGE_VAL || ftp->v == -HUGE_VAL) && errno == ERANGE)
|
|
1426
1338
|
{
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1339
|
+
string msg = "floating-point constant `";
|
|
1340
|
+
msg += slice_text;
|
|
1341
|
+
msg += "' too large (overflow)";
|
|
1342
|
+
unit->error(msg);
|
|
1431
1343
|
}
|
|
1432
1344
|
else if(ftp->v == 0 && errno == ERANGE)
|
|
1433
1345
|
{
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1346
|
+
string msg = "floating-point constant `";
|
|
1347
|
+
msg += slice_text;
|
|
1348
|
+
msg += "' too small (underflow)";
|
|
1349
|
+
unit->error(msg);
|
|
1438
1350
|
}
|
|
1439
1351
|
return ICE_FLOATING_POINT_LITERAL;
|
|
1440
1352
|
}
|
|
@@ -1442,54 +1354,54 @@ YY_RULE_SETUP
|
|
|
1442
1354
|
case 17:
|
|
1443
1355
|
/* rule 17 can match eol */
|
|
1444
1356
|
YY_RULE_SETUP
|
|
1445
|
-
#line
|
|
1357
|
+
#line 490 "src/Slice/Scanner.l"
|
|
1446
1358
|
{
|
|
1447
1359
|
// Ignore white-space
|
|
1448
|
-
|
|
1360
|
+
|
|
1449
1361
|
if(unit->currentLine() != 0)
|
|
1450
1362
|
{
|
|
1451
1363
|
BEGIN(MAINSCAN);
|
|
1452
1364
|
}
|
|
1453
1365
|
if(slice_text[0] == '\n')
|
|
1454
1366
|
{
|
|
1455
|
-
|
|
1367
|
+
unit->nextLine();
|
|
1456
1368
|
}
|
|
1457
1369
|
}
|
|
1458
1370
|
YY_BREAK
|
|
1459
1371
|
case 18:
|
|
1460
1372
|
YY_RULE_SETUP
|
|
1461
|
-
#line
|
|
1373
|
+
#line 503 "src/Slice/Scanner.l"
|
|
1462
1374
|
{
|
|
1463
1375
|
// Ignore UTF-8 BOM, rule only active when parsing start of file.
|
|
1464
|
-
|
|
1376
|
+
|
|
1465
1377
|
BEGIN(MAINSCAN);
|
|
1466
1378
|
}
|
|
1467
1379
|
YY_BREAK
|
|
1468
1380
|
case 19:
|
|
1469
1381
|
YY_RULE_SETUP
|
|
1470
|
-
#line
|
|
1382
|
+
#line 509 "src/Slice/Scanner.l"
|
|
1471
1383
|
{
|
|
1472
1384
|
BEGIN(MAINSCAN);
|
|
1473
1385
|
if(slice_text[0] < 32 || slice_text[0] > 126)
|
|
1474
1386
|
{
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
1482
|
-
|
|
1387
|
+
stringstream s;
|
|
1388
|
+
s << "illegal input character: '\\";
|
|
1389
|
+
s.width(3);
|
|
1390
|
+
s.fill('0');
|
|
1391
|
+
s << oct << static_cast<int>(static_cast<unsigned char>(slice_text[0]));
|
|
1392
|
+
s << "'";
|
|
1393
|
+
unit->error(s.str());
|
|
1394
|
+
return BAD_CHAR;
|
|
1483
1395
|
}
|
|
1484
1396
|
return slice_text[0];
|
|
1485
1397
|
}
|
|
1486
1398
|
YY_BREAK
|
|
1487
1399
|
case 20:
|
|
1488
1400
|
YY_RULE_SETUP
|
|
1489
|
-
#line
|
|
1401
|
+
#line 525 "src/Slice/Scanner.l"
|
|
1490
1402
|
ECHO;
|
|
1491
1403
|
YY_BREAK
|
|
1492
|
-
#line
|
|
1404
|
+
#line 1404 "src/Slice/Scanner.cpp"
|
|
1493
1405
|
case YY_STATE_EOF(INITIAL):
|
|
1494
1406
|
case YY_STATE_EOF(BOMSCAN):
|
|
1495
1407
|
case YY_STATE_EOF(MAINSCAN):
|
|
@@ -1623,7 +1535,6 @@ case YY_STATE_EOF(MAINSCAN):
|
|
|
1623
1535
|
"fatal flex scanner internal error--no action found" );
|
|
1624
1536
|
} /* end of action switch */
|
|
1625
1537
|
} /* end of scanning one token */
|
|
1626
|
-
} /* end of user's declarations */
|
|
1627
1538
|
} /* end of slice_lex */
|
|
1628
1539
|
|
|
1629
1540
|
/* yy_get_next_buffer - try to read in a new buffer
|
|
@@ -1771,7 +1682,7 @@ static int yy_get_next_buffer (void)
|
|
|
1771
1682
|
{
|
|
1772
1683
|
register yy_state_type yy_current_state;
|
|
1773
1684
|
register char *yy_cp;
|
|
1774
|
-
|
|
1685
|
+
|
|
1775
1686
|
yy_current_state = (yy_start);
|
|
1776
1687
|
yy_current_state += YY_AT_BOL();
|
|
1777
1688
|
|
|
@@ -1826,7 +1737,7 @@ static int yy_get_next_buffer (void)
|
|
|
1826
1737
|
static void yyunput (int c, register char * yy_bp )
|
|
1827
1738
|
{
|
|
1828
1739
|
register char *yy_cp;
|
|
1829
|
-
|
|
1740
|
+
|
|
1830
1741
|
yy_cp = (yy_c_buf_p);
|
|
1831
1742
|
|
|
1832
1743
|
/* undo effects of setting up slice_text */
|
|
@@ -1869,7 +1780,7 @@ static int yy_get_next_buffer (void)
|
|
|
1869
1780
|
|
|
1870
1781
|
{
|
|
1871
1782
|
int c;
|
|
1872
|
-
|
|
1783
|
+
|
|
1873
1784
|
*(yy_c_buf_p) = (yy_hold_char);
|
|
1874
1785
|
|
|
1875
1786
|
if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
|
|
@@ -1938,12 +1849,12 @@ static int yy_get_next_buffer (void)
|
|
|
1938
1849
|
|
|
1939
1850
|
/** Immediately switch to a different input stream.
|
|
1940
1851
|
* @param input_file A readable stream.
|
|
1941
|
-
*
|
|
1852
|
+
*
|
|
1942
1853
|
* @note This function does not reset the start condition to @c INITIAL .
|
|
1943
1854
|
*/
|
|
1944
1855
|
void slice_restart (FILE * input_file )
|
|
1945
1856
|
{
|
|
1946
|
-
|
|
1857
|
+
|
|
1947
1858
|
if ( ! YY_CURRENT_BUFFER ){
|
|
1948
1859
|
slice_ensure_buffer_stack ();
|
|
1949
1860
|
YY_CURRENT_BUFFER_LVALUE =
|
|
@@ -1956,11 +1867,11 @@ static int yy_get_next_buffer (void)
|
|
|
1956
1867
|
|
|
1957
1868
|
/** Switch to a different input buffer.
|
|
1958
1869
|
* @param new_buffer The new input buffer.
|
|
1959
|
-
*
|
|
1870
|
+
*
|
|
1960
1871
|
*/
|
|
1961
1872
|
void slice__switch_to_buffer (YY_BUFFER_STATE new_buffer )
|
|
1962
1873
|
{
|
|
1963
|
-
|
|
1874
|
+
|
|
1964
1875
|
/* TODO. We should be able to replace this entire function body
|
|
1965
1876
|
* with
|
|
1966
1877
|
* slice_pop_buffer_state();
|
|
@@ -2000,13 +1911,13 @@ static void slice__load_buffer_state (void)
|
|
|
2000
1911
|
/** Allocate and initialize an input buffer state.
|
|
2001
1912
|
* @param file A readable stream.
|
|
2002
1913
|
* @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
|
|
2003
|
-
*
|
|
1914
|
+
*
|
|
2004
1915
|
* @return the allocated buffer state.
|
|
2005
1916
|
*/
|
|
2006
1917
|
YY_BUFFER_STATE slice__create_buffer (FILE * file, int size )
|
|
2007
1918
|
{
|
|
2008
1919
|
YY_BUFFER_STATE b;
|
|
2009
|
-
|
|
1920
|
+
|
|
2010
1921
|
b = (YY_BUFFER_STATE) slice_alloc(sizeof( struct yy_buffer_state ) );
|
|
2011
1922
|
if ( ! b )
|
|
2012
1923
|
YY_FATAL_ERROR( "out of dynamic memory in slice__create_buffer()" );
|
|
@@ -2029,11 +1940,11 @@ static void slice__load_buffer_state (void)
|
|
|
2029
1940
|
|
|
2030
1941
|
/** Destroy the buffer.
|
|
2031
1942
|
* @param b a buffer created with slice__create_buffer()
|
|
2032
|
-
*
|
|
1943
|
+
*
|
|
2033
1944
|
*/
|
|
2034
1945
|
void slice__delete_buffer (YY_BUFFER_STATE b )
|
|
2035
1946
|
{
|
|
2036
|
-
|
|
1947
|
+
|
|
2037
1948
|
if ( ! b )
|
|
2038
1949
|
return;
|
|
2039
1950
|
|
|
@@ -2054,7 +1965,7 @@ static void slice__load_buffer_state (void)
|
|
|
2054
1965
|
|
|
2055
1966
|
{
|
|
2056
1967
|
int oerrno = errno;
|
|
2057
|
-
|
|
1968
|
+
|
|
2058
1969
|
slice__flush_buffer(b );
|
|
2059
1970
|
|
|
2060
1971
|
b->yy_input_file = file;
|
|
@@ -2070,13 +1981,13 @@ static void slice__load_buffer_state (void)
|
|
|
2070
1981
|
}
|
|
2071
1982
|
|
|
2072
1983
|
b->yy_is_interactive = 0;
|
|
2073
|
-
|
|
1984
|
+
|
|
2074
1985
|
errno = oerrno;
|
|
2075
1986
|
}
|
|
2076
1987
|
|
|
2077
1988
|
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
|
|
2078
1989
|
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
|
|
2079
|
-
*
|
|
1990
|
+
*
|
|
2080
1991
|
*/
|
|
2081
1992
|
void slice__flush_buffer (YY_BUFFER_STATE b )
|
|
2082
1993
|
{
|
|
@@ -2105,7 +2016,7 @@ static void slice__load_buffer_state (void)
|
|
|
2105
2016
|
* the current state. This function will allocate the stack
|
|
2106
2017
|
* if necessary.
|
|
2107
2018
|
* @param new_buffer The new state.
|
|
2108
|
-
*
|
|
2019
|
+
*
|
|
2109
2020
|
*/
|
|
2110
2021
|
void slice_push_buffer_state (YY_BUFFER_STATE new_buffer )
|
|
2111
2022
|
{
|
|
@@ -2135,7 +2046,7 @@ void slice_push_buffer_state (YY_BUFFER_STATE new_buffer )
|
|
|
2135
2046
|
|
|
2136
2047
|
/** Removes and deletes the top of the stack, if present.
|
|
2137
2048
|
* The next element becomes the new top.
|
|
2138
|
-
*
|
|
2049
|
+
*
|
|
2139
2050
|
*/
|
|
2140
2051
|
void slice_pop_buffer_state (void)
|
|
2141
2052
|
{
|
|
@@ -2159,7 +2070,7 @@ void slice_pop_buffer_state (void)
|
|
|
2159
2070
|
static void slice_ensure_buffer_stack (void)
|
|
2160
2071
|
{
|
|
2161
2072
|
yy_size_t num_to_alloc;
|
|
2162
|
-
|
|
2073
|
+
|
|
2163
2074
|
if (!(yy_buffer_stack)) {
|
|
2164
2075
|
|
|
2165
2076
|
/* First allocation is just for 2 elements, since we don't know if this
|
|
@@ -2172,9 +2083,9 @@ static void slice_ensure_buffer_stack (void)
|
|
|
2172
2083
|
);
|
|
2173
2084
|
if ( ! (yy_buffer_stack) )
|
|
2174
2085
|
YY_FATAL_ERROR( "out of dynamic memory in slice_ensure_buffer_stack()" );
|
|
2175
|
-
|
|
2086
|
+
|
|
2176
2087
|
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
|
|
2177
|
-
|
|
2088
|
+
|
|
2178
2089
|
(yy_buffer_stack_max) = num_to_alloc;
|
|
2179
2090
|
(yy_buffer_stack_top) = 0;
|
|
2180
2091
|
return;
|
|
@@ -2202,13 +2113,13 @@ static void slice_ensure_buffer_stack (void)
|
|
|
2202
2113
|
/** Setup the input buffer state to scan directly from a user-specified character buffer.
|
|
2203
2114
|
* @param base the character buffer
|
|
2204
2115
|
* @param size the size in bytes of the character buffer
|
|
2205
|
-
*
|
|
2206
|
-
* @return the newly allocated buffer state object.
|
|
2116
|
+
*
|
|
2117
|
+
* @return the newly allocated buffer state object.
|
|
2207
2118
|
*/
|
|
2208
2119
|
YY_BUFFER_STATE slice__scan_buffer (char * base, yy_size_t size )
|
|
2209
2120
|
{
|
|
2210
2121
|
YY_BUFFER_STATE b;
|
|
2211
|
-
|
|
2122
|
+
|
|
2212
2123
|
if ( size < 2 ||
|
|
2213
2124
|
base[size-2] != YY_END_OF_BUFFER_CHAR ||
|
|
2214
2125
|
base[size-1] != YY_END_OF_BUFFER_CHAR )
|
|
@@ -2237,14 +2148,14 @@ YY_BUFFER_STATE slice__scan_buffer (char * base, yy_size_t size )
|
|
|
2237
2148
|
/** Setup the input buffer state to scan a string. The next call to slice_lex() will
|
|
2238
2149
|
* scan from a @e copy of @a str.
|
|
2239
2150
|
* @param yystr a NUL-terminated string to scan
|
|
2240
|
-
*
|
|
2151
|
+
*
|
|
2241
2152
|
* @return the newly allocated buffer state object.
|
|
2242
2153
|
* @note If you want to scan bytes that may contain NUL values, then use
|
|
2243
2154
|
* slice__scan_bytes() instead.
|
|
2244
2155
|
*/
|
|
2245
2156
|
YY_BUFFER_STATE slice__scan_string (yyconst char * yystr )
|
|
2246
2157
|
{
|
|
2247
|
-
|
|
2158
|
+
|
|
2248
2159
|
return slice__scan_bytes(yystr,strlen(yystr) );
|
|
2249
2160
|
}
|
|
2250
2161
|
|
|
@@ -2252,7 +2163,7 @@ YY_BUFFER_STATE slice__scan_string (yyconst char * yystr )
|
|
|
2252
2163
|
* scan from a @e copy of @a bytes.
|
|
2253
2164
|
* @param yybytes the byte buffer to scan
|
|
2254
2165
|
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
|
|
2255
|
-
*
|
|
2166
|
+
*
|
|
2256
2167
|
* @return the newly allocated buffer state object.
|
|
2257
2168
|
*/
|
|
2258
2169
|
YY_BUFFER_STATE slice__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
|
|
@@ -2260,8 +2171,8 @@ YY_BUFFER_STATE slice__scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_
|
|
|
2260
2171
|
YY_BUFFER_STATE b;
|
|
2261
2172
|
char *buf;
|
|
2262
2173
|
yy_size_t n;
|
|
2263
|
-
|
|
2264
|
-
|
|
2174
|
+
int i;
|
|
2175
|
+
|
|
2265
2176
|
/* Get memory for full buffer, including space for trailing EOB's. */
|
|
2266
2177
|
n = _yybytes_len + 2;
|
|
2267
2178
|
buf = (char *) slice_alloc(n );
|
|
@@ -2315,16 +2226,16 @@ static void yy_fatal_error (yyconst char* msg )
|
|
|
2315
2226
|
/* Accessor methods (get/set functions) to struct members. */
|
|
2316
2227
|
|
|
2317
2228
|
/** Get the current line number.
|
|
2318
|
-
*
|
|
2229
|
+
*
|
|
2319
2230
|
*/
|
|
2320
2231
|
int slice_get_lineno (void)
|
|
2321
2232
|
{
|
|
2322
|
-
|
|
2233
|
+
|
|
2323
2234
|
return slice_lineno;
|
|
2324
2235
|
}
|
|
2325
2236
|
|
|
2326
2237
|
/** Get the input stream.
|
|
2327
|
-
*
|
|
2238
|
+
*
|
|
2328
2239
|
*/
|
|
2329
2240
|
FILE *slice_get_in (void)
|
|
2330
2241
|
{
|
|
@@ -2332,7 +2243,7 @@ FILE *slice_get_in (void)
|
|
|
2332
2243
|
}
|
|
2333
2244
|
|
|
2334
2245
|
/** Get the output stream.
|
|
2335
|
-
*
|
|
2246
|
+
*
|
|
2336
2247
|
*/
|
|
2337
2248
|
FILE *slice_get_out (void)
|
|
2338
2249
|
{
|
|
@@ -2340,7 +2251,7 @@ FILE *slice_get_out (void)
|
|
|
2340
2251
|
}
|
|
2341
2252
|
|
|
2342
2253
|
/** Get the length of the current token.
|
|
2343
|
-
*
|
|
2254
|
+
*
|
|
2344
2255
|
*/
|
|
2345
2256
|
yy_size_t slice_get_leng (void)
|
|
2346
2257
|
{
|
|
@@ -2348,7 +2259,7 @@ yy_size_t slice_get_leng (void)
|
|
|
2348
2259
|
}
|
|
2349
2260
|
|
|
2350
2261
|
/** Get the current token.
|
|
2351
|
-
*
|
|
2262
|
+
*
|
|
2352
2263
|
*/
|
|
2353
2264
|
|
|
2354
2265
|
char *slice_get_text (void)
|
|
@@ -2358,18 +2269,18 @@ char *slice_get_text (void)
|
|
|
2358
2269
|
|
|
2359
2270
|
/** Set the current line number.
|
|
2360
2271
|
* @param line_number
|
|
2361
|
-
*
|
|
2272
|
+
*
|
|
2362
2273
|
*/
|
|
2363
2274
|
void slice_set_lineno (int line_number )
|
|
2364
2275
|
{
|
|
2365
|
-
|
|
2276
|
+
|
|
2366
2277
|
slice_lineno = line_number;
|
|
2367
2278
|
}
|
|
2368
2279
|
|
|
2369
2280
|
/** Set the input stream. This does not discard the current
|
|
2370
2281
|
* input buffer.
|
|
2371
2282
|
* @param in_str A readable stream.
|
|
2372
|
-
*
|
|
2283
|
+
*
|
|
2373
2284
|
* @see slice__switch_to_buffer
|
|
2374
2285
|
*/
|
|
2375
2286
|
void slice_set_in (FILE * in_str )
|
|
@@ -2423,7 +2334,7 @@ static int yy_init_globals (void)
|
|
|
2423
2334
|
/* slice_lex_destroy is for both reentrant and non-reentrant scanners. */
|
|
2424
2335
|
int slice_lex_destroy (void)
|
|
2425
2336
|
{
|
|
2426
|
-
|
|
2337
|
+
|
|
2427
2338
|
/* Pop the buffer stack, destroying each element. */
|
|
2428
2339
|
while(YY_CURRENT_BUFFER){
|
|
2429
2340
|
slice__delete_buffer(YY_CURRENT_BUFFER );
|
|
@@ -2490,7 +2401,7 @@ void slice_free (void * ptr )
|
|
|
2490
2401
|
|
|
2491
2402
|
#define YYTABLES_NAME "yytables"
|
|
2492
2403
|
|
|
2493
|
-
#line
|
|
2404
|
+
#line 525 "src/Slice/Scanner.l"
|
|
2494
2405
|
|
|
2495
2406
|
|
|
2496
2407
|
|
|
@@ -2532,6 +2443,7 @@ initScanner()
|
|
|
2532
2443
|
keywordMap["true"] = ICE_TRUE;
|
|
2533
2444
|
keywordMap["idempotent"] = ICE_IDEMPOTENT;
|
|
2534
2445
|
keywordMap["optional"] = ICE_OPTIONAL;
|
|
2446
|
+
keywordMap["Value"] = ICE_VALUE;
|
|
2535
2447
|
}
|
|
2536
2448
|
|
|
2537
2449
|
//
|
|
@@ -2547,15 +2459,15 @@ checkKeyword(string& id)
|
|
|
2547
2459
|
StringTokenMap::const_iterator pos = keywordMap.find(id);
|
|
2548
2460
|
if(pos != keywordMap.end())
|
|
2549
2461
|
{
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2462
|
+
if(pos->first != id)
|
|
2463
|
+
{
|
|
2464
|
+
string msg;
|
|
2465
|
+
msg = "illegal identifier: `" + id + "' differs from keyword `";
|
|
2466
|
+
msg += pos->first + "' only in capitalization";
|
|
2467
|
+
unit->error(msg);
|
|
2468
|
+
id = pos->first;
|
|
2469
|
+
}
|
|
2470
|
+
return pos->second;
|
|
2559
2471
|
}
|
|
2560
2472
|
return ICE_IDENTIFIER;
|
|
2561
2473
|
}
|