11cb0ef41Sopenharmony_ci// Copyright 2017 the V8 project authors. All rights reserved.
21cb0ef41Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be
31cb0ef41Sopenharmony_ci// found in the LICENSE file.
41cb0ef41Sopenharmony_ci
51cb0ef41Sopenharmony_ci#include "src/interpreter/bytecode-source-info.h"
61cb0ef41Sopenharmony_ci
71cb0ef41Sopenharmony_ci#include <iomanip>
81cb0ef41Sopenharmony_ci#include "src/codegen/source-position-table.h"
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_cinamespace v8 {
111cb0ef41Sopenharmony_cinamespace internal {
121cb0ef41Sopenharmony_cinamespace interpreter {
131cb0ef41Sopenharmony_ci
141cb0ef41Sopenharmony_cistd::ostream& operator<<(std::ostream& os, const BytecodeSourceInfo& info) {
151cb0ef41Sopenharmony_ci  if (info.is_valid()) {
161cb0ef41Sopenharmony_ci    char description = info.is_statement() ? 'S' : 'E';
171cb0ef41Sopenharmony_ci    os << info.source_position() << ' ' << description << '>';
181cb0ef41Sopenharmony_ci  }
191cb0ef41Sopenharmony_ci  return os;
201cb0ef41Sopenharmony_ci}
211cb0ef41Sopenharmony_ci
221cb0ef41Sopenharmony_ci}  // namespace interpreter
231cb0ef41Sopenharmony_ci}  // namespace internal
241cb0ef41Sopenharmony_ci}  // namespace v8
25