OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_OBJECT_H_ | 5 #ifndef VM_OBJECT_H_ |
6 #define VM_OBJECT_H_ | 6 #define VM_OBJECT_H_ |
7 | 7 |
8 #include <limits> | 8 #include <limits> |
9 #include "include/dart_api.h" | 9 #include "include/dart_api.h" |
10 #include "platform/assert.h" | 10 #include "platform/assert.h" |
(...skipping 2501 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2512 intptr_t* line, intptr_t* column) const; | 2512 intptr_t* line, intptr_t* column) const; |
2513 | 2513 |
2514 // Returns index of first and last token on the given line. Returns both | 2514 // Returns index of first and last token on the given line. Returns both |
2515 // indices < 0 if no token exists on or after the line. If a token exists | 2515 // indices < 0 if no token exists on or after the line. If a token exists |
2516 // after, but not on given line, returns in *first_token_index the index of | 2516 // after, but not on given line, returns in *first_token_index the index of |
2517 // the first token after the line, and a negative value in *last_token_index. | 2517 // the first token after the line, and a negative value in *last_token_index. |
2518 void TokenRangeAtLine(intptr_t line_number, | 2518 void TokenRangeAtLine(intptr_t line_number, |
2519 intptr_t* first_token_index, | 2519 intptr_t* first_token_index, |
2520 intptr_t* last_token_index) const; | 2520 intptr_t* last_token_index) const; |
2521 | 2521 |
| 2522 RawLibrary* FindLibrary() const; |
| 2523 |
2522 static intptr_t InstanceSize() { | 2524 static intptr_t InstanceSize() { |
2523 return RoundedAllocationSize(sizeof(RawScript)); | 2525 return RoundedAllocationSize(sizeof(RawScript)); |
2524 } | 2526 } |
2525 | 2527 |
2526 static RawScript* New(const String& url, | 2528 static RawScript* New(const String& url, |
2527 const String& source, | 2529 const String& source, |
2528 RawScript::Kind kind); | 2530 RawScript::Kind kind); |
2529 | 2531 |
| 2532 static RawScript* FindByUrl(const String& url); |
| 2533 |
2530 private: | 2534 private: |
2531 void set_url(const String& value) const; | 2535 void set_url(const String& value) const; |
2532 void set_source(const String& value) const; | 2536 void set_source(const String& value) const; |
2533 void set_kind(RawScript::Kind value) const; | 2537 void set_kind(RawScript::Kind value) const; |
2534 void set_tokens(const TokenStream& value) const; | 2538 void set_tokens(const TokenStream& value) const; |
2535 | 2539 |
2536 static RawScript* New(); | 2540 static RawScript* New(); |
2537 | 2541 |
2538 FINAL_HEAP_OBJECT_IMPLEMENTATION(Script, Object); | 2542 FINAL_HEAP_OBJECT_IMPLEMENTATION(Script, Object); |
2539 friend class Class; | 2543 friend class Class; |
(...skipping 4596 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7136 | 7140 |
7137 | 7141 |
7138 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 7142 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
7139 intptr_t index) { | 7143 intptr_t index) { |
7140 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 7144 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
7141 } | 7145 } |
7142 | 7146 |
7143 } // namespace dart | 7147 } // namespace dart |
7144 | 7148 |
7145 #endif // VM_OBJECT_H_ | 7149 #endif // VM_OBJECT_H_ |
OLD | NEW |