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

Side by Side Diff: dart/runtime/vm/parser.cc

Issue 328663002: Version 1.5.0-dev.4.5 (Closed) Base URL: http://dart.googlecode.com/svn/trunk/
Patch Set: Created 6 years, 6 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
« no previous file with comments | « dart/runtime/vm/parser.h ('k') | dart/runtime/vm/raw_object.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "vm/parser.h" 5 #include "vm/parser.h"
6 6
7 #include "lib/invocation_mirror.h" 7 #include "lib/invocation_mirror.h"
8 #include "platform/utils.h" 8 #include "platform/utils.h"
9 #include "vm/bootstrap.h" 9 #include "vm/bootstrap.h"
10 #include "vm/class_finalizer.h" 10 #include "vm/class_finalizer.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 void ParsedFunction::SetNodeSequence(SequenceNode* node_sequence) { 128 void ParsedFunction::SetNodeSequence(SequenceNode* node_sequence) {
129 ASSERT(node_sequence_ == NULL); 129 ASSERT(node_sequence_ == NULL);
130 ASSERT(node_sequence != NULL); 130 ASSERT(node_sequence != NULL);
131 node_sequence_ = node_sequence; 131 node_sequence_ = node_sequence;
132 } 132 }
133 133
134 134
135 void ParsedFunction::AddDeferredPrefix(const LibraryPrefix& prefix) { 135 void ParsedFunction::AddDeferredPrefix(const LibraryPrefix& prefix) {
136 ASSERT(prefix.is_deferred_load()); 136 ASSERT(prefix.is_deferred_load());
137 ASSERT(!prefix.is_loaded()); 137 ASSERT(!prefix.is_loaded());
138 if (deferred_prefixes_ == NULL) { 138 for (intptr_t i = 0; i < deferred_prefixes_->length(); i++) {
139 deferred_prefixes_ = 139 if ((*deferred_prefixes_)[i]->raw() == prefix.raw()) {
140 &GrowableObjectArray::ZoneHandle(GrowableObjectArray::New());
141 }
142 for (intptr_t i = 0; i < deferred_prefixes_->Length(); i++) {
143 if (deferred_prefixes_->At(i) == prefix.raw()) {
144 return; 140 return;
145 } 141 }
146 } 142 }
147 deferred_prefixes_->Add(prefix); 143 deferred_prefixes_->Add(&LibraryPrefix::ZoneHandle(I, prefix.raw()));
148 } 144 }
149 145
150 146
151 void ParsedFunction::AllocateVariables() { 147 void ParsedFunction::AllocateVariables() {
152 LocalScope* scope = node_sequence()->scope(); 148 LocalScope* scope = node_sequence()->scope();
153 const intptr_t num_fixed_params = function().num_fixed_parameters(); 149 const intptr_t num_fixed_params = function().num_fixed_parameters();
154 const intptr_t num_opt_params = function().NumOptionalParameters(); 150 const intptr_t num_opt_params = function().NumOptionalParameters();
155 const intptr_t num_params = num_fixed_params + num_opt_params; 151 const intptr_t num_params = num_fixed_params + num_opt_params;
156 // Compute start indices to parameters and locals, and the number of 152 // Compute start indices to parameters and locals, and the number of
157 // parameters to copy. 153 // parameters to copy.
(...skipping 10869 matching lines...) Expand 10 before | Expand all | Expand 10 after
11027 void Parser::SkipQualIdent() { 11023 void Parser::SkipQualIdent() {
11028 ASSERT(IsIdentifier()); 11024 ASSERT(IsIdentifier());
11029 ConsumeToken(); 11025 ConsumeToken();
11030 if (CurrentToken() == Token::kPERIOD) { 11026 if (CurrentToken() == Token::kPERIOD) {
11031 ConsumeToken(); // Consume the kPERIOD token. 11027 ConsumeToken(); // Consume the kPERIOD token.
11032 ExpectIdentifier("identifier expected after '.'"); 11028 ExpectIdentifier("identifier expected after '.'");
11033 } 11029 }
11034 } 11030 }
11035 11031
11036 } // namespace dart 11032 } // namespace dart
OLDNEW
« no previous file with comments | « dart/runtime/vm/parser.h ('k') | dart/runtime/vm/raw_object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698