Index: runtime/vm/object_test.cc |
diff --git a/runtime/vm/object_test.cc b/runtime/vm/object_test.cc |
index 82fad1267f2cd33045646bd02af0fc1bfc9391c6..d681c08c821837cb78dfd05dadf23a11f6e8dd5b 100644 |
--- a/runtime/vm/object_test.cc |
+++ b/runtime/vm/object_test.cc |
@@ -29,7 +29,7 @@ static RawLibrary* CreateDummyLibrary(const String& library_name) { |
static RawClass* CreateDummyClass(const String& class_name, |
const Script& script) { |
const Class& cls = Class::Handle( |
- Class::New(class_name, script, Token::kNoSourcePos)); |
+ Class::New(class_name, script, TokenPosition::kNoSource)); |
cls.set_is_synthesized_class(); // Dummy class for testing. |
return cls.raw(); |
} |
@@ -68,12 +68,12 @@ VM_TEST_CASE(Class) { |
function_name = Symbols::New("foo"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, TokenPosition::kMinSource); |
functions.SetAt(0, function); |
function_name = Symbols::New("bar"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, TokenPosition::kMinSource); |
const int kNumFixedParameters = 2; |
const int kNumOptionalParameters = 3; |
@@ -86,24 +86,24 @@ VM_TEST_CASE(Class) { |
function_name = Symbols::New("baz"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, TokenPosition::kMinSource); |
functions.SetAt(2, function); |
function_name = Symbols::New("Foo"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- true, false, false, false, false, cls, 0); |
+ true, false, false, false, false, cls, TokenPosition::kMinSource); |
functions.SetAt(3, function); |
function_name = Symbols::New("Bar"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- true, false, false, false, false, cls, 0); |
+ true, false, false, false, false, cls, TokenPosition::kMinSource); |
functions.SetAt(4, function); |
function_name = Symbols::New("BaZ"); |
function = Function::New( |
function_name, RawFunction::kRegularFunction, |
- true, false, false, false, false, cls, 0); |
+ true, false, false, false, false, cls, TokenPosition::kMinSource); |
functions.SetAt(5, function); |
// Setup the functions in the class. |
@@ -174,7 +174,7 @@ VM_TEST_CASE(TokenStream) { |
EXPECT_EQ(Token::kLPAREN, ts[1].kind); |
const TokenStream& token_stream = TokenStream::Handle( |
TokenStream::New(ts, private_key, false)); |
- TokenStream::Iterator iterator(token_stream, 0); |
+ TokenStream::Iterator iterator(token_stream, TokenPosition::kMinSource); |
// EXPECT_EQ(6, token_stream.Length()); |
iterator.Advance(); // Advance to '(' token. |
EXPECT_EQ(Token::kLPAREN, iterator.CurrentTokenKind()); |
@@ -241,7 +241,7 @@ TEST_CASE(Class_ComputeEndTokenPos) { |
const Class& cls = Class::Handle( |
lib.LookupClass(String::Handle(String::New("A")))); |
EXPECT(!cls.IsNull()); |
- const intptr_t end_token_pos = cls.ComputeEndTokenPos(); |
+ const TokenPosition end_token_pos = cls.ComputeEndTokenPos(); |
const Script& scr = Script::Handle(cls.script()); |
intptr_t line; |
intptr_t col; |
@@ -282,7 +282,7 @@ VM_TEST_CASE(InstanceClass) { |
const String& field_name = String::Handle(Symbols::New("the_field")); |
const Field& field = Field::Handle( |
Field::New(field_name, false, false, false, true, one_field_class, |
- Object::dynamic_type(), 0)); |
+ Object::dynamic_type(), TokenPosition::kMinSource)); |
one_fields.SetAt(0, field); |
one_field_class.SetFields(one_fields); |
one_field_class.Finalize(); |
@@ -2462,43 +2462,43 @@ VM_TEST_CASE(EmbeddedScript) { |
intptr_t line, col; |
intptr_t fast_line; |
- script.GetTokenLocation(0, &line, &col); |
+ script.GetTokenLocation(TokenPosition(0), &line, &col); |
EXPECT_EQ(first_dart_line, line); |
EXPECT_EQ(col, col_offset + 1); |
// We allow asking for only the line number, which only scans the token stream |
// instead of rescanning the script. |
- script.GetTokenLocation(0, &fast_line, NULL); |
+ script.GetTokenLocation(TokenPosition(0), &fast_line, NULL); |
EXPECT_EQ(line, fast_line); |
- script.GetTokenLocation(5, &line, &col); // Token 'return' |
+ script.GetTokenLocation(TokenPosition(5), &line, &col); // Token 'return' |
EXPECT_EQ(4, line); // 'return' is in line 4. |
EXPECT_EQ(5, col); // Four spaces before 'return'. |
// We allow asking for only the line number, which only scans the token stream |
// instead of rescanning the script. |
- script.GetTokenLocation(5, &fast_line, NULL); |
+ script.GetTokenLocation(TokenPosition(5), &fast_line, NULL); |
EXPECT_EQ(line, fast_line); |
- intptr_t first_idx, last_idx; |
+ TokenPosition first_idx, last_idx; |
script.TokenRangeAtLine(3, &first_idx, &last_idx); |
- EXPECT_EQ(0, first_idx); // Token 'main' is first token. |
- EXPECT_EQ(3, last_idx); // Token { is last token. |
+ EXPECT_EQ(0, first_idx.value()); // Token 'main' is first token. |
+ EXPECT_EQ(3, last_idx.value()); // Token { is last token. |
script.TokenRangeAtLine(4, &first_idx, &last_idx); |
- EXPECT_EQ(5, first_idx); // Token 'return' is first token. |
- EXPECT_EQ(7, last_idx); // Token ; is last token. |
+ EXPECT_EQ(5, first_idx.value()); // Token 'return' is first token. |
+ EXPECT_EQ(7, last_idx.value()); // Token ; is last token. |
script.TokenRangeAtLine(5, &first_idx, &last_idx); |
- EXPECT_EQ(9, first_idx); // Token } is first and only token. |
- EXPECT_EQ(9, last_idx); |
+ EXPECT_EQ(9, first_idx.value()); // Token } is first and only token. |
+ EXPECT_EQ(9, last_idx.value()); |
script.TokenRangeAtLine(1, &first_idx, &last_idx); |
- EXPECT_EQ(0, first_idx); |
- EXPECT_EQ(3, last_idx); |
+ EXPECT_EQ(0, first_idx.value()); |
+ EXPECT_EQ(3, last_idx.value()); |
script.TokenRangeAtLine(6, &first_idx, &last_idx); |
- EXPECT_EQ(-1, first_idx); |
- EXPECT_EQ(-1, last_idx); |
+ EXPECT_EQ(-1, first_idx.value()); |
+ EXPECT_EQ(-1, last_idx.value()); |
script.TokenRangeAtLine(1000, &first_idx, &last_idx); |
- EXPECT_EQ(-1, first_idx); |
- EXPECT_EQ(-1, last_idx); |
+ EXPECT_EQ(-1, first_idx.value()); |
+ EXPECT_EQ(-1, last_idx.value()); |
} |
@@ -2537,17 +2537,17 @@ VM_TEST_CASE(ContextScope) { |
const Type& dynamic_type = Type::ZoneHandle(Type::DynamicType()); |
const String& a = String::ZoneHandle(Symbols::New("a")); |
LocalVariable* var_a = |
- new LocalVariable(Token::kNoSourcePos, a, dynamic_type); |
+ new LocalVariable(TokenPosition::kNoSource, a, dynamic_type); |
parent_scope->AddVariable(var_a); |
const String& b = String::ZoneHandle(Symbols::New("b")); |
LocalVariable* var_b = |
- new LocalVariable(Token::kNoSourcePos, b, dynamic_type); |
+ new LocalVariable(TokenPosition::kNoSource, b, dynamic_type); |
local_scope->AddVariable(var_b); |
const String& c = String::ZoneHandle(Symbols::New("c")); |
LocalVariable* var_c = |
- new LocalVariable(Token::kNoSourcePos, c, dynamic_type); |
+ new LocalVariable(TokenPosition::kNoSource, c, dynamic_type); |
parent_scope->AddVariable(var_c); |
bool test_only = false; // Please, insert alias. |
@@ -2623,13 +2623,15 @@ VM_TEST_CASE(Closure) { |
Function& parent = Function::Handle(); |
const String& parent_name = String::Handle(Symbols::New("foo_papa")); |
parent = Function::New(parent_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, |
+ TokenPosition::kMinSource); |
functions.SetAt(0, parent); |
cls.SetFunctions(functions); |
Function& function = Function::Handle(); |
const String& function_name = String::Handle(Symbols::New("foo")); |
- function = Function::NewClosureFunction(function_name, parent, 0); |
+ function = Function::NewClosureFunction( |
+ function_name, parent, TokenPosition::kMinSource); |
const Closure& closure = Closure::Handle(Closure::New(function, context)); |
const Class& closure_class = Class::Handle(closure.clazz()); |
EXPECT_EQ(closure_class.id(), kClosureCid); |
@@ -2692,7 +2694,8 @@ static RawFunction* CreateFunction(const char* name) { |
owner_class.set_library(owner_library); |
const String& function_name = String::ZoneHandle(Symbols::New(name)); |
return Function::New(function_name, RawFunction::kRegularFunction, |
- true, false, false, false, false, owner_class, 0); |
+ true, false, false, false, false, owner_class, |
+ TokenPosition::kMinSource); |
} |
@@ -2835,12 +2838,18 @@ VM_TEST_CASE(PcDescriptors) { |
DescriptorList* builder = new DescriptorList(0); |
// kind, pc_offset, deopt_id, token_pos, try_index |
- builder->AddDescriptor(RawPcDescriptors::kOther, 10, 1, 20, 1); |
- builder->AddDescriptor(RawPcDescriptors::kDeopt, 20, 2, 30, 0); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 30, 3, 40, 1); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 10, 4, 40, 2); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 10, 5, 80, 3); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 80, 6, 150, 3); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 10, 1, TokenPosition(20), 1); |
+ builder->AddDescriptor(RawPcDescriptors::kDeopt, |
+ 20, 2, TokenPosition(30), 0); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 30, 3, TokenPosition(40), 1); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 10, 4, TokenPosition(40), 2); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 10, 5, TokenPosition(80), 3); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 80, 6, TokenPosition(150), 3); |
PcDescriptors& descriptors = PcDescriptors::Handle(); |
descriptors ^= builder->FinalizePcDescriptors(0); |
@@ -2857,31 +2866,31 @@ VM_TEST_CASE(PcDescriptors) { |
PcDescriptors::Iterator iter(pc_descs, RawPcDescriptors::kAnyKind); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(20, iter.TokenPos()); |
+ EXPECT_EQ(20, iter.TokenPos().value()); |
EXPECT_EQ(1, iter.TryIndex()); |
EXPECT_EQ(static_cast<uword>(10), iter.PcOffset()); |
EXPECT_EQ(1, iter.DeoptId()); |
EXPECT_EQ(RawPcDescriptors::kOther, iter.Kind()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(30, iter.TokenPos()); |
+ EXPECT_EQ(30, iter.TokenPos().value()); |
EXPECT_EQ(RawPcDescriptors::kDeopt, iter.Kind()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(40, iter.TokenPos()); |
+ EXPECT_EQ(40, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(40, iter.TokenPos()); |
+ EXPECT_EQ(40, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(80, iter.TokenPos()); |
+ EXPECT_EQ(80, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(150, iter.TokenPos()); |
+ EXPECT_EQ(150, iter.TokenPos().value()); |
EXPECT_EQ(3, iter.TryIndex()); |
EXPECT_EQ(static_cast<uword>(80), iter.PcOffset()); |
- EXPECT_EQ(150, iter.TokenPos()); |
+ EXPECT_EQ(150, iter.TokenPos().value()); |
EXPECT_EQ(RawPcDescriptors::kOther, iter.Kind()); |
EXPECT_EQ(false, iter.MoveNext()); |
@@ -2892,12 +2901,18 @@ VM_TEST_CASE(PcDescriptorsLargeDeltas) { |
DescriptorList* builder = new DescriptorList(0); |
// kind, pc_offset, deopt_id, token_pos, try_index |
- builder->AddDescriptor(RawPcDescriptors::kOther, 100, 1, 200, 1); |
- builder->AddDescriptor(RawPcDescriptors::kDeopt, 200, 2, 300, 0); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 300, 3, 400, 1); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 100, 4, 0, 2); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 100, 5, 800, 3); |
- builder->AddDescriptor(RawPcDescriptors::kOther, 800, 6, 150, 3); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 100, 1, TokenPosition(200), 1); |
+ builder->AddDescriptor(RawPcDescriptors::kDeopt, |
+ 200, 2, TokenPosition(300), 0); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 300, 3, TokenPosition(400), 1); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 100, 4, TokenPosition(0), 2); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 100, 5, TokenPosition(800), 3); |
+ builder->AddDescriptor(RawPcDescriptors::kOther, |
+ 800, 6, TokenPosition(150), 3); |
PcDescriptors& descriptors = PcDescriptors::Handle(); |
descriptors ^= builder->FinalizePcDescriptors(0); |
@@ -2914,31 +2929,31 @@ VM_TEST_CASE(PcDescriptorsLargeDeltas) { |
PcDescriptors::Iterator iter(pc_descs, RawPcDescriptors::kAnyKind); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(200, iter.TokenPos()); |
+ EXPECT_EQ(200, iter.TokenPos().value()); |
EXPECT_EQ(1, iter.TryIndex()); |
EXPECT_EQ(static_cast<uword>(100), iter.PcOffset()); |
EXPECT_EQ(1, iter.DeoptId()); |
EXPECT_EQ(RawPcDescriptors::kOther, iter.Kind()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(300, iter.TokenPos()); |
+ EXPECT_EQ(300, iter.TokenPos().value()); |
EXPECT_EQ(RawPcDescriptors::kDeopt, iter.Kind()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(400, iter.TokenPos()); |
+ EXPECT_EQ(400, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(0, iter.TokenPos()); |
+ EXPECT_EQ(0, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(800, iter.TokenPos()); |
+ EXPECT_EQ(800, iter.TokenPos().value()); |
EXPECT_EQ(true, iter.MoveNext()); |
- EXPECT_EQ(150, iter.TokenPos()); |
+ EXPECT_EQ(150, iter.TokenPos().value()); |
EXPECT_EQ(3, iter.TryIndex()); |
EXPECT_EQ(static_cast<uword>(800), iter.PcOffset()); |
- EXPECT_EQ(150, iter.TokenPos()); |
+ EXPECT_EQ(150, iter.TokenPos().value()); |
EXPECT_EQ(RawPcDescriptors::kOther, iter.Kind()); |
EXPECT_EQ(false, iter.MoveNext()); |
@@ -2958,7 +2973,7 @@ static RawField* CreateTestField(const char* name) { |
const String& field_name = String::Handle(Symbols::New(name)); |
const Field& field = |
Field::Handle(Field::New(field_name, true, false, false, true, cls, |
- Object::dynamic_type(), 0)); |
+ Object::dynamic_type(), TokenPosition::kMinSource)); |
return field.raw(); |
} |
@@ -3003,7 +3018,7 @@ static RawFunction* GetDummyTarget(const char* name) { |
is_external, |
is_native, |
cls, |
- 0); |
+ TokenPosition::kMinSource); |
} |
@@ -3777,13 +3792,15 @@ VM_TEST_CASE(FindClosureIndex) { |
Function& parent = Function::Handle(); |
const String& parent_name = String::Handle(Symbols::New("foo_papa")); |
parent = Function::New(parent_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, |
+ TokenPosition::kMinSource); |
functions.SetAt(0, parent); |
cls.SetFunctions(functions); |
Function& function = Function::Handle(); |
const String& function_name = String::Handle(Symbols::New("foo")); |
- function = Function::NewClosureFunction(function_name, parent, 0); |
+ function = Function::NewClosureFunction(function_name, parent, |
+ TokenPosition::kMinSource); |
// Add closure function to class. |
iso->AddClosureFunction(function); |
@@ -3812,7 +3829,8 @@ VM_TEST_CASE(FindInvocationDispatcherFunctionIndex) { |
Function& parent = Function::Handle(); |
const String& parent_name = String::Handle(Symbols::New("foo_papa")); |
parent = Function::New(parent_name, RawFunction::kRegularFunction, |
- false, false, false, false, false, cls, 0); |
+ false, false, false, false, false, cls, |
+ TokenPosition::kMinSource); |
functions.SetAt(0, parent); |
cls.SetFunctions(functions); |
cls.Finalize(); |