// Copyright 2015 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// The common functionality when building with internal or external natives.

#include "src/heap/heap.h"
#include "src/objects-inl.h"
#include "src/snapshot/natives.h"

namespace v8 {
namespace internal {

NativesExternalStringResource::NativesExternalStringResource(NativeType type,
                                                             int index)
    : type_(type), index_(index) {
  Vector<const char> source;
  DCHECK_LE(0, index);
  CHECK_EQ(EXTRAS, type_);
  DCHECK(index < ExtraNatives::GetBuiltinsCount());
  source = ExtraNatives::GetScriptSource(index);
  data_ = source.start();
  length_ = source.length();
}

}  // namespace internal
}  // namespace v8