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

Side by Side Diff: runtime/vm/scopes.h

Issue 55943002: Remove some unused fields from class SourceLabel. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month 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 | « no previous file | runtime/vm/scopes.cc » ('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 #ifndef VM_SCOPES_H_ 5 #ifndef VM_SCOPES_H_
6 #define VM_SCOPES_H_ 6 #define VM_SCOPES_H_
7 7
8 #include "platform/assert.h"
9 #include "platform/globals.h"
8 #include "vm/allocation.h" 10 #include "vm/allocation.h"
9 #include "vm/assembler.h"
10 #include "vm/growable_array.h" 11 #include "vm/growable_array.h"
12 #include "vm/object.h"
13 #include "vm/raw_object.h"
11 #include "vm/symbols.h" 14 #include "vm/symbols.h"
15 #include "vm/token.h"
12 16
13 namespace dart { 17 namespace dart {
14 18
15 class BitVector;
16 class JoinEntryInstr; 19 class JoinEntryInstr;
17 class LocalScope; 20 class LocalScope;
18 class LocalVariable;
19 class SourceLabel;
20 21
21 22
22 class LocalVariable : public ZoneAllocated { 23 class LocalVariable : public ZoneAllocated {
23 public: 24 public:
24 LocalVariable(intptr_t token_pos, 25 LocalVariable(intptr_t token_pos,
25 const String& name, 26 const String& name,
26 const AbstractType& type) 27 const AbstractType& type)
27 : token_pos_(token_pos), 28 : token_pos_(token_pos),
28 name_(name), 29 name_(name),
29 owner_(NULL), 30 owner_(NULL),
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 kCatch, 130 kCatch,
130 kForward, 131 kForward,
131 kStatement // Any statement other than the above 132 kStatement // Any statement other than the above
132 }; 133 };
133 134
134 SourceLabel(intptr_t token_pos, const String& name, Kind kind) 135 SourceLabel(intptr_t token_pos, const String& name, Kind kind)
135 : token_pos_(token_pos), 136 : token_pos_(token_pos),
136 name_(name), 137 name_(name),
137 owner_(NULL), 138 owner_(NULL),
138 kind_(kind), 139 kind_(kind),
139 continue_label_(),
140 break_label_(),
141 join_for_break_(NULL), 140 join_for_break_(NULL),
142 join_for_continue_(NULL), 141 join_for_continue_(NULL),
143 is_continue_target_(false) { 142 is_continue_target_(false) {
144 } 143 }
145 144
146 static SourceLabel* New(intptr_t token_pos, String* name, Kind kind) { 145 static SourceLabel* New(intptr_t token_pos, String* name, Kind kind) {
147 if (name != NULL) { 146 if (name != NULL) {
148 return new SourceLabel(token_pos, *name, kind); 147 return new SourceLabel(token_pos, *name, kind);
149 } else { 148 } else {
150 return new SourceLabel(token_pos, 149 return new SourceLabel(token_pos,
151 Symbols::DefaultLabel(), 150 Symbols::DefaultLabel(),
152 kind); 151 kind);
153 } 152 }
154 } 153 }
155 154
156 intptr_t token_pos() const { return token_pos_; } 155 intptr_t token_pos() const { return token_pos_; }
157 const String& name() const { return name_; } 156 const String& name() const { return name_; }
158 LocalScope* owner() const { return owner_; } 157 LocalScope* owner() const { return owner_; }
159 void set_owner(LocalScope* owner) { 158 void set_owner(LocalScope* owner) {
160 ASSERT(owner_ == NULL); 159 ASSERT(owner_ == NULL);
161 owner_ = owner; 160 owner_ = owner;
162 } 161 }
163 162
164 Kind kind() const { return kind_; } 163 Kind kind() const { return kind_; }
165 Label* break_label() { return &break_label_; }
166 Label* continue_label() { return &continue_label_; }
167 164
168 void set_join_for_continue(JoinEntryInstr* join) { 165 void set_join_for_continue(JoinEntryInstr* join) {
169 ASSERT(join_for_continue_ == NULL); 166 ASSERT(join_for_continue_ == NULL);
170 join_for_continue_ = join; 167 join_for_continue_ = join;
171 } 168 }
172 169
173 JoinEntryInstr* join_for_continue() const { 170 JoinEntryInstr* join_for_continue() const {
174 return join_for_continue_; 171 return join_for_continue_;
175 } 172 }
176 173
(...skipping 17 matching lines...) Expand all
194 private: 191 private:
195 // TODO(zerny): Remove this hack when the builder no longer stores state in 192 // TODO(zerny): Remove this hack when the builder no longer stores state in
196 // the ast/scopes. 193 // the ast/scopes.
197 friend class SourceLabelResetter; 194 friend class SourceLabelResetter;
198 195
199 const intptr_t token_pos_; 196 const intptr_t token_pos_;
200 const String& name_; 197 const String& name_;
201 LocalScope* owner_; // Local scope declaring this label. 198 LocalScope* owner_; // Local scope declaring this label.
202 199
203 Kind kind_; 200 Kind kind_;
204 Label continue_label_;
205 Label break_label_;
206 JoinEntryInstr* join_for_break_; 201 JoinEntryInstr* join_for_break_;
207 JoinEntryInstr* join_for_continue_; 202 JoinEntryInstr* join_for_continue_;
208 bool is_continue_target_; // Needed for CaseNode. 203 bool is_continue_target_; // Needed for CaseNode.
209 204
210 DISALLOW_COPY_AND_ASSIGN(SourceLabel); 205 DISALLOW_COPY_AND_ASSIGN(SourceLabel);
211 }; 206 };
212 207
213 208
214 class LocalScope : public ZoneAllocated { 209 class LocalScope : public ZoneAllocated {
215 public: 210 public:
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 intptr_t end_token_pos_; // Token index of end of scope. 361 intptr_t end_token_pos_; // Token index of end of scope.
367 GrowableArray<LocalVariable*> variables_; 362 GrowableArray<LocalVariable*> variables_;
368 GrowableArray<SourceLabel*> labels_; 363 GrowableArray<SourceLabel*> labels_;
369 364
370 DISALLOW_COPY_AND_ASSIGN(LocalScope); 365 DISALLOW_COPY_AND_ASSIGN(LocalScope);
371 }; 366 };
372 367
373 } // namespace dart 368 } // namespace dart
374 369
375 #endif // VM_SCOPES_H_ 370 #endif // VM_SCOPES_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/scopes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698