Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(385)

Side by Side Diff: vm/object_test.cc

Issue 10697055: Represent tokens as a compressed stream instead of an array. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #include "platform/assert.h" 5 #include "platform/assert.h"
6 #include "vm/assembler.h" 6 #include "vm/assembler.h"
7 #include "vm/bigint_operations.h" 7 #include "vm/bigint_operations.h"
8 #include "vm/isolate.h" 8 #include "vm/isolate.h"
9 #include "vm/object.h" 9 #include "vm/object.h"
10 #include "vm/object_store.h" 10 #include "vm/object_store.h"
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 135
136 136
137 TEST_CASE(TokenStream) { 137 TEST_CASE(TokenStream) {
138 String& source = String::Handle(String::New("= ( 9 , .")); 138 String& source = String::Handle(String::New("= ( 9 , ."));
139 String& private_key = String::Handle(String::New("")); 139 String& private_key = String::Handle(String::New(""));
140 Scanner scanner(source, private_key); 140 Scanner scanner(source, private_key);
141 const Scanner::GrowableTokenStream& ts = scanner.GetStream(); 141 const Scanner::GrowableTokenStream& ts = scanner.GetStream();
142 EXPECT_EQ(6, ts.length()); 142 EXPECT_EQ(6, ts.length());
143 EXPECT_EQ(Token::kLPAREN, ts[1].kind); 143 EXPECT_EQ(Token::kLPAREN, ts[1].kind);
144 const TokenStream& token_stream = TokenStream::Handle(TokenStream::New(ts)); 144 const TokenStream& token_stream = TokenStream::Handle(TokenStream::New(ts));
145 EXPECT_EQ(6, token_stream.Length()); 145 TokenStreamIterator iterator(token_stream, 0);
146 EXPECT_EQ(Token::kLPAREN, token_stream.KindAt(1)); 146 // EXPECT_EQ(6, token_stream.Length());
147 EXPECT_EQ(Token::kPERIOD, token_stream.KindAt(4)); 147 iterator.Advance(); // Advance to '(' token.
148 EXPECT_EQ(Token::kEOS, token_stream.KindAt(5)); 148 EXPECT_EQ(Token::kLPAREN, iterator.CurrentTokenKind());
149 iterator.Advance();
150 iterator.Advance();
151 iterator.Advance(); // Advance to '.' token.
152 EXPECT_EQ(Token::kPERIOD, iterator.CurrentTokenKind());
153 iterator.Advance(); // Advance to end of stream.
154 EXPECT_EQ(Token::kEOS, iterator.CurrentTokenKind());
149 } 155 }
150 156
151 157
152 TEST_CASE(InstanceClass) { 158 TEST_CASE(InstanceClass) {
153 // Allocate the class first. 159 // Allocate the class first.
154 String& class_name = String::Handle(String::NewSymbol("EmptyClass")); 160 String& class_name = String::Handle(String::NewSymbol("EmptyClass"));
155 Script& script = Script::Handle(); 161 Script& script = Script::Handle();
156 const Class& empty_class = 162 const Class& empty_class =
157 Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex)); 163 Class::Handle(Class::New(class_name, script, Scanner::kDummyTokenIndex));
158 164
(...skipping 2507 matching lines...) Expand 10 before | Expand all | Expand 10 after
2666 EXPECT(Field::IsSetterName(setter_f)); 2672 EXPECT(Field::IsSetterName(setter_f));
2667 EXPECT_STREQ(f.ToCString(), 2673 EXPECT_STREQ(f.ToCString(),
2668 String::Handle(Field::NameFromGetter(getter_f)).ToCString()); 2674 String::Handle(Field::NameFromGetter(getter_f)).ToCString());
2669 EXPECT_STREQ(f.ToCString(), 2675 EXPECT_STREQ(f.ToCString(),
2670 String::Handle(Field::NameFromSetter(setter_f)).ToCString()); 2676 String::Handle(Field::NameFromSetter(setter_f)).ToCString());
2671 } 2677 }
2672 2678
2673 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64). 2679 #endif // defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64).
2674 2680
2675 } // namespace dart 2681 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698