services:
    foo: { class: FooClass }
    baz: { class: BazClass }
    not_shared: { class: FooClass, shared: false }
    file: { class: FooClass, file: %path%/foo.php }
    arguments: { class: FooClass, arguments: [foo, '@foo', [true, false]] }
    configurator1: { class: FooClass, configurator: sc_configure }
    configurator2: { class: FooClass, configurator: ['@baz', configure] }
    configurator3: { class: FooClass, configurator: [BazClass, configureStatic] }
    method_call1:
        class: FooClass
        calls:
            - [ setBar, [] ]
            - [ setBar ]
            - [ setBar, ['@=service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")'] ]
    method_call2:
        class: FooClass
        calls:
            - [ setBar, [ foo, '@foo', [true, false] ] ]
    alias_for_foo: '@foo'
    another_alias_for_foo:
        alias: foo
        public: false
    decorator_service:
        decorates: decorated
    decorator_service_with_name:
        decorates: decorated
        decoration_inner_name: decorated.pif-pouf
    decorator_service_with_name_and_priority:
        decorates: decorated
        decoration_inner_name: decorated.pif-pouf
        decoration_priority: 5
    new_factory1: { class: FooBarClass, factory: factory}
    new_factory2: { class: FooBarClass, factory: ['@baz', getClass]}
    new_factory3: { class: FooBarClass, factory: [BazClass, getInstance]}
