File tree Expand file tree Collapse file tree 1 file changed +29
-1
lines changed
Expand file tree Collapse file tree 1 file changed +29
-1
lines changed Original file line number Diff line number Diff line change @@ -388,7 +388,35 @@ public static IDictionary<string, string> Properties
388388 public static IBytecodeProvider BytecodeProvider
389389 {
390390 get { return BytecodeProviderInstance ; }
391- set { BytecodeProviderInstance = value ; }
391+ set
392+ {
393+ BytecodeProviderInstance = value ;
394+
395+ // 6.0 TODO: remove following code.
396+ #pragma warning disable 618
397+ var objectsFactory = BytecodeProviderInstance . ObjectsFactory ;
398+ if ( objectsFactory != null && ! ( objectsFactory is ActivatorObjectsFactory ) )
399+ ServiceProvider = new ObjectsFactoryWrapper ( objectsFactory ) ;
400+ #pragma warning restore 618
401+ }
402+ }
403+
404+ // Since its creation
405+ [ Obsolete ( "Transition class" ) ]
406+ private class ObjectsFactoryWrapper : IServiceProvider
407+ {
408+ private readonly IObjectsFactory _objectsFactory ;
409+ public ObjectsFactoryWrapper ( IObjectsFactory objectsFactory )
410+ {
411+ _objectsFactory = objectsFactory ;
412+ }
413+
414+ public object GetService ( System . Type serviceType )
415+ {
416+ if ( serviceType . IsAbstract || serviceType . IsInterface )
417+ return null ;
418+ return _objectsFactory . CreateInstance ( serviceType ) ;
419+ }
392420 }
393421
394422 /// <summary>
You can’t perform that action at this time.
0 commit comments