0001    //
0002    //  AddRef.swift
0003    //  Rx
0004    //
0005    //  Created by Junior B. on 30/10/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    class AddRefSink
AddRef.swift:42
        let sink = AddRefSink(observer: observer)
<O
AddRef.swift:11
class AddRefSink<O: ObserverType> : Sink<O>, ObserverType {
AddRef.swift:12
    typealias Element = O.E
AddRef.swift:14
    override init(observer: O) {
: ObserverType> : Sink<O>, ObserverType { 0012 typealias Element
AddRef.swift:18
    func on(event: Event<Element>) {
= O.E 0013 0014 override init
AddRef.swift:42
        let sink = AddRefSink(observer: observer)
(observer: O) { 0015 super.init(observer: observer) 0016 } 0017 0018 func on(event: Event<Element>) { 0019 switch event { 0020 case .Next(_): 0021 forwardOn(event) 0022 case .Completed, .Error(_): 0023 forwardOn(event) 0024 dispose() 0025 } 0026 } 0027 } 0028 0029 class AddRef
Window.swift:42
        forwardOn(.Next(AddRef(source: _subject, refCount: _refCountDisposable).asObservable()))
Window.swift:53
        forwardOn(.Next(AddRef(source: _subject, refCount: _refCountDisposable).asObservable()))
<Element
AddRef.swift:29
class AddRef<Element> : Producer<Element> {
AddRef.swift:30
    typealias EventHandler = Event<Element> throws -> Void
AddRef.swift:32
    private let _source: Observable<Element>
AddRef.swift:35
    init(source: Observable<Element>, refCount: RefCountDisposable) {
AddRef.swift:40
    override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {
> : Producer<Element> { 0030 typealias EventHandler = Event<Element> throws -> Void 0031 0032 private let _source
AddRef.swift:36
        _source = source
AddRef.swift:43
        sink.disposable = StableCompositeDisposable.create(releaseDisposable, _source.subscribeSafe(sink))
: Observable<Element> 0033 private let _refCount
AddRef.swift:37
        _refCount = refCount
AddRef.swift:41
        let releaseDisposable = _refCount.retain()
: RefCountDisposable 0034 0035 init
Window.swift:42
        forwardOn(.Next(AddRef(source: _subject, refCount: _refCountDisposable).asObservable()))
Window.swift:53
        forwardOn(.Next(AddRef(source: _subject, refCount: _refCountDisposable).asObservable()))
(source: Observable<Element>, refCount: RefCountDisposable) { 0036 _source = source 0037 _refCount = refCount 0038 } 0039 0040 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0041 let releaseDisposable = _refCount.retain() 0042 let sink = AddRefSink(observer: observer) 0043 sink.disposable = StableCompositeDisposable.create(releaseDisposable, _source.subscribeSafe(sink)) 0044 0045 return sink 0046 } 0047 }