Index: runtime/vm/object.h |
diff --git a/runtime/vm/object.h b/runtime/vm/object.h |
index 5ce318c2e35787a2c3880c91c937827d44c7a0b4..30f6ca037d8f925b8cfe0e40a3d38fb4df1d3641 100644 |
--- a/runtime/vm/object.h |
+++ b/runtime/vm/object.h |
@@ -23,6 +23,7 @@ |
#include "vm/scanner.h" |
#include "vm/tags.h" |
#include "vm/thread.h" |
+#include "vm/token_position.h" |
#include "vm/verified_memory.h" |
namespace dart { |
@@ -938,10 +939,10 @@ class Class : public Object { |
RawScript* script() const { return raw_ptr()->script_; } |
void set_script(const Script& value) const; |
- intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
- void set_token_pos(intptr_t value) const; |
+ TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
+ void set_token_pos(TokenPosition value) const; |
- intptr_t ComputeEndTokenPos() const; |
+ TokenPosition ComputeEndTokenPos() const; |
// This class represents a typedef if the signature function is not null. |
RawFunction* signature_function() const { |
@@ -1306,7 +1307,7 @@ class Class : public Object { |
// Allocate instance classes. |
static RawClass* New(const String& name, |
const Script& script, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
static RawClass* NewNativeWrapper(const Library& library, |
const String& name, |
int num_fields); |
@@ -1469,7 +1470,7 @@ class UnresolvedClass : public Object { |
return raw_ptr()->library_prefix_; |
} |
RawString* ident() const { return raw_ptr()->ident_; } |
- intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
+ TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
RawString* Name() const; |
@@ -1479,12 +1480,12 @@ class UnresolvedClass : public Object { |
static RawUnresolvedClass* New(const LibraryPrefix& library_prefix, |
const String& ident, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
private: |
void set_library_prefix(const LibraryPrefix& library_prefix) const; |
void set_ident(const String& ident) const; |
- void set_token_pos(intptr_t token_pos) const; |
+ void set_token_pos(TokenPosition token_pos) const; |
static RawUnresolvedClass* New(); |
@@ -1997,10 +1998,10 @@ class ICData : public Object { |
RangeFeedback DecodeRangeFeedbackAt(intptr_t idx) const; |
void PrintToJSONArray(const JSONArray& jsarray, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
bool is_static_call) const; |
void PrintToJSONArrayNew(const JSONArray& jsarray, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
bool is_static_call) const; |
// Initialize the preallocated empty ICData entry arrays. |
@@ -2312,11 +2313,11 @@ class Function : public Object { |
} |
bool IsInFactoryScope() const; |
- intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
- void set_token_pos(intptr_t value) const; |
+ TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
+ void set_token_pos(TokenPosition value) const; |
- intptr_t end_token_pos() const { return raw_ptr()->end_token_pos_; } |
- void set_end_token_pos(intptr_t value) const { |
+ TokenPosition end_token_pos() const { return raw_ptr()->end_token_pos_; } |
+ void set_end_token_pos(TokenPosition value) const { |
StoreNonPointer(&raw_ptr()->end_token_pos_, value); |
} |
@@ -2604,17 +2605,17 @@ class Function : public Object { |
bool is_external, |
bool is_native, |
const Object& owner, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
// Allocates a new Function object representing a closure function. |
static RawFunction* NewClosureFunction(const String& name, |
const Function& parent, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
// Allocates a new Function object representing a signature function. |
// The owner is the scope class of the function type. |
static RawFunction* NewSignatureFunction(const Class& owner, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
static RawFunction* NewEvalFunction(const Class& owner, |
const Script& script, |
@@ -2907,13 +2908,13 @@ class Field : public Object { |
bool is_reflectable, |
const Class& owner, |
const AbstractType& type, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
static RawField* NewTopLevel(const String& name, |
bool is_final, |
bool is_const, |
const Object& owner, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
// Allocate new field object, clone values from this field. The |
// owner of the clone is new_owner. |
@@ -2928,7 +2929,7 @@ class Field : public Object { |
static intptr_t kind_bits_offset() { return OFFSET_OF(RawField, kind_bits_); } |
- intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
+ TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
bool has_initializer() const { |
return HasInitializerBit::decode(raw_ptr()->kind_bits_); |
@@ -3106,7 +3107,7 @@ class Field : public Object { |
void set_owner(const Object& value) const { |
StorePointer(&raw_ptr()->owner_, value.raw()); |
} |
- void set_token_pos(intptr_t token_pos) const { |
+ void set_token_pos(TokenPosition token_pos) const { |
StoreNonPointer(&raw_ptr()->token_pos_, token_pos); |
} |
void set_kind_bits(intptr_t value) const { |
@@ -3156,8 +3157,9 @@ class TokenStream : public Object { |
void SetStream(const ExternalTypedData& stream) const; |
RawString* GenerateSource() const; |
- RawString* GenerateSource(intptr_t start, intptr_t end) const; |
- intptr_t ComputeSourcePosition(intptr_t tok_pos) const; |
+ RawString* GenerateSource(TokenPosition start, |
+ TokenPosition end) const; |
+ TokenPosition ComputeSourcePosition(TokenPosition tok_pos) const; |
RawString* PrivateKey() const; |
@@ -3186,10 +3188,10 @@ class TokenStream : public Object { |
}; |
Iterator(const TokenStream& tokens, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
Iterator::StreamType stream_type = kNoNewlines); |
- void SetStream(const TokenStream& tokens, intptr_t token_pos); |
+ void SetStream(const TokenStream& tokens, TokenPosition token_pos); |
bool IsValid() const; |
inline Token::Kind CurrentTokenKind() const { |
@@ -3198,8 +3200,8 @@ class TokenStream : public Object { |
Token::Kind LookaheadTokenKind(intptr_t num_tokens); |
- intptr_t CurrentPosition() const; |
- void SetCurrentPosition(intptr_t value); |
+ TokenPosition CurrentPosition() const; |
+ void SetCurrentPosition(TokenPosition token_pos); |
void Advance(); |
@@ -3269,7 +3271,7 @@ class Script : public Object { |
void SetLocationOffset(intptr_t line_offset, intptr_t col_offset) const; |
- void GetTokenLocation(intptr_t token_pos, |
+ void GetTokenLocation(TokenPosition token_pos, |
intptr_t* line, |
intptr_t* column, |
intptr_t* token_len = NULL) const; |
@@ -3279,8 +3281,8 @@ class Script : public Object { |
// after, but not on given line, returns in *first_token_index the index of |
// the first token after the line, and a negative value in *last_token_index. |
void TokenRangeAtLine(intptr_t line_number, |
- intptr_t* first_token_index, |
- intptr_t* last_token_index) const; |
+ TokenPosition* first_token_index, |
+ TokenPosition* last_token_index) const; |
static intptr_t InstanceSize() { |
return RoundedAllocationSize(sizeof(RawScript)); |
@@ -3448,12 +3450,14 @@ class Library : public Object { |
void AddClassMetadata(const Class& cls, |
const Object& tl_owner, |
- intptr_t token_pos) const; |
- void AddFieldMetadata(const Field& field, intptr_t token_pos) const; |
- void AddFunctionMetadata(const Function& func, intptr_t token_pos) const; |
- void AddLibraryMetadata(const Object& tl_owner, intptr_t token_pos) const; |
+ TokenPosition token_pos) const; |
+ void AddFieldMetadata(const Field& field, TokenPosition token_pos) const; |
+ void AddFunctionMetadata(const Function& func, |
+ TokenPosition token_pos) const; |
+ void AddLibraryMetadata(const Object& tl_owner, |
+ TokenPosition token_pos) const; |
void AddTypeParameterMetadata(const TypeParameter& param, |
- intptr_t token_pos) const; |
+ TokenPosition token_pos) const; |
RawObject* GetMetadata(const Object& obj) const; |
RawClass* toplevel_class() const { |
@@ -3610,7 +3614,7 @@ class Library : public Object { |
RawField* GetMetadataField(const String& metaname) const; |
void AddMetadata(const Object& owner, |
const String& name, |
- intptr_t token_pos) const; |
+ TokenPosition token_pos) const; |
FINAL_HEAP_OBJECT_IMPLEMENTATION(Library, Object); |
@@ -3631,7 +3635,7 @@ class Namespace : public Object { |
RawArray* show_names() const { return raw_ptr()->show_names_; } |
RawArray* hide_names() const { return raw_ptr()->hide_names_; } |
- void AddMetadata(const Object& owner, intptr_t token_pos); |
+ void AddMetadata(const Object& owner, TokenPosition token_pos); |
RawObject* GetMetadata() const; |
static intptr_t InstanceSize() { |
@@ -3928,7 +3932,7 @@ class PcDescriptors : public Object { |
uword PcOffset() const { return cur_pc_offset_; } |
intptr_t DeoptId() const { return cur_deopt_id_; } |
- intptr_t TokenPos() const { return cur_token_pos_; } |
+ TokenPosition TokenPos() const { return TokenPosition(cur_token_pos_); } |
intptr_t TryIndex() const { return cur_try_index_; } |
RawPcDescriptors::Kind Kind() const { |
return static_cast<RawPcDescriptors::Kind>(cur_kind_); |
@@ -4021,7 +4025,7 @@ class CodeSourceMap : public Object { |
} |
uword PcOffset() const { return cur_pc_offset_; } |
- intptr_t TokenPos() const { return cur_token_pos_; } |
+ TokenPosition TokenPos() const { return TokenPosition(cur_token_pos_); } |
private: |
friend class CodeSourceMap; |
@@ -4455,7 +4459,7 @@ class Code : public Object { |
NoSafepointScope no_safepoint; |
return *PointerOffsetAddrAt(index); |
} |
- intptr_t GetTokenIndexOfPC(uword pc) const; |
+ TokenPosition GetTokenIndexOfPC(uword pc) const; |
enum { |
kInvalidPc = -1 |
@@ -4660,8 +4664,8 @@ class ContextScope : public Object { |
public: |
intptr_t num_variables() const { return raw_ptr()->num_variables_; } |
- intptr_t TokenIndexAt(intptr_t scope_index) const; |
- void SetTokenIndexAt(intptr_t scope_index, intptr_t token_pos) const; |
+ TokenPosition TokenIndexAt(intptr_t scope_index) const; |
+ void SetTokenIndexAt(intptr_t scope_index, TokenPosition token_pos) const; |
RawString* NameAt(intptr_t scope_index) const; |
void SetNameAt(intptr_t scope_index, const String& name) const; |
@@ -4885,7 +4889,7 @@ class LanguageError : public Error { |
// A null script means no source and a negative token_pos means no position. |
static RawLanguageError* NewFormatted(const Error& prev_error, |
const Script& script, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
bool report_after_token, |
Report::Kind kind, |
Heap::Space space, |
@@ -4894,7 +4898,7 @@ class LanguageError : public Error { |
static RawLanguageError* NewFormattedV(const Error& prev_error, |
const Script& script, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
bool report_after_token, |
Report::Kind kind, |
Heap::Space space, |
@@ -4915,8 +4919,8 @@ class LanguageError : public Error { |
RawScript* script() const { return raw_ptr()->script_; } |
void set_script(const Script& value) const; |
- intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
- void set_token_pos(intptr_t value) const; |
+ TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
+ void set_token_pos(TokenPosition value) const; |
bool report_after_token() const { return raw_ptr()->report_after_token_; } |
void set_report_after_token(bool value); |
@@ -5199,7 +5203,7 @@ class AbstractType : public Instance { |
virtual RawUnresolvedClass* unresolved_class() const; |
virtual RawTypeArguments* arguments() const; |
virtual void set_arguments(const TypeArguments& value) const; |
- virtual intptr_t token_pos() const; |
+ virtual TokenPosition token_pos() const; |
virtual bool IsInstantiated(TrailPtr trail = NULL) const; |
virtual bool CanonicalizeEquals(const Instance& other) const { |
return Equals(other); |
@@ -5386,7 +5390,7 @@ class Type : public AbstractType { |
virtual RawUnresolvedClass* unresolved_class() const; |
virtual RawTypeArguments* arguments() const { return raw_ptr()->arguments_; } |
virtual void set_arguments(const TypeArguments& value) const; |
- virtual intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
+ virtual TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
virtual bool IsInstantiated(TrailPtr trail = NULL) const; |
virtual bool IsEquivalent(const Instance& other, TrailPtr trail = NULL) const; |
virtual bool IsRecursive() const; |
@@ -5460,11 +5464,11 @@ class Type : public AbstractType { |
static RawType* New(const Object& clazz, |
const TypeArguments& arguments, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
Heap::Space space = Heap::kOld); |
private: |
- void set_token_pos(intptr_t token_pos) const; |
+ void set_token_pos(TokenPosition token_pos) const; |
void set_type_state(int8_t state) const; |
static RawType* New(Heap::Space space = Heap::kOld); |
@@ -5533,7 +5537,7 @@ class FunctionType : public AbstractType { |
virtual RawTypeArguments* arguments() const { return raw_ptr()->arguments_; } |
virtual void set_arguments(const TypeArguments& value) const; |
RawFunction* signature() const { return raw_ptr()->signature_; } |
- virtual intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
+ virtual TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
virtual bool IsInstantiated(TrailPtr trail = NULL) const; |
virtual bool IsEquivalent(const Instance& other, TrailPtr trail = NULL) const; |
virtual bool IsRecursive() const; |
@@ -5557,12 +5561,12 @@ class FunctionType : public AbstractType { |
static RawFunctionType* New(const Class& scope_class, |
const TypeArguments& arguments, |
const Function& signature, |
- intptr_t token_pos, |
+ TokenPosition token_pos, |
Heap::Space space = Heap::kOld); |
private: |
void set_signature(const Function& value) const; |
- void set_token_pos(intptr_t token_pos) const; |
+ void set_token_pos(TokenPosition token_pos) const; |
void set_type_state(int8_t state) const; |
static RawFunctionType* New(Heap::Space space = Heap::kOld); |
@@ -5606,7 +5610,7 @@ class TypeRef : public AbstractType { |
virtual RawTypeArguments* arguments() const { |
return AbstractType::Handle(type()).arguments(); |
} |
- virtual intptr_t token_pos() const { |
+ virtual TokenPosition token_pos() const { |
return AbstractType::Handle(type()).token_pos(); |
} |
virtual bool IsInstantiated(TrailPtr trail = NULL) const; |
@@ -5689,7 +5693,7 @@ class TypeParameter : public AbstractType { |
const AbstractType& upper_bound, |
Error* bound_error, |
Heap::Space space = Heap::kNew) const; |
- virtual intptr_t token_pos() const { return raw_ptr()->token_pos_; } |
+ virtual TokenPosition token_pos() const { return raw_ptr()->token_pos_; } |
virtual bool IsInstantiated(TrailPtr trail = NULL) const { |
return false; |
} |
@@ -5717,12 +5721,12 @@ class TypeParameter : public AbstractType { |
intptr_t index, |
const String& name, |
const AbstractType& bound, |
- intptr_t token_pos); |
+ TokenPosition token_pos); |
private: |
void set_parameterized_class(const Class& value) const; |
void set_name(const String& value) const; |
- void set_token_pos(intptr_t token_pos) const; |
+ void set_token_pos(TokenPosition token_pos) const; |
void set_type_state(int8_t state) const; |
static RawTypeParameter* New(); |
@@ -5768,7 +5772,7 @@ class BoundedType : public AbstractType { |
RawTypeParameter* type_parameter() const { |
return raw_ptr()->type_parameter_; |
} |
- virtual intptr_t token_pos() const { |
+ virtual TokenPosition token_pos() const { |
return AbstractType::Handle(type()).token_pos(); |
} |
virtual bool IsInstantiated(TrailPtr trail = NULL) const { |
@@ -5832,7 +5836,7 @@ class MixinAppType : public AbstractType { |
virtual bool IsResolved() const { return false; } |
virtual bool HasResolvedTypeClass() const { return false; } |
virtual RawString* Name() const; |
- virtual intptr_t token_pos() const; |
+ virtual TokenPosition token_pos() const; |
// Returns the mixin composition depth of this mixin application type. |
intptr_t Depth() const; |