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

Side by Side Diff: runtime/vm/class_finalizer.cc

Issue 10823396: Implement import scope (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 4 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 | « no previous file | runtime/vm/dart_api_impl_test.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 #include "vm/class_finalizer.h" 5 #include "vm/class_finalizer.h"
6 6
7 #include "vm/flags.h" 7 #include "vm/flags.h"
8 #include "vm/heap.h" 8 #include "vm/heap.h"
9 #include "vm/isolate.h" 9 #include "vm/isolate.h"
10 #include "vm/longjump.h" 10 #include "vm/longjump.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 for (intptr_t i = 0; i < class_array.Length(); i++) { 76 for (intptr_t i = 0; i < class_array.Length(); i++) {
77 cls ^= class_array.At(i); 77 cls ^= class_array.At(i);
78 if (!cls.is_interface()) { 78 if (!cls.is_interface()) {
79 VerifyClassImplements(cls); 79 VerifyClassImplements(cls);
80 } 80 }
81 } 81 }
82 } 82 }
83 // Clear pending classes array. 83 // Clear pending classes array.
84 class_array = GrowableObjectArray::New(); 84 class_array = GrowableObjectArray::New();
85 object_store->set_pending_classes(class_array); 85 object_store->set_pending_classes(class_array);
86
87 // Check to ensure there are no duplicate definitions in the library
88 // hierarchy.
89 const String& str = String::Handle(Library::CheckForDuplicateDefinition());
90 if (!str.IsNull()) {
91 ReportError("Duplicate definition : %s\n", str.ToCString());
92 }
93 } else { 86 } else {
94 retval = false; 87 retval = false;
95 } 88 }
96 isolate->set_long_jump_base(base); 89 isolate->set_long_jump_base(base);
97 return retval; 90 return retval;
98 } 91 }
99 92
100 93
101 // Adds all interfaces of cls into 'collected'. Duplicate entries may occur. 94 // Adds all interfaces of cls into 'collected'. Duplicate entries may occur.
102 // No cycles are allowed. 95 // No cycles are allowed.
(...skipping 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 void ClassFinalizer::ReportError(const char* format, ...) { 1500 void ClassFinalizer::ReportError(const char* format, ...) {
1508 va_list args; 1501 va_list args;
1509 va_start(args, format); 1502 va_start(args, format);
1510 const Error& error = Error::Handle( 1503 const Error& error = Error::Handle(
1511 Parser::FormatError(Script::Handle(), -1, "Error", format, args)); 1504 Parser::FormatError(Script::Handle(), -1, "Error", format, args));
1512 va_end(args); 1505 va_end(args);
1513 ReportError(error); 1506 ReportError(error);
1514 } 1507 }
1515 1508
1516 } // namespace dart 1509 } // namespace dart
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/dart_api_impl_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698