Index: runtime/vm/kernel_binary.cc |
diff --git a/runtime/vm/kernel_binary.cc b/runtime/vm/kernel_binary.cc |
index e7b25c9a2347821770517b9c67d3a134431afdec..316e51d84057b32078daaa24c297f568cdb92b64 100644 |
--- a/runtime/vm/kernel_binary.cc |
+++ b/runtime/vm/kernel_binary.cc |
@@ -96,7 +96,7 @@ void TypeParameterList::ReadFrom(Reader* reader) { |
NamedParameter* NamedParameter::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- intptr_t name_index = reader->ReadUInt(); |
+ StringIndex name_index(reader->ReadUInt()); |
DartType* type = DartType::ReadFrom(reader); |
return new NamedParameter(name_index, type); |
} |
@@ -176,7 +176,7 @@ Library* Library::ReadFrom(Reader* reader) { |
kernel_data_size_ = reader->size(); |
canonical_name_ = reader->ReadCanonicalNameReference(); |
- name_index_ = reader->ReadUInt(); |
+ name_index_ = StringIndex(reader->ReadUInt()); |
import_uri_index_ = reader->CanonicalNameString(canonical_name_); |
source_uri_index_ = reader->ReadUInt(); |
reader->set_current_script_id(source_uri_index_); |
@@ -210,7 +210,7 @@ Typedef* Typedef::ReadFrom(Reader* reader) { |
canonical_name_ = reader->ReadCanonicalNameReference(); |
position_ = reader->ReadPosition(false); |
- name_index_ = reader->ReadUInt(); |
+ name_index_ = StringIndex(reader->ReadUInt()); |
source_uri_index_ = reader->ReadUInt(); |
type_parameters_.ReadFrom(reader); |
type_ = DartType::ReadFrom(reader); |
@@ -225,7 +225,7 @@ Class* Class::ReadFrom(Reader* reader) { |
canonical_name_ = reader->ReadCanonicalNameReference(); |
position_ = reader->ReadPosition(false); |
is_abstract_ = reader->ReadBool(); |
- name_index_ = reader->ReadUInt(); |
+ name_index_ = StringIndex(reader->ReadUInt()); |
source_uri_index_ = reader->ReadUInt(); |
reader->set_current_script_id(source_uri_index_); |
reader->record_token_position(position_); |
@@ -270,9 +270,9 @@ MixinClass* MixinClass::ReadFrom(Reader* reader) { |
} |
-intptr_t Reference::ReadMemberFrom(Reader* reader, bool allow_null) { |
+NameIndex Reference::ReadMemberFrom(Reader* reader, bool allow_null) { |
TRACE_READ_OFFSET(); |
- intptr_t canonical_name = reader->ReadCanonicalNameReference(); |
+ NameIndex canonical_name = reader->ReadCanonicalNameReference(); |
if ((canonical_name == -1) && !allow_null) { |
FATAL("Expected a valid member reference, but got `null`"); |
} |
@@ -280,9 +280,9 @@ intptr_t Reference::ReadMemberFrom(Reader* reader, bool allow_null) { |
} |
-intptr_t Reference::ReadClassFrom(Reader* reader, bool allow_null) { |
+NameIndex Reference::ReadClassFrom(Reader* reader, bool allow_null) { |
TRACE_READ_OFFSET(); |
- intptr_t canonical_name = reader->ReadCanonicalNameReference(); |
+ NameIndex canonical_name = reader->ReadCanonicalNameReference(); |
if ((canonical_name == -1) && !allow_null) { |
FATAL("Expected a valid class reference, but got `null`"); |
} |
@@ -290,9 +290,9 @@ intptr_t Reference::ReadClassFrom(Reader* reader, bool allow_null) { |
} |
-intptr_t Reference::ReadTypedefFrom(Reader* reader) { |
+NameIndex Reference::ReadTypedefFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- intptr_t canonical_name = reader->ReadCanonicalNameReference(); |
+ NameIndex canonical_name = reader->ReadCanonicalNameReference(); |
if (canonical_name == -1) { |
FATAL("Expected a valid typedef reference, but got `null`"); |
} |
@@ -667,7 +667,7 @@ Arguments* Arguments::ReadFrom(Reader* reader) { |
NamedExpression* NamedExpression::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- intptr_t name_index = reader->ReadUInt(); |
+ StringIndex name_index(reader->ReadUInt()); |
Expression* expression = Expression::ReadFrom(reader); |
return new NamedExpression(name_index, expression); |
} |
@@ -790,7 +790,7 @@ AsExpression* AsExpression::ReadFrom(Reader* reader) { |
StringLiteral* StringLiteral::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
intptr_t offset = reader->offset() - 1; // -1 to include tag byte. |
- StringLiteral* lit = new StringLiteral(reader->ReadUInt()); |
+ StringLiteral* lit = new StringLiteral(StringIndex(reader->ReadUInt())); |
lit->kernel_offset_ = offset; |
return lit; |
} |
@@ -799,7 +799,7 @@ StringLiteral* StringLiteral::ReadFrom(Reader* reader) { |
BigintLiteral* BigintLiteral::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
intptr_t offset = reader->offset() - 1; // -1 to include tag byte. |
- BigintLiteral* lit = new BigintLiteral(reader->ReadUInt()); |
+ BigintLiteral* lit = new BigintLiteral(StringIndex(reader->ReadUInt())); |
lit->kernel_offset_ = offset; |
return lit; |
} |
@@ -828,7 +828,7 @@ DoubleLiteral* DoubleLiteral::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
DoubleLiteral* literal = new DoubleLiteral(); |
literal->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. |
- literal->value_index_ = reader->ReadUInt(); |
+ literal->value_index_ = StringIndex(reader->ReadUInt()); |
return literal; |
} |
@@ -854,7 +854,7 @@ SymbolLiteral* SymbolLiteral::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
SymbolLiteral* lit = new SymbolLiteral(); |
lit->kernel_offset_ = reader->offset() - 1; // -1 to include tag byte. |
- lit->value_index_ = reader->ReadUInt(); |
+ lit->value_index_ = StringIndex(reader->ReadUInt()); |
return lit; |
} |
@@ -1332,7 +1332,7 @@ VariableDeclaration* VariableDeclaration::ReadFromImpl(Reader* reader, |
decl->position_ = reader->ReadPosition(); |
decl->equals_position_ = reader->ReadPosition(); |
decl->flags_ = reader->ReadFlags(); |
- decl->name_index_ = reader->ReadUInt(); |
+ decl->name_index_ = StringIndex(reader->ReadUInt()); |
decl->type_ = DartType::ReadFrom(reader); |
decl->initializer_ = reader->ReadOptional<Expression>(); |
@@ -1360,7 +1360,7 @@ FunctionDeclaration* FunctionDeclaration::ReadFrom(Reader* reader) { |
Name* Name::ReadFrom(Reader* reader) { |
- intptr_t name_index = reader->ReadUInt(); |
+ StringIndex name_index(reader->ReadUInt()); |
if ((reader->StringLength(name_index) >= 1) && |
(reader->CharacterAt(name_index, 0) == '_')) { |
intptr_t library_reference = reader->ReadCanonicalNameReference(); |
@@ -1423,7 +1423,7 @@ VoidType* VoidType::ReadFrom(Reader* reader) { |
InterfaceType* InterfaceType::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- intptr_t klass_name = Reference::ReadClassFrom(reader); |
+ NameIndex klass_name = Reference::ReadClassFrom(reader); |
InterfaceType* type = new InterfaceType(klass_name); |
type->type_arguments().ReadFromStatic<DartType>(reader); |
return type; |
@@ -1433,7 +1433,7 @@ InterfaceType* InterfaceType::ReadFrom(Reader* reader) { |
InterfaceType* InterfaceType::ReadFrom(Reader* reader, |
bool _without_type_arguments_) { |
TRACE_READ_OFFSET(); |
- intptr_t klass_name = Reference::ReadClassFrom(reader); |
+ NameIndex klass_name = Reference::ReadClassFrom(reader); |
InterfaceType* type = new InterfaceType(klass_name); |
ASSERT(_without_type_arguments_); |
return type; |
@@ -1442,7 +1442,7 @@ InterfaceType* InterfaceType::ReadFrom(Reader* reader, |
TypedefType* TypedefType::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- intptr_t typedef_name = Reference::ReadTypedefFrom(reader); |
+ NameIndex typedef_name = Reference::ReadTypedefFrom(reader); |
TypedefType* type = new TypedefType(typedef_name); |
type->type_arguments().ReadFromStatic<DartType>(reader); |
return type; |
@@ -1518,13 +1518,13 @@ Program* Program::ReadFrom(Reader* reader) { |
// during deserialization. |
program->name_table_offset_ = reader->offset(); |
intptr_t name_count = reader->ReadUInt(); |
- reader->canonical_name_parents_ = new intptr_t[name_count]; |
- reader->canonical_name_strings_ = new intptr_t[name_count]; |
+ reader->canonical_name_parents_ = new NameIndex[name_count]; |
+ reader->canonical_name_strings_ = new StringIndex[name_count]; |
for (int i = 0; i < name_count; ++i) { |
// The parent name index is biased: 0 is the root name and otherwise N+1 is |
// the Nth name. |
- reader->canonical_name_parents_[i] = reader->ReadUInt() - 1; |
- reader->canonical_name_strings_[i] = reader->ReadUInt(); |
+ reader->canonical_name_parents_[i] = reader->ReadCanonicalNameReference(); |
+ reader->canonical_name_strings_[i] = StringIndex(reader->ReadUInt()); |
} |
int libraries = reader->ReadUInt(); |
@@ -1569,7 +1569,7 @@ FunctionNode* FunctionNode::ReadFrom(Reader* reader) { |
TypeParameter* TypeParameter::ReadFrom(Reader* reader) { |
TRACE_READ_OFFSET(); |
- name_index_ = reader->ReadUInt(); |
+ name_index_ = StringIndex(reader->ReadUInt()); |
bound_ = DartType::ReadFrom(reader); |
return this; |
} |