Home | History | Annotate | Download | only in parsing
      1 // Copyright 2011 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef V8_PARSING_SCANNER_CHARACTER_STREAMS_H_
      6 #define V8_PARSING_SCANNER_CHARACTER_STREAMS_H_
      7 
      8 #include "include/v8.h"  // for v8::ScriptCompiler
      9 
     10 namespace v8 {
     11 namespace internal {
     12 
     13 template <typename T>
     14 class Handle;
     15 class Utf16CharacterStream;
     16 class RuntimeCallStats;
     17 class String;
     18 
     19 class ScannerStream {
     20  public:
     21   static Utf16CharacterStream* For(Handle<String> data);
     22   static Utf16CharacterStream* For(Handle<String> data, int start_pos,
     23                                    int end_pos);
     24   static Utf16CharacterStream* For(
     25       ScriptCompiler::ExternalSourceStream* source_stream,
     26       ScriptCompiler::StreamedSource::Encoding encoding,
     27       RuntimeCallStats* stats);
     28 
     29   // For testing:
     30   static std::unique_ptr<Utf16CharacterStream> ForTesting(const char* data);
     31   static std::unique_ptr<Utf16CharacterStream> ForTesting(const char* data,
     32                                                           size_t length);
     33 };
     34 
     35 }  // namespace internal
     36 }  // namespace v8
     37 
     38 #endif  // V8_PARSING_SCANNER_CHARACTER_STREAMS_H_
     39