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

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

Issue 2420323002: Don't use in-class initialization of non-static data members. It's a C++11 extension. (Closed)
Patch Set: Created 4 years, 2 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
« no previous file with comments | « no previous file | no next file » | 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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_KERNEL_TO_IL_H_ 5 #ifndef VM_KERNEL_TO_IL_H_
6 #define VM_KERNEL_TO_IL_H_ 6 #define VM_KERNEL_TO_IL_H_
7 7
8 #include "vm/growable_array.h" 8 #include "vm/growable_array.h"
9 #include "vm/hash_map.h" 9 #include "vm/hash_map.h"
10 10
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 375
376 376
377 struct FunctionScope { 377 struct FunctionScope {
378 FunctionNode* function; 378 FunctionNode* function;
379 LocalScope* scope; 379 LocalScope* scope;
380 }; 380 };
381 381
382 382
383 class ScopeBuildingResult : public ZoneAllocated { 383 class ScopeBuildingResult : public ZoneAllocated {
384 public: 384 public:
385 ScopeBuildingResult()
386 : this_variable(NULL),
387 type_arguments_variable(NULL),
388 switch_variable(NULL),
389 finally_return_variable(NULL),
390 setter_value(NULL),
391 yield_jump_variable(NULL),
392 yield_context_variable(NULL) {}
393
385 Map<VariableDeclaration, LocalVariable*> locals; 394 Map<VariableDeclaration, LocalVariable*> locals;
386 Map<TreeNode, LocalScope*> scopes; 395 Map<TreeNode, LocalScope*> scopes;
387 GrowableArray<FunctionScope> function_scopes; 396 GrowableArray<FunctionScope> function_scopes;
388 397
389 // Only non-NULL for instance functions. 398 // Only non-NULL for instance functions.
390 LocalVariable* this_variable = NULL; 399 LocalVariable* this_variable;
391 400
392 // Only non-NULL for factory constructor functions. 401 // Only non-NULL for factory constructor functions.
393 LocalVariable* type_arguments_variable = NULL; 402 LocalVariable* type_arguments_variable;
394 403
395 // Non-NULL when the function contains a switch statement. 404 // Non-NULL when the function contains a switch statement.
396 LocalVariable* switch_variable = NULL; 405 LocalVariable* switch_variable;
397 406
398 // Non-NULL when the function contains a return inside a finally block. 407 // Non-NULL when the function contains a return inside a finally block.
399 LocalVariable* finally_return_variable = NULL; 408 LocalVariable* finally_return_variable;
400 409
401 // Non-NULL when the function is a setter. 410 // Non-NULL when the function is a setter.
402 LocalVariable* setter_value = NULL; 411 LocalVariable* setter_value;
403 412
404 // Non-NULL if the function contains yield statement. 413 // Non-NULL if the function contains yield statement.
405 // TODO(27590) actual variable is called :await_jump_var, we should rename 414 // TODO(27590) actual variable is called :await_jump_var, we should rename
406 // it to reflect the fact that it is used for both await and yield. 415 // it to reflect the fact that it is used for both await and yield.
407 LocalVariable* yield_jump_variable = NULL; 416 LocalVariable* yield_jump_variable;
408 417
409 // Non-NULL if the function contains yield statement. 418 // Non-NULL if the function contains yield statement.
410 // TODO(27590) actual variable is called :await_ctx_var, we should rename 419 // TODO(27590) actual variable is called :await_ctx_var, we should rename
411 // it to reflect the fact that it is used for both await and yield. 420 // it to reflect the fact that it is used for both await and yield.
412 LocalVariable* yield_context_variable = NULL; 421 LocalVariable* yield_context_variable;
413 422
414 // Variables used in exception handlers, one per exception handler nesting 423 // Variables used in exception handlers, one per exception handler nesting
415 // level. 424 // level.
416 GrowableArray<LocalVariable*> exception_variables; 425 GrowableArray<LocalVariable*> exception_variables;
417 GrowableArray<LocalVariable*> stack_trace_variables; 426 GrowableArray<LocalVariable*> stack_trace_variables;
418 GrowableArray<LocalVariable*> catch_context_variables; 427 GrowableArray<LocalVariable*> catch_context_variables;
419 428
420 // For-in iterators, one per for-in nesting level. 429 // For-in iterators, one per for-in nesting level.
421 GrowableArray<LocalVariable*> iterator_variables; 430 GrowableArray<LocalVariable*> iterator_variables;
422 }; 431 };
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 friend class SwitchBlock; 830 friend class SwitchBlock;
822 friend class TryCatchBlock; 831 friend class TryCatchBlock;
823 friend class TryFinallyBlock; 832 friend class TryFinallyBlock;
824 }; 833 };
825 834
826 } // namespace kernel 835 } // namespace kernel
827 } // namespace dart 836 } // namespace dart
828 837
829 838
830 #endif // VM_KERNEL_TO_IL_H_ 839 #endif // VM_KERNEL_TO_IL_H_
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698