0001    //
0002    //  ObserverBase.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 2/15/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    class ObserverBase
AnonymousObserver.swift:11
class AnonymousObserver<ElementType> : ObserverBase<ElementType> {
ObserveOn.swift:44
class ObserveOnSink<O: ObserverType> : ObserverBase<O.E> {
ObserveOnSerialDispatchQueue.swift:20
class ObserveOnSerialDispatchQueueSink<O: ObserverType> : ObserverBase<O.E> {
<ElementType
ObserverBase.swift:12
    typealias E = ElementType
> : Disposable, ObserverType { 0012 typealias E
ObserveOnSerialDispatchQueue.swift:26
    var cachedScheduleLambda: ((ObserveOnSerialDispatchQueueSink<O>, Event<E>) -> Disposable)!
ObserveOnSerialDispatchQueue.swift:44
    override func onCore(event: Event<E>) {
ObserverBase.swift:16
    func on(event: Event<E>) {
ObserverBase.swift:32
    func onCore(event: Event<E>) {
= ElementType 0013 0014 private var _isStopped
ObserverBase.swift:19
            if _isStopped == 0 {
ObserverBase.swift:24
            if !AtomicCompareAndSwap(0, 1, &_isStopped) {
ObserverBase.swift:37
        _isStopped = 1
: AtomicInt = 0 0015 0016 func on(event: Event<E>) { 0017 switch event { 0018 case .Next: 0019 if _isStopped == 0 { 0020 onCore(event) 0021 } 0022 case .Error, .Completed: 0023 0024 if !AtomicCompareAndSwap(0, 1, &_isStopped) { 0025 return 0026 } 0027 0028 onCore(event) 0029 } 0030 } 0031 0032 func onCore
ObserverBase.swift:20
                onCore(event)
ObserverBase.swift:28
            onCore(event)
(event: Event<E>) { 0033 abstractMethod() 0034 } 0035 0036 func dispose
ObserveOn.swift:123
        super.dispose()
ObserveOnSerialDispatchQueue.swift:49
        super.dispose()
() { 0037 _isStopped = 1 0038 } 0039 } 0040