~ubuntu-branches/ubuntu/quantal/kdevplatform/quantal-proposed

« back to all changes in this revision

Viewing changes to language/duchain/instantiationinformation.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Alessandro Ghersi
  • Date: 2010-10-24 00:06:18 UTC
  • mfrom: (0.3.8 upstream)
  • Revision ID: james.westby@ubuntu.com-20101024000618-7otebin77mfcmt3b
Tags: 1.1.0-0ubuntu1
* New upstream release
  - Bump build-dependencies
  - Build against libboost-serialization1.42-dev
  - Update kdevplatform1-libs.install
  - Update kdevplatform-dev.install

Show diffs side-by-side

added added

removed removed

Lines of Context:
117
117
  return typeRepositoryManager();
118
118
}
119
119
 
120
 
KDevelop::RepositoryManager<KDevelop::ItemRepository<InstantiationInformation, AppendedListItemRequest<InstantiationInformation> > > instantiationInformationRepository("Instantiation Information Repository", 1, &returnTypeRepository);
 
120
static KDevelop::RepositoryManager<KDevelop::ItemRepository<InstantiationInformation, AppendedListItemRequest<InstantiationInformation> > >& instantiationInformationRepository() {
 
121
    static KDevelop::RepositoryManager<KDevelop::ItemRepository<InstantiationInformation, AppendedListItemRequest<InstantiationInformation> > > instantiationInformationRepositoryObject("Instantiation Information Repository", 1, &returnTypeRepository);
 
122
    return instantiationInformationRepositoryObject;
 
123
}
121
124
 
122
125
uint standardInstantiationInformationIndex() {
123
 
  static uint idx = instantiationInformationRepository->index( InstantiationInformation() );
 
126
  static uint idx = instantiationInformationRepository()->index( InstantiationInformation() );
124
127
  return idx;
125
128
}
126
129
 
133
136
  
134
137
  if(m_index && shouldDoDUChainReferenceCounting(this))
135
138
  {
136
 
    QMutexLocker lock(instantiationInformationRepository->mutex());
137
 
    increase(instantiationInformationRepository->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
 
139
    QMutexLocker lock(instantiationInformationRepository()->mutex());
 
140
    increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
138
141
  }
139
142
}
140
143
 
141
144
IndexedInstantiationInformation::IndexedInstantiationInformation(const IndexedInstantiationInformation& rhs) : m_index(rhs.m_index) {
142
145
  if(m_index && shouldDoDUChainReferenceCounting(this))
143
146
  {
144
 
    QMutexLocker lock(instantiationInformationRepository->mutex());
145
 
    increase(instantiationInformationRepository->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
 
147
    QMutexLocker lock(instantiationInformationRepository()->mutex());
 
148
    increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
146
149
  }
147
150
}
148
151
 
150
153
 
151
154
  if(m_index && shouldDoDUChainReferenceCounting(this))
152
155
  {
153
 
    QMutexLocker lock(instantiationInformationRepository->mutex());
154
 
    decrease(instantiationInformationRepository->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
 
156
    QMutexLocker lock(instantiationInformationRepository()->mutex());
 
157
    decrease(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
155
158
  }
156
159
  
157
160
  m_index = rhs.m_index;
158
161
  
159
162
  if(m_index && shouldDoDUChainReferenceCounting(this))
160
163
  {
161
 
    QMutexLocker lock(instantiationInformationRepository->mutex());
162
 
    increase(instantiationInformationRepository->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
 
164
    QMutexLocker lock(instantiationInformationRepository()->mutex());
 
165
    increase(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
163
166
  }
164
167
  return *this;
165
168
}
167
170
IndexedInstantiationInformation::~IndexedInstantiationInformation() {
168
171
  if(m_index && shouldDoDUChainReferenceCounting(this))
169
172
  {
170
 
    QMutexLocker lock(instantiationInformationRepository->mutex());
171
 
    decrease(instantiationInformationRepository->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
 
173
    QMutexLocker lock(instantiationInformationRepository()->mutex());
 
174
    decrease(instantiationInformationRepository()->dynamicItemFromIndexSimple(m_index)->m_refCount, m_index);
172
175
  }
173
176
}
174
177
 
177
180
}
178
181
 
179
182
const InstantiationInformation& IndexedInstantiationInformation::information() const {
180
 
  return *instantiationInformationRepository->itemFromIndex(m_index ? m_index : standardInstantiationInformationIndex());
 
183
  return *instantiationInformationRepository()->itemFromIndex(m_index ? m_index : standardInstantiationInformationIndex());
181
184
}
182
185
 
183
186
IndexedInstantiationInformation InstantiationInformation::indexed() const {
184
 
  return IndexedInstantiationInformation(instantiationInformationRepository->index(*this));
 
187
  return IndexedInstantiationInformation(instantiationInformationRepository()->index(*this));
185
188
}
186
189
}