1d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao/*
2d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Copyright 2012, The Android Open Source Project
3d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao *
4d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Licensed under the Apache License, Version 2.0 (the "License");
5d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * you may not use this file except in compliance with the License.
6d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * You may obtain a copy of the License at
7d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao *
8d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao *     http://www.apache.org/licenses/LICENSE-2.0
9d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao *
10d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Unless required by applicable law or agreed to in writing, software
11d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * distributed under the License is distributed on an "AS IS" BASIS,
12d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * See the License for the specific language governing permissions and
14d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * limitations under the License.
15d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao */
16d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
17d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include "BCCContextImpl.h"
18d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
19d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include <vector>
20d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
21d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include <llvm/ADT/STLExtras.h>
22d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
23c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/Source.h"
24d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
25d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liaousing namespace bcc;
26d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao
27d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei LiaoBCCContextImpl::~BCCContextImpl() {
28d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao  // Another temporary container is needed to store the Source objects that we
29d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao  // are going to destroy. Since the destruction of Source object will call
30d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao  // removeSource() and change the content of OwnSources.
31d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao  std::vector<Source *> Sources(mOwnSources.begin(), mOwnSources.end());
32d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao  llvm::DeleteContainerPointers(Sources);
33d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao}
34