diff options
-rw-r--r-- | cpp/src/FreezeScript/.depend | 24 | ||||
-rw-r--r-- | cpp/src/FreezeScript/DumpDB.cpp | 131 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Makefile | 2 | ||||
-rw-r--r-- | cpp/src/FreezeScript/TransformAnalyzer.cpp | 88 | ||||
-rw-r--r-- | cpp/src/FreezeScript/TransformAnalyzer.h | 16 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Transformer.cpp | 134 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Util.cpp | 56 | ||||
-rw-r--r-- | cpp/src/FreezeScript/Util.h | 6 | ||||
-rw-r--r-- | cpp/src/FreezeScript/transformdb.cpp | 411 |
9 files changed, 624 insertions, 244 deletions
diff --git a/cpp/src/FreezeScript/.depend b/cpp/src/FreezeScript/.depend index 59eba6a1a3f..cee102ca522 100644 --- a/cpp/src/FreezeScript/.depend +++ b/cpp/src/FreezeScript/.depend @@ -1,16 +1,16 @@ Grammar$(OBJEXT): Grammar.cpp ../FreezeScript/GrammarUtil.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h Scanner$(OBJEXT): Scanner.cpp ../../include/IceUtil/Config.h ../FreezeScript/GrammarUtil.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Grammar.h -AssignVisitor$(OBJEXT): AssignVisitor.cpp ../FreezeScript/AssignVisitor.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h -Data$(OBJEXT): Data.cpp ../../include/IceUtil/DisableWarnings.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../FreezeScript/Exception.h -Error$(OBJEXT): Error.cpp ../FreezeScript/Error.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Exception.h ../FreezeScript/Util.h -Functions$(OBJEXT): Functions.cpp ../FreezeScript/Functions.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/IceUtil/UUID.h +AssignVisitor$(OBJEXT): AssignVisitor.cpp ../FreezeScript/AssignVisitor.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h +Data$(OBJEXT): Data.cpp ../../include/IceUtil/DisableWarnings.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../FreezeScript/Exception.h +Error$(OBJEXT): Error.cpp ../FreezeScript/Error.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Freeze/CatalogData.h +Functions$(OBJEXT): Functions.cpp ../FreezeScript/Functions.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../../include/IceUtil/UUID.h Exception$(OBJEXT): Exception.cpp ../FreezeScript/Exception.h ../../include/IceUtil/Exception.h ../../include/IceUtil/Config.h Parser$(OBJEXT): Parser.cpp ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/GrammarUtil.h -Print$(OBJEXT): Print.cpp ../FreezeScript/Print.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/IceUtil/OutputUtil.h -Util$(OBJEXT): Util.cpp ../FreezeScript/Util.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Exception.h ../../include/Slice/Preprocessor.h -TransformAnalyzer$(OBJEXT): TransformAnalyzer.cpp ../FreezeScript/TransformAnalyzer.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Util.h ../../include/IceUtil/OutputUtil.h -TransformVisitor$(OBJEXT): TransformVisitor.cpp ../FreezeScript/TransformVisitor.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h -Transformer$(OBJEXT): Transformer.cpp ../FreezeScript/Transformer.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../FreezeScript/Data.h ../FreezeScript/Error.h ../FreezeScript/Parser.h ../FreezeScript/TransformVisitor.h ../FreezeScript/AssignVisitor.h ../FreezeScript/Print.h ../FreezeScript/Functions.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Freeze/Catalog.h ../../include/Freeze/Map.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/CatalogData.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/IceXML/Parser.h -transformdb$(OBJEXT): transformdb.cpp ../FreezeScript/Transformer.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../FreezeScript/Data.h ../FreezeScript/Error.h ../FreezeScript/TransformAnalyzer.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/Freeze/DB.h ../../include/Freeze/Catalog.h ../../include/Freeze/Map.h ../../include/Freeze/Exception.h ../../include/Freeze/CatalogData.h ../../include/IceUtil/Options.h -DumpDescriptors$(OBJEXT): DumpDescriptors.cpp ../FreezeScript/DumpDescriptors.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../../include/IceXML/Parser.h ../FreezeScript/AssignVisitor.h ../FreezeScript/Print.h ../FreezeScript/Functions.h ../FreezeScript/Exception.h ../FreezeScript/Util.h -DumpDB$(OBJEXT): DumpDB.cpp ../FreezeScript/DumpDescriptors.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../../include/IceXML/Parser.h ../FreezeScript/Util.h ../FreezeScript/Exception.h ../../include/IceUtil/OutputUtil.h ../../include/IceUtil/Options.h +Print$(OBJEXT): Print.cpp ../FreezeScript/Print.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../../include/IceUtil/OutputUtil.h +Util$(OBJEXT): Util.cpp ../FreezeScript/Util.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Freeze/CatalogData.h ../FreezeScript/Exception.h ../../include/Freeze/Catalog.h ../../include/Freeze/Map.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/Ice/GCShared.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/Slice/Preprocessor.h +TransformAnalyzer$(OBJEXT): TransformAnalyzer.cpp ../FreezeScript/TransformAnalyzer.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Exception.h ../../include/IceUtil/InputUtil.h ../../include/IceUtil/OutputUtil.h ../FreezeScript/Util.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/Config.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/GCCountMap.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Freeze/CatalogData.h +TransformVisitor$(OBJEXT): TransformVisitor.cpp ../FreezeScript/TransformVisitor.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h +Transformer$(OBJEXT): Transformer.cpp ../FreezeScript/Transformer.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../FreezeScript/Data.h ../FreezeScript/Error.h ../FreezeScript/Parser.h ../FreezeScript/TransformVisitor.h ../FreezeScript/AssignVisitor.h ../FreezeScript/Print.h ../FreezeScript/Functions.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../../include/Freeze/Catalog.h ../../include/Freeze/Map.h ../../include/Freeze/DB.h ../../include/Freeze/Exception.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/IceXML/Parser.h +transformdb$(OBJEXT): transformdb.cpp ../FreezeScript/Transformer.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../../include/Freeze/Connection.h ../../include/Freeze/Transaction.h ../FreezeScript/Data.h ../FreezeScript/Error.h ../FreezeScript/TransformAnalyzer.h ../../include/IceUtil/OutputUtil.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../../include/Freeze/Initialize.h ../../include/Freeze/EvictorF.h ../../include/Freeze/ConnectionF.h ../../include/Freeze/Index.h ../../include/Freeze/DB.h ../../include/Freeze/Catalog.h ../../include/Freeze/Map.h ../../include/Freeze/Exception.h ../../include/IceUtil/Options.h +DumpDescriptors$(OBJEXT): DumpDescriptors.cpp ../FreezeScript/DumpDescriptors.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../../include/IceXML/Parser.h ../FreezeScript/AssignVisitor.h ../FreezeScript/Print.h ../FreezeScript/Functions.h ../FreezeScript/Exception.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h +DumpDB$(OBJEXT): DumpDB.cpp ../FreezeScript/DumpDescriptors.h ../FreezeScript/Parser.h ../FreezeScript/Data.h ../../include/Ice/Ice.h ../../include/Ice/GCRecMutex.h ../../include/IceUtil/RecMutex.h ../../include/IceUtil/Config.h ../../include/IceUtil/Lock.h ../../include/IceUtil/ThreadException.h ../../include/IceUtil/Exception.h ../../include/Ice/Config.h ../../include/Ice/GCShared.h ../../include/Ice/GCCountMap.h ../../include/Ice/GC.h ../../include/IceUtil/Thread.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Handle.h ../../include/IceUtil/Mutex.h ../../include/IceUtil/Monitor.h ../../include/IceUtil/Cond.h ../../include/IceUtil/Time.h ../../include/Ice/Initialize.h ../../include/Ice/CommunicatorF.h ../../include/Ice/LocalObjectF.h ../../include/Ice/Handle.h ../../include/Ice/ProxyHandle.h ../../include/Ice/ProxyF.h ../../include/Ice/ObjectF.h ../../include/Ice/Exception.h ../../include/Ice/LocalObject.h ../../include/Ice/UndefSysMacros.h ../../include/Ice/PropertiesF.h ../../include/Ice/InstanceF.h ../../include/Ice/LoggerF.h ../../include/Ice/StreamF.h ../../include/Ice/StatsF.h ../../include/Ice/StringConverter.h ../../include/Ice/BuiltinSequences.h ../../include/Ice/Proxy.h ../../include/Ice/ProxyFactoryF.h ../../include/Ice/ConnectionIF.h ../../include/Ice/EndpointIF.h ../../include/Ice/Endpoint.h ../../include/Ice/ObjectAdapterF.h ../../include/Ice/ReferenceF.h ../../include/Ice/OutgoingAsyncF.h ../../include/Ice/Current.h ../../include/Ice/ConnectionF.h ../../include/Ice/Identity.h ../../include/Ice/LocalException.h ../../include/Ice/Properties.h ../../include/Ice/Logger.h ../../include/Ice/LoggerUtil.h ../../include/Ice/Stats.h ../../include/Ice/Communicator.h ../../include/Ice/ObjectFactoryF.h ../../include/Ice/RouterF.h ../../include/Ice/LocatorF.h ../../include/Ice/PluginF.h ../../include/Ice/ImplicitContextF.h ../../include/Ice/ObjectFactory.h ../../include/Ice/ObjectAdapter.h ../../include/Ice/Object.h ../../include/Ice/IncomingAsyncF.h ../../include/Ice/Outgoing.h ../../include/Ice/BasicStream.h ../../include/Ice/Buffer.h ../../include/Ice/Protocol.h ../../include/IceUtil/Unicode.h ../../include/Ice/OutgoingAsync.h ../../include/Ice/Incoming.h ../../include/Ice/ServantLocatorF.h ../../include/Ice/ServantManagerF.h ../../include/Ice/IncomingAsync.h ../../include/Ice/Direct.h ../../include/Ice/UserExceptionFactory.h ../../include/Ice/FactoryTable.h ../../include/Ice/FactoryTableDef.h ../../include/IceUtil/StaticMutex.h ../../include/Ice/UserExceptionFactoryF.h ../../include/Ice/FacetMap.h ../../include/Ice/Locator.h ../../include/Ice/ProcessF.h ../../include/Ice/ServantLocator.h ../../include/Ice/Process.h ../../include/Ice/Application.h ../../include/Ice/Connection.h ../../include/Ice/Functional.h ../../include/IceUtil/Functional.h ../../include/Ice/Stream.h ../../include/Ice/ImplicitContext.h ../../include/Slice/Parser.h ../../include/IceUtil/InputUtil.h ../FreezeScript/Error.h ../../include/IceXML/Parser.h ../FreezeScript/Util.h ../../include/Freeze/CatalogData.h ../FreezeScript/Exception.h ../../include/IceUtil/OutputUtil.h ../../include/IceUtil/Options.h diff --git a/cpp/src/FreezeScript/DumpDB.cpp b/cpp/src/FreezeScript/DumpDB.cpp index 88135555ff9..dd8e1978556 100644 --- a/cpp/src/FreezeScript/DumpDB.cpp +++ b/cpp/src/FreezeScript/DumpDB.cpp @@ -78,7 +78,7 @@ private: static void usage(const char* n) { - cerr << "Usage: " << n << " [options] [dbenv db]\n"; + cerr << "Usage: " << n << " [options] [dbenv [db]]\n"; cerr << "Options:\n" "-h, --help Show this message.\n" @@ -96,10 +96,28 @@ usage(const char* n) "--key TYPE Specifies the Slice type of the database key.\n" "--value TYPE Specifies the Slice type of the database value.\n" "--select EXPR Dump a record only if EXPR is true.\n" + "-c, --catalog Display information about the databases in an\n" + " environment, or about a particular database.\n" ; // Note: --case-sensitive is intentionally not shown here! } +static void +printCatalogData(const string& dbName, const Freeze::CatalogData& data) +{ + cout << dbName << ": "; + if(data.evictor) + { + cout << "Evictor database" << endl; + } + else + { + cout << "Map database" << endl; + cout << " key type = " << data.key << endl; + cout << " value type = " << data.value << endl; + } +} + static int run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) { @@ -131,6 +149,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) opts.addOpt("", "key", IceUtil::Options::NeedArg); opts.addOpt("", "value", IceUtil::Options::NeedArg); opts.addOpt("", "select", IceUtil::Options::NeedArg); + opts.addOpt("c", "catalog"); opts.addOpt("", "case-sensitive"); vector<string> args; @@ -155,6 +174,60 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) cout << ICE_STRING_VERSION << endl; return EXIT_SUCCESS; } + if(opts.isSet("c")) + { + if(args.empty()) + { + cerr << argv[0] << ": no database environment specified." << endl; + usage(argv[0]); + return EXIT_FAILURE; + } + else if(args.size() > 2) + { + usage(argv[0]); + return EXIT_FAILURE; + } + try + { + FreezeScript::CatalogDataMap catalog = FreezeScript::readCatalog(communicator, args[0]); + if(args.size() == 1) + { + if(catalog.empty()) + { + cout << "Catalog is empty." << endl; + } + else + { + cout << "Catalog contents:" << endl; + for(FreezeScript::CatalogDataMap::const_iterator p = catalog.begin(); p != catalog.end(); ++p) + { + cout << endl; + printCatalogData(p->first, p->second); + } + } + } + else + { + FreezeScript::CatalogDataMap::const_iterator p = catalog.find(args[1]); + if(p == catalog.end()) + { + cerr << argv[0] << ": database `" << args[1] << "' not found in environment `" << args[0] << "'." + << endl; + return EXIT_FAILURE; + } + else + { + printCatalogData(p->first, p->second); + } + } + return EXIT_SUCCESS; + } + catch(const FreezeScript::FailureException& ex) + { + cerr << argv[0] << ": " << ex.reason() << endl; + return EXIT_FAILURE; + } + } if(opts.isSet("D")) { vector<string> optargs = opts.argVec("D"); @@ -214,7 +287,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) } caseSensitive = opts.isSet("case-sensitive"); - if(outputFile.empty() && args.size() < 2) + if(outputFile.empty() && args.size() != 2) { usage(argv[0]); return EXIT_FAILURE; @@ -255,15 +328,55 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) string descriptors; if(inputFile.empty()) { + const string evictorKeyTypeName = "::Ice::Identity"; + const string evictorValueTypeName = "::Freeze::ObjectRecord"; + + if((!keyTypeName.empty() && valueTypeName.empty()) || (keyTypeName.empty() && !valueTypeName.empty())) + { + cerr << argv[0] << ": a key type and a value type must be specified" << endl; + usage(argv[0]); + return EXIT_FAILURE; + } + else if(!evictor && keyTypeName.empty() && valueTypeName.empty()) + { + try + { + FreezeScript::CatalogDataMap catalog = FreezeScript::readCatalog(communicator, dbEnvName); + FreezeScript::CatalogDataMap::iterator p = catalog.find(dbName); + if(p == catalog.end()) + { + cerr << argv[0] << ": database `" << dbName << "' not found in catalog." << endl; + cerr << "Current catalog databases:" << endl; + for(p = catalog.begin(); p != catalog.end(); ++p) + { + cerr << " " << p->first << endl; + } + return EXIT_FAILURE; + } + else + { + if(p->second.evictor) + { + evictor = true; + } + else + { + keyTypeName = p->second.key; + valueTypeName = p->second.value; + } + } + } + catch(const FreezeScript::FailureException& ex) + { + cerr << argv[0] << ": " << ex.reason() << endl; + return EXIT_FAILURE; + } + } + if(evictor) { - keyTypeName = "::Ice::Identity"; - valueTypeName = "::Freeze::ObjectRecord"; - } - else if(keyTypeName.empty() || valueTypeName.empty()) - { - usage(argv[0]); - return EXIT_FAILURE; + keyTypeName = evictorKeyTypeName; + valueTypeName = evictorValueTypeName; } Slice::TypePtr keyType, valueType; diff --git a/cpp/src/FreezeScript/Makefile b/cpp/src/FreezeScript/Makefile index e741b1182c0..e4e1df8198a 100644 --- a/cpp/src/FreezeScript/Makefile +++ b/cpp/src/FreezeScript/Makefile @@ -48,7 +48,7 @@ $(TRANSFORMDB): $(TRANSFORM_OBJS) $(COMMON_OBJS) $(DUMPDB): $(DUMP_OBJS) $(COMMON_OBJS) rm -f $@ - $(CXX) $(LDFLAGS) -o $@ $(DUMP_OBJS) $(COMMON_OBJS) -lSlice $(EXPAT_RPATH_LINK) -lIceXML $(LIBS) $(DB_LIBS) + $(CXX) $(LDFLAGS) -o $@ $(DUMP_OBJS) $(COMMON_OBJS) -lSlice $(EXPAT_RPATH_LINK) -lIceXML $(DB_RPATH_LINK) -lFreeze $(LIBS) $(DB_LIBS) clean:: rm -f Grammar.cpp Grammar.h diff --git a/cpp/src/FreezeScript/TransformAnalyzer.cpp b/cpp/src/FreezeScript/TransformAnalyzer.cpp index 359054bfdc3..20cbbbde639 100644 --- a/cpp/src/FreezeScript/TransformAnalyzer.cpp +++ b/cpp/src/FreezeScript/TransformAnalyzer.cpp @@ -27,8 +27,9 @@ class AnalyzeTransformVisitor : public ParserVisitor { public: - AnalyzeTransformVisitor(XMLOutput&, const UnitPtr&, const TypePtr&, const TypePtr&, const TypePtr&, const TypePtr&, - bool, vector<string>&, vector<string>&); + AnalyzeTransformVisitor(XMLOutput&, const UnitPtr&, bool, vector<string>&, vector<string>&); + + void addDatabase(const string&, const TypePtr&, const TypePtr&, const TypePtr&, const TypePtr&); virtual bool visitClassDefStart(const ClassDefPtr&); virtual bool visitStructStart(const StructPtr&); @@ -81,42 +82,58 @@ private: //////////////////////////////////// FreezeScript::AnalyzeTransformVisitor::AnalyzeTransformVisitor(XMLOutput& out, const UnitPtr& newUnit, - const TypePtr& oldKey, const TypePtr& newKey, - const TypePtr& oldValue, const TypePtr& newValue, bool ignoreTypeChanges, vector<string>& missingTypes, vector<string>& errors) : _out(out), _newUnit(newUnit), _ignoreTypeChanges(ignoreTypeChanges), _missingTypes(missingTypes), _errors(errors) { - out << se("database"); +} + +void +FreezeScript::AnalyzeTransformVisitor::addDatabase(const string& name, const TypePtr& oldKey, const TypePtr& newKey, + const TypePtr& oldValue, const TypePtr& newValue) +{ + _out << "\n"; + _out << se("database"); - string oldKeyName = typeToString(oldKey); - string newKeyName = typeToString(newKey); + if(!name.empty()) + { + _out << attr("name", name); + } + + string oldKeyName = oldKey ? typeToString(oldKey) : "UNKNOWN"; + string newKeyName = newKey ? typeToString(newKey) : "UNKNOWN"; if(oldKeyName == newKeyName) { - out << attr("key", oldKeyName); + _out << attr("key", oldKeyName); } else { - out << attr("key", oldKeyName + "," + newKeyName); + _out << attr("key", oldKeyName + "," + newKeyName); } - string oldValueName = typeToString(oldValue); - string newValueName = typeToString(newValue); + string oldValueName = oldValue ? typeToString(oldValue) : "UNKNOWN"; + string newValueName = newValue ? typeToString(newValue) : "UNKNOWN"; if(oldValueName == newValueName) { - out << attr("value", oldValueName); + _out << attr("value", oldValueName); } else { - out << attr("value", oldValueName + "," + newValueName); + _out << attr("value", oldValueName + "," + newValueName); } - out << se("record"); - compareTypes("database key", oldKey, newKey); - compareTypes("database value", oldValue, newValue); - out << ee; + _out << se("record"); + if(oldKey && newKey) + { + compareTypes("database key", oldKey, newKey); + } + if(oldValue && newValue) + { + compareTypes("database value", oldValue, newValue); + } + _out << ee; - out << ee; + _out << ee; } bool @@ -1112,27 +1129,34 @@ FreezeScript::AnalyzeInitVisitor::typeChange(const TypePtr& t, const string& sco } FreezeScript::TransformAnalyzer::TransformAnalyzer(const UnitPtr& oldUnit, const UnitPtr& newUnit, - bool ignoreTypeChanges) : - _old(oldUnit), _new(newUnit), _ignoreTypeChanges(ignoreTypeChanges) + bool ignoreTypeChanges, ostream& os, vector<string>& missingTypes, + vector<string>& errors) : + _old(oldUnit), _new(newUnit), _out(os), + _visitor(new AnalyzeTransformVisitor(_out, newUnit, ignoreTypeChanges, missingTypes, errors)) { + _out << se("transformdb"); } -void -FreezeScript::TransformAnalyzer::analyze(const TypePtr& oldKey, const TypePtr& newKey, const TypePtr& oldValue, - const TypePtr& newValue, ostream& os, vector<string>& missingTypes, - vector<string>& errors) +FreezeScript::TransformAnalyzer::~TransformAnalyzer() { - XMLOutput out(os); + delete _visitor; +} - out << se("transformdb"); +void +FreezeScript::TransformAnalyzer::addDatabase(const string& name, const TypePtr& oldKey, const TypePtr& newKey, + const TypePtr& oldValue, const TypePtr& newValue) +{ + _visitor->addDatabase(name, oldKey, newKey, oldValue, newValue); +} - AnalyzeTransformVisitor transformVisitor(out, _new, oldKey, newKey, oldValue, newValue, _ignoreTypeChanges, - missingTypes, errors); - _old->visit(&transformVisitor, false); +void +FreezeScript::TransformAnalyzer::finish() +{ + _old->visit(_visitor, false); - AnalyzeInitVisitor initVisitor(out, _old); + AnalyzeInitVisitor initVisitor(_out, _old); _new->visit(&initVisitor, false); - out << ee; - out << '\n'; + _out << ee; + _out << '\n'; } diff --git a/cpp/src/FreezeScript/TransformAnalyzer.h b/cpp/src/FreezeScript/TransformAnalyzer.h index 92e7d220c52..05a9a8747ae 100644 --- a/cpp/src/FreezeScript/TransformAnalyzer.h +++ b/cpp/src/FreezeScript/TransformAnalyzer.h @@ -11,24 +11,32 @@ #define FREEZE_SCRIPT_TRANSFORM_ANALYZER_H #include <Slice/Parser.h> +#include <IceUtil/OutputUtil.h> #include <ostream> namespace FreezeScript { +class AnalyzeTransformVisitor; + class TransformAnalyzer { public: - TransformAnalyzer(const Slice::UnitPtr&, const Slice::UnitPtr&, bool); - void analyze(const Slice::TypePtr&, const Slice::TypePtr&, const Slice::TypePtr&, const Slice::TypePtr&, - std::ostream&, std::vector<std::string>&, std::vector<std::string>&); + TransformAnalyzer(const Slice::UnitPtr&, const Slice::UnitPtr&, bool, std::ostream&, std::vector<std::string>&, + std::vector<std::string>&); + ~TransformAnalyzer(); + + void addDatabase(const std::string&, const Slice::TypePtr&, const Slice::TypePtr&, const Slice::TypePtr&, + const Slice::TypePtr&); + void finish(); private: Slice::UnitPtr _old; Slice::UnitPtr _new; - bool _ignoreTypeChanges; + IceUtil::XMLOutput _out; + AnalyzeTransformVisitor* _visitor; }; } diff --git a/cpp/src/FreezeScript/Transformer.cpp b/cpp/src/FreezeScript/Transformer.cpp index 761a6dbb873..0a33982aa92 100644 --- a/cpp/src/FreezeScript/Transformer.cpp +++ b/cpp/src/FreezeScript/Transformer.cpp @@ -418,9 +418,17 @@ public: DatabaseDescriptor(const DescriptorPtr&, int, const TransformInfoIPtr&, const IceXML::Attributes&); virtual void addChild(const DescriptorPtr&); + virtual void execute(const SymbolTablePtr&); + + string name() const; private: + string _name; + string _oldKeyName; + string _oldValueName; + string _newKeyName; + string _newValueName; RecordDescriptorPtr _record; }; typedef IceUtil::Handle<DatabaseDescriptor> DatabaseDescriptorPtr; @@ -441,7 +449,7 @@ public: private: - DatabaseDescriptorPtr _database; + map<string, DatabaseDescriptorPtr> _databases; vector<DescriptorPtr> _children; }; typedef IceUtil::Handle<TransformDBDescriptor> TransformDBDescriptorPtr; @@ -2038,7 +2046,15 @@ FreezeScript::DatabaseDescriptor::DatabaseDescriptor(const DescriptorPtr& parent { DescriptorErrorContext ctx(_info->errorReporter, "database", _line); - IceXML::Attributes::const_iterator p = attributes.find("key"); + IceXML::Attributes::const_iterator p; + + p = attributes.find("name"); + if(p != attributes.end()) + { + _name = p->second; + } + + p = attributes.find("key"); if(p == attributes.end()) { _info->errorReporter->error("required attribute `key' is missing"); @@ -2052,8 +2068,6 @@ FreezeScript::DatabaseDescriptor::DatabaseDescriptor(const DescriptorPtr& parent } string valueTypes = p->second; - string oldKeyName, newKeyName; - string oldValueName, newValueName; string::size_type pos; pos = keyTypes.find(','); @@ -2063,13 +2077,13 @@ FreezeScript::DatabaseDescriptor::DatabaseDescriptor(const DescriptorPtr& parent } if(pos == string::npos) { - oldKeyName = keyTypes; - newKeyName = keyTypes; + _oldKeyName = keyTypes; + _newKeyName = keyTypes; } else { - oldKeyName = keyTypes.substr(0, pos); - newKeyName = keyTypes.substr(pos + 1); + _oldKeyName = keyTypes.substr(0, pos); + _newKeyName = keyTypes.substr(pos + 1); } pos = valueTypes.find(','); @@ -2079,22 +2093,46 @@ FreezeScript::DatabaseDescriptor::DatabaseDescriptor(const DescriptorPtr& parent } if(pos == string::npos) { - oldValueName = valueTypes; - newValueName = valueTypes; + _oldValueName = valueTypes; + _newValueName = valueTypes; } else { - oldValueName = valueTypes.substr(0, pos); - newValueName = valueTypes.substr(pos + 1); + _oldValueName = valueTypes.substr(0, pos); + _newValueName = valueTypes.substr(pos + 1); } +} + +void +FreezeScript::DatabaseDescriptor::addChild(const DescriptorPtr& child) +{ + DescriptorErrorContext ctx(_info->errorReporter, "database", _line); + + RecordDescriptorPtr rec = RecordDescriptorPtr::dynamicCast(child); + if(rec) + { + if(_record) + { + _info->errorReporter->error("only one <record> element can be specified"); + } + _record = rec; + } + + ExecutableContainerDescriptor::addChild(child); +} + +void +FreezeScript::DatabaseDescriptor::execute(const SymbolTablePtr& st) +{ + DescriptorErrorContext ctx(_info->errorReporter, "database", _line); // // Look up the Slice definitions for the key and value types. // - _info->oldKeyType = findType(_info->oldUnit, oldKeyName); - _info->newKeyType = findType(_info->newUnit, newKeyName); - _info->oldValueType = findType(_info->oldUnit, oldValueName); - _info->newValueType = findType(_info->newUnit, newValueName); + _info->oldKeyType = findType(_info->oldUnit, _oldKeyName); + _info->newKeyType = findType(_info->newUnit, _newKeyName); + _info->oldValueType = findType(_info->oldUnit, _oldValueName); + _info->newValueType = findType(_info->newUnit, _newValueName); if(_info->connection != 0) { @@ -2110,24 +2148,14 @@ FreezeScript::DatabaseDescriptor::DatabaseDescriptor(const DescriptorPtr& parent // TODO: it looks like _info is not destroyed before the new dbEnv is closed. // _info->connection = 0; + + ExecutableContainerDescriptor::execute(st); } -void -FreezeScript::DatabaseDescriptor::addChild(const DescriptorPtr& child) +string +FreezeScript::DatabaseDescriptor::name() const { - DescriptorErrorContext ctx(_info->errorReporter, "database", _line); - - RecordDescriptorPtr rec = RecordDescriptorPtr::dynamicCast(child); - if(rec) - { - if(_record) - { - _info->errorReporter->error("only one <record> element can be specified"); - } - _record = rec; - } - - ExecutableContainerDescriptor::addChild(child); + return _name; } // @@ -2154,15 +2182,24 @@ FreezeScript::TransformDBDescriptor::addChild(const DescriptorPtr& child) if(db) { - if(_database) - { - _info->errorReporter->error("only one <database> element can be specified"); - } - else - { - _database = db; - _children.push_back(db); - } + string name = db->name(); + map<string, DatabaseDescriptorPtr>::iterator p = _databases.find(name); + if(p != _databases.end()) + { + if(name.empty()) + { + _info->errorReporter->error("duplicate <database> element"); + } + else + { + _info->errorReporter->error(string("duplicate <database> element for ") + name); + } + } + else + { + _databases[name] = db; + _children.push_back(db); + } } else if(transform) { @@ -2204,9 +2241,9 @@ FreezeScript::TransformDBDescriptor::validate() { DescriptorErrorContext ctx(_info->errorReporter, "transformdb", _line); - if(!_database) + if(_databases.empty()) { - _info->errorReporter->error("no <database> element specified"); + _info->errorReporter->error("no <database> element defined"); } for(vector<DescriptorPtr>::iterator p = _children.begin(); p != _children.end(); ++p) @@ -2218,7 +2255,18 @@ FreezeScript::TransformDBDescriptor::validate() void FreezeScript::TransformDBDescriptor::execute(const SymbolTablePtr& sym) { - _database->execute(sym); + map<string, DatabaseDescriptorPtr>::iterator p = _databases.find(_info->newDbName); + if(p == _databases.end()) + { + p = _databases.find(""); + } + + if(p == _databases.end()) + { + _info->errorReporter->error("no <database> element found for `" + _info->newDbName + "'"); + } + + p->second->execute(sym); } // diff --git a/cpp/src/FreezeScript/Util.cpp b/cpp/src/FreezeScript/Util.cpp index 465dfb69ea4..431c2a8f081 100644 --- a/cpp/src/FreezeScript/Util.cpp +++ b/cpp/src/FreezeScript/Util.cpp @@ -9,7 +9,12 @@ #include <FreezeScript/Util.h> #include <FreezeScript/Exception.h> +#include <Freeze/Catalog.h> +#include <Freeze/Connection.h> +#include <Freeze/Initialize.h> #include <Slice/Preprocessor.h> +#include <db_cxx.h> +#include <sys/stat.h> using namespace std; using namespace Slice; @@ -198,3 +203,54 @@ FreezeScript::parseSlice(const string& n, const Slice::UnitPtr& u, const vector< return true; } + +FreezeScript::CatalogDataMap +FreezeScript::readCatalog(const Ice::CommunicatorPtr& communicator, const string& dbEnvName) +{ + CatalogDataMap result; + + DbEnv dbEnv(0); +#ifdef _WIN32 + int mode = 0; +#else + int mode = S_IRUSR | S_IWUSR; +#endif + try + { +#ifdef _WIN32 + // + // Berkeley DB may use a different C++ runtime. + // + dbEnv.set_alloc(::malloc, ::realloc, ::free); +#endif + + // + // Open the database environment. + // + { + u_int32_t flags = DB_INIT_LOG | DB_INIT_MPOOL | DB_INIT_TXN | DB_CREATE | DB_THREAD | DB_RECOVER; + dbEnv.open(dbEnvName.c_str(), flags, mode); + } + + Freeze::ConnectionPtr connection = Freeze::createConnection(communicator, dbEnvName, dbEnv); + Freeze::Catalog catalog(connection, Freeze::catalogName()); + for(Freeze::Catalog::const_iterator p = catalog.begin(); p != catalog.end(); ++p) + { + result.insert(make_pair(p->first, p->second)); + } + } + catch(const DbException& ex) + { + dbEnv.close(0); + throw FailureException(__FILE__, __LINE__, string("database error: ") + ex.what()); + } + catch(...) + { + dbEnv.close(0); + throw FailureException(__FILE__, __LINE__, "unknown exception"); + } + + dbEnv.close(0); + + return result; +} diff --git a/cpp/src/FreezeScript/Util.h b/cpp/src/FreezeScript/Util.h index be2ec75161b..db75e77ccb3 100644 --- a/cpp/src/FreezeScript/Util.h +++ b/cpp/src/FreezeScript/Util.h @@ -11,6 +11,8 @@ #define FREEZE_SCRIPT_UTIL_H #include <Slice/Parser.h> +#include <Ice/CommunicatorF.h> +#include <Freeze/CatalogData.h> namespace FreezeScript { @@ -55,6 +57,10 @@ bool ignoreType(const std::string&); void createEvictorSliceTypes(const Slice::UnitPtr&); bool parseSlice(const std::string&, const Slice::UnitPtr&, const std::vector<std::string>&, const std::string&, bool); +typedef std::map<std::string, Freeze::CatalogData> CatalogDataMap; + +CatalogDataMap readCatalog(const Ice::CommunicatorPtr&, const std::string&); + } // End of namespace FreezeScript #endif diff --git a/cpp/src/FreezeScript/transformdb.cpp b/cpp/src/FreezeScript/transformdb.cpp index 0497dc30d8a..92bb6c3b2f7 100644 --- a/cpp/src/FreezeScript/transformdb.cpp +++ b/cpp/src/FreezeScript/transformdb.cpp @@ -32,37 +32,38 @@ static void usage(const char* n) { -// -// -a is not fully implemented yet -// cerr << "Usage: " << n << " [options] [dbenv db newdbenv | dbenv newdbenv]\n"; -// - cerr << "Usage: " << n << " [options] [dbenv db newdbenv] \n"; + cerr << "Usage:\n"; + cerr << "\n"; + cerr << n << " -o FILE [-i] [slice-options] [type-options]\n"; + cerr << " Generates descriptors in FILE for a database.\n"; + cerr << "\n"; + cerr << n << " -o FILE [-i] [slice-options] DBENV\n"; + cerr << " Generates descriptors in FILE for all databases in the environment DBENV.\n"; + cerr << "\n"; + cerr << n << " [options] [slice-options] [type-options] DBENV DB NEWDBENV\n"; + cerr << " Transform the database DB in the environment DBENV. A database of the\n"; + cerr << " same name is created in the environment NEWDBENV.\n"; + cerr << "\n"; + cerr << n << " [options] [slice-options] DBENV NEWDBENV\n"; + cerr << " Transform all databases from the environment DBENV into the\n"; + cerr << " environment NEWDBENV.\n"; + cerr << "\n"; cerr << - "Options:\n" - "-h, --help Show this message.\n" - "-v, --version Display the Ice version.\n" + "Slice Options:\n" "-DNAME Define NAME as 1.\n" "-DNAME=DEF Define NAME as DEF.\n" "-UNAME Remove any definition for NAME.\n" "-d, --debug Print debug messages.\n" - "--ice Permit `Ice' prefix (for building Ice source code only)\n" - "-o FILE Output transformation descriptors into the file FILE.\n" - " Database transformation is not performed.\n" -// -// -a is not fully implemented yet -// -// "-a Transform all databases in the dbenv\n" - "-i Ignore incompatible type changes.\n" - "-p Purge objects whose types no longer exist.\n" - "-c Use catastrophic recovery on the old database environment.\n" - "-w Suppress duplicate warnings during transformation.\n" - "-f FILE Execute the transformation descriptors in the file FILE.\n" "--include-old DIR Put DIR in the include file search path for old Slice\n" " definitions.\n" "--include-new DIR Put DIR in the include file search path for new Slice\n" " definitions.\n" "--old SLICE Load old Slice definitions from the file SLICE.\n" "--new SLICE Load new Slice definitions from the file SLICE.\n" + ; + cerr << "\n"; + cerr << + "Type Options:\n" "-e Indicates the database is an Evictor database.\n" "--key TYPE[,TYPE] Specifies the Slice types of the database key. If the\n" " type names have not changed, only one needs to be\n" @@ -73,19 +74,43 @@ usage(const char* n) " specified. Otherwise, the type names are specified as\n" " old-type,new-type.\n" ; + cerr << "\n"; + cerr << + "Options:\n" + "-h, --help Show this message.\n" + "-v, --version Display the Ice version.\n" + "-i Ignore incompatible type changes.\n" + "-p Purge objects whose types no longer exist.\n" + "-c Use catastrophic recovery on the old database environment.\n" + "-w Suppress duplicate warnings during migration.\n" + "-f FILE Execute the transformation descriptors in the file FILE.\n" + ; // Note: --case-sensitive is intentionally not shown here! } static Slice::TypePtr -findType(const string& prog, const Slice::UnitPtr& u, const string& type) +findType(const Slice::UnitPtr& u, const string& type) { Slice::TypeList l; - l = u->lookupType(type, false); + string t; + if(type == "::Ice::Object") + { + t = "Object"; + } + else if(type == "::Ice::Object*") + { + t = "Object*"; + } + else + { + t = type; + } + + l = u->lookupType(t, false); if(l.empty()) { - cerr << prog << ": error: unknown type `" << type << "'" << endl; - return 0; + return 0; } return l.front(); @@ -195,7 +220,6 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) bool debug; bool ice = true; // Needs to be true in order to create default definitions. string outputFile; - bool allDb; bool ignoreTypeChanges; bool purgeObjects; bool catastrophicRecover; @@ -208,6 +232,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) string keyTypeNames; string valueTypeNames; string dbEnvName, dbName, dbEnvNameNew; + bool allDb = false; IceUtil::Options opts; opts.addOpt("h", "help"); @@ -215,9 +240,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) opts.addOpt("D", "", IceUtil::Options::NeedArg, "", IceUtil::Options::Repeat); opts.addOpt("U", "", IceUtil::Options::NeedArg, "", IceUtil::Options::Repeat); opts.addOpt("d", "debug"); - opts.addOpt("", "ice"); opts.addOpt("o", "", IceUtil::Options::NeedArg); - opts.addOpt("a"); opts.addOpt("i"); opts.addOpt("p"); opts.addOpt("c"); @@ -227,6 +250,7 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) opts.addOpt("", "include-new", IceUtil::Options::NeedArg, "", IceUtil::Options::Repeat); opts.addOpt("", "old", IceUtil::Options::NeedArg, "", IceUtil::Options::Repeat); opts.addOpt("", "new", IceUtil::Options::NeedArg, "", IceUtil::Options::Repeat); + opts.addOpt("a"); opts.addOpt("e"); opts.addOpt("", "key", IceUtil::Options::NeedArg); opts.addOpt("", "value", IceUtil::Options::NeedArg); @@ -274,13 +298,10 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) } debug = opts.isSet("debug"); - // No need to set --ice here, it is always true. - if(opts.isSet("o")) { outputFile = opts.optArg("o"); } - allDb = opts.isSet("a"); ignoreTypeChanges = opts.isSet("i"); purgeObjects = opts.isSet("p"); catastrophicRecover = opts.isSet("c"); @@ -332,15 +353,46 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) } caseSensitive = opts.isSet("case-sensitive"); - if(outputFile.empty() && (allDb && args.size() != 2 || !allDb && args.size() != 3)) + if(outputFile.empty()) { - usage(argv[0]); - return EXIT_FAILURE; + if(args.size() == 2) + { + allDb = true; + } + else if(args.size() != 3) + { + usage(argv[0]); + return EXIT_FAILURE; + } + } + else + { + if(args.size() == 1) + { + allDb = true; + } + else if(args.size() != 0) + { + usage(argv[0]); + return EXIT_FAILURE; + } } - if(!args.empty()) + if(allDb && (!keyTypeNames.empty() || !valueTypeNames.empty())) { - dbEnvName = args[0]; + usage(argv[0]); + return EXIT_FAILURE; + } + + if(inputFile.empty() && !allDb && !evictor && (keyTypeNames.empty() || valueTypeNames.empty())) + { + usage(argv[0]); + return EXIT_FAILURE; + } + + if(args.size() > 0) + { + dbEnvName = args[0]; } if(args.size() > 1) { @@ -379,6 +431,28 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) FreezeScript::createEvictorSliceTypes(newUnit); // + // Read the catalog if necessary. + // + FreezeScript::CatalogDataMap catalog; + if(allDb) + { + try + { + catalog = FreezeScript::readCatalog(communicator, dbEnvName); + } + catch(const FreezeScript::FailureException& ex) + { + cerr << argv[0] << ": " << ex.reason() << endl; + return EXIT_FAILURE; + } + if(catalog.empty()) + { + cerr << argv[0] << ": no databases in environment `" << dbEnvName << "'" << endl; + return EXIT_FAILURE; + } + } + + // // If no input file was provided, then we need to analyze the Slice types. // string descriptors; @@ -389,69 +463,166 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) vector<string> missingTypes; vector<string> analyzeErrors; - string oldKeyName, newKeyName, oldValueName, newValueName; + FreezeScript::TransformAnalyzer analyzer(oldUnit, newUnit, ignoreTypeChanges, out, missingTypes, analyzeErrors); - if(evictor) - { - oldKeyName = newKeyName = "::Ice::Identity"; - oldValueName = newValueName = "::Freeze::ObjectRecord"; - } - else - { - string::size_type pos; + const string evictorKeyName = "::Ice::Identity"; + const string evictorValueName = "::Freeze::ObjectRecord"; - if(keyTypeNames.empty() || valueTypeNames.empty()) - { - usage(argv[0]); - return EXIT_FAILURE; - } + if(allDb) + { + // + // Add a <database> element for each database in the catalog. + // + for(FreezeScript::CatalogDataMap::iterator p = catalog.begin(); p != catalog.end(); ++p) + { + string keyName, valueName; - pos = keyTypeNames.find(','); - if(pos == 0 || pos == keyTypeNames.size()) - { - usage(argv[0]); - return EXIT_FAILURE; - } - if(pos == string::npos) - { - oldKeyName = keyTypeNames; - newKeyName = keyTypeNames; - } - else - { - oldKeyName = keyTypeNames.substr(0, pos); - newKeyName = keyTypeNames.substr(pos + 1); - } + if(p->second.evictor) + { + keyName = evictorKeyName; + valueName = evictorValueName; + } + else + { + keyName = p->second.key; + valueName = p->second.value; + } - pos = valueTypeNames.find(','); - if(pos == 0 || pos == valueTypeNames.size()) - { - usage(argv[0]); - return EXIT_FAILURE; - } - if(pos == string::npos) - { - oldValueName = valueTypeNames; - newValueName = valueTypeNames; - } - else - { - oldValueName = valueTypeNames.substr(0, pos); - newValueName = valueTypeNames.substr(pos + 1); - } - } + // + // Look up the key and value types in the old and new Slice definitions. + // + Slice::TypePtr oldKeyType = findType(oldUnit, keyName); + if(!oldKeyType) + { + cerr << argv[0] << ": type `" << keyName << "' from database `" << p->first + << "' not found in old Slice definitions" << endl; + } + Slice::TypePtr newKeyType = findType(newUnit, keyName); + if(!newKeyType) + { + cerr << argv[0] << ": type `" << keyName << "' from database `" << p->first + << "' not found in new Slice definitions" << endl; + } + Slice::TypePtr oldValueType = findType(oldUnit, valueName); + if(!oldValueType) + { + cerr << argv[0] << ": type `" << valueName << "' from database `" << p->first + << "' not found in old Slice definitions" << endl; + } + Slice::TypePtr newValueType = findType(newUnit, valueName); + if(!newValueType) + { + cerr << argv[0] << ": type `" << valueName << "' from database `" << p->first + << "' not found in new Slice definitions" << endl; + } - Slice::TypePtr oldKeyType = findType(argv[0], oldUnit, oldKeyName); - Slice::TypePtr newKeyType = findType(argv[0], newUnit, newKeyName); - Slice::TypePtr oldValueType = findType(argv[0], oldUnit, oldValueName); - Slice::TypePtr newValueType = findType(argv[0], newUnit, newValueName); - if(!oldKeyType || !newKeyType || !oldValueType || !newValueType) - { - return EXIT_FAILURE; - } + // + // If we are generating an output file, we do not consider a missing type to be + // an error. Since the type information comes from the catalog of the old + // environment, it's possible that the key or value types are not present in + // the new Slice definitions. Rather than abort at this point, we simply emit + // a partially-defined <database> element that must be edited by the user. + // + // If we are not generating an output file, we have to stop now. + // + if(outputFile.empty() && (!oldKeyType || !newKeyType || !oldValueType || !newValueType)) + { + return EXIT_FAILURE; + } + + analyzer.addDatabase(p->first, oldKeyType, newKeyType, oldValueType, newValueType); + } + } + else + { + string oldKeyName, newKeyName, oldValueName, newValueName; + + if(evictor) + { + oldKeyName = newKeyName = evictorKeyName; + oldValueName = newValueName = evictorValueName; + } + else + { + string::size_type pos; + + if(keyTypeNames.empty() || valueTypeNames.empty()) + { + usage(argv[0]); + return EXIT_FAILURE; + } + + pos = keyTypeNames.find(','); + if(pos == 0 || pos == keyTypeNames.size()) + { + usage(argv[0]); + return EXIT_FAILURE; + } + if(pos == string::npos) + { + oldKeyName = keyTypeNames; + newKeyName = keyTypeNames; + } + else + { + oldKeyName = keyTypeNames.substr(0, pos); + newKeyName = keyTypeNames.substr(pos + 1); + } - FreezeScript::TransformAnalyzer analyzer(oldUnit, newUnit, ignoreTypeChanges); - analyzer.analyze(oldKeyType, newKeyType, oldValueType, newValueType, out, missingTypes, analyzeErrors); + pos = valueTypeNames.find(','); + if(pos == 0 || pos == valueTypeNames.size()) + { + usage(argv[0]); + return EXIT_FAILURE; + } + if(pos == string::npos) + { + oldValueName = valueTypeNames; + newValueName = valueTypeNames; + } + else + { + oldValueName = valueTypeNames.substr(0, pos); + newValueName = valueTypeNames.substr(pos + 1); + } + } + + // + // Look up the key and value types in the old and new Slice definitions. + // + Slice::TypePtr oldKeyType = findType(oldUnit, oldKeyName); + if(!oldKeyType) + { + cerr << argv[0] << ": type `" << oldKeyName << "' not found in old Slice definitions" << endl; + } + Slice::TypePtr newKeyType = findType(newUnit, newKeyName); + if(!newKeyType) + { + cerr << argv[0] << ": type `" << newKeyName << "' not found in new Slice definitions" << endl; + } + Slice::TypePtr oldValueType = findType(oldUnit, oldValueName); + if(!oldValueType) + { + cerr << argv[0] << ": type `" << oldValueName << "' not found in old Slice definitions" << endl; + } + Slice::TypePtr newValueType = findType(newUnit, newValueName); + if(!newValueType) + { + cerr << argv[0] << ": type `" << newValueName << "' not found in new Slice definitions" << endl; + } + + // + // Stop now if any of the types could not be found. + // + if(!oldKeyType || !newKeyType || !oldValueType || !newValueType) + { + return EXIT_FAILURE; + } + + analyzer.addDatabase("", oldKeyType, newKeyType, oldValueType, newValueType); + } + + analyzer.finish(); if(!analyzeErrors.empty()) { @@ -573,71 +744,25 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) } // - // TODO: handle properly DbHome config (curremtly it will break if it's set for the new env) + // TODO: handle properly DbHome config (currently it will break if it's set for the new env) // // - // Open the catalog of the new environment, and start a transaction + // Open the catalog of the new environment, and start a transaction. // Freeze::ConnectionPtr connectionNew = Freeze::createConnection(communicator, dbEnvNameNew, dbEnvNew); txNew = connectionNew->beginTransaction(); DbTxn* txnNew = Freeze::getTxn(txNew); - if(allDb) { // - // Transform all the databases listed in the old catalog + // Transform all databases in the old catalog. // - // - // Create each time a new descriptor with the appropriate default database element - // - - Freeze::ConnectionPtr connection = Freeze::createConnection(communicator, dbEnvName, dbEnv); - Freeze::Catalog catalog(connection, Freeze::catalogName()); - for(Freeze::Catalog::const_iterator p = catalog.begin(); p != catalog.end(); ++p) + for(FreezeScript::CatalogDataMap::iterator p = catalog.begin(); p != catalog.end(); ++p) { - string dbElement; - if(p->second.evictor) - { - dbElement = "<database key=\"::Ice::Identity\" value=\"::Freeze::ObjectRecord\"> <record/> </database>"; - } - else - { - // - // Temporary: FreezeScript should accept type-ids - // - string value = p->second.value; - if(value == "::Ice::Object") - { - value = "Object"; - } - else if(value == "::Ice::Object*") - { - value = "Object*"; - } - - dbElement = "<database key=\"" + p->second.key + "\" value=\"" + value + "\"> <record/> </database>"; - } - - string localDescriptor = descriptors; - string transformdbTag = "<transformdb>"; - size_t pos = localDescriptor.find(transformdbTag); - if(pos == string::npos) - { - cerr << argv[0] << ": Invalid descriptor " << endl; - status = EXIT_FAILURE; - break; - } - localDescriptor.replace(pos, transformdbTag.size(), transformdbTag + dbElement); - - if(debug) - { - cout << "Processing database " << p->first << " with descriptor: " << localDescriptor << endl; - } - transformDb(p->second.evictor, communicator, objectFactory, dbEnv, dbEnvNew, p->first, connectionNew, - dbs, oldUnit, newUnit, txnNew, purgeObjects, suppress, localDescriptor); + dbs, oldUnit, newUnit, txnNew, purgeObjects, suppress, descriptors); } } else |