OLD | NEW |
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/debugger.h" | 5 #include "vm/debugger.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 | 8 |
9 #include "vm/code_generator.h" | 9 #include "vm/code_generator.h" |
10 #include "vm/code_patcher.h" | 10 #include "vm/code_patcher.h" |
(...skipping 792 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
803 } | 803 } |
804 // Signal isolate shutdown event. | 804 // Signal isolate shutdown event. |
805 SignalIsolateEvent(Debugger::kIsolateShutdown); | 805 SignalIsolateEvent(Debugger::kIsolateShutdown); |
806 } | 806 } |
807 | 807 |
808 | 808 |
809 static RawFunction* ResolveLibraryFunction( | 809 static RawFunction* ResolveLibraryFunction( |
810 const Library& library, | 810 const Library& library, |
811 const String& fname) { | 811 const String& fname) { |
812 ASSERT(!library.IsNull()); | 812 ASSERT(!library.IsNull()); |
813 const Object& object = Object::Handle(library.LookupObject(fname)); | 813 String& ambiguity_error_msg = String::Handle(); |
| 814 const Object& object = Object::Handle( |
| 815 library.LookupObject(fname, &ambiguity_error_msg)); |
814 if (!object.IsNull() && object.IsFunction()) { | 816 if (!object.IsNull() && object.IsFunction()) { |
815 return Function::Cast(object).raw(); | 817 return Function::Cast(object).raw(); |
816 } | 818 } |
817 return Function::null(); | 819 return Function::null(); |
818 } | 820 } |
819 | 821 |
820 void Debugger::SetSingleStep() { | 822 void Debugger::SetSingleStep() { |
821 isolate_->set_single_step(true); | 823 isolate_->set_single_step(true); |
822 resume_action_ = kSingleStep; | 824 resume_action_ = kSingleStep; |
823 } | 825 } |
(...skipping 10 matching lines...) Expand all Loading... |
834 | 836 |
835 RawFunction* Debugger::ResolveFunction(const Library& library, | 837 RawFunction* Debugger::ResolveFunction(const Library& library, |
836 const String& class_name, | 838 const String& class_name, |
837 const String& function_name) { | 839 const String& function_name) { |
838 ASSERT(!library.IsNull()); | 840 ASSERT(!library.IsNull()); |
839 ASSERT(!class_name.IsNull()); | 841 ASSERT(!class_name.IsNull()); |
840 ASSERT(!function_name.IsNull()); | 842 ASSERT(!function_name.IsNull()); |
841 if (class_name.Length() == 0) { | 843 if (class_name.Length() == 0) { |
842 return ResolveLibraryFunction(library, function_name); | 844 return ResolveLibraryFunction(library, function_name); |
843 } | 845 } |
844 const Class& cls = Class::Handle(library.LookupClass(class_name)); | 846 String& ambiguity_error_msg = String::Handle(); |
| 847 const Class& cls = Class::Handle( |
| 848 library.LookupClass(class_name, &ambiguity_error_msg)); |
845 Function& function = Function::Handle(); | 849 Function& function = Function::Handle(); |
846 if (!cls.IsNull()) { | 850 if (!cls.IsNull()) { |
847 function = cls.LookupStaticFunction(function_name); | 851 function = cls.LookupStaticFunction(function_name); |
848 if (function.IsNull()) { | 852 if (function.IsNull()) { |
849 function = cls.LookupDynamicFunction(function_name); | 853 function = cls.LookupDynamicFunction(function_name); |
850 } | 854 } |
851 } | 855 } |
852 return function.raw(); | 856 return function.raw(); |
853 } | 857 } |
854 | 858 |
(...skipping 1005 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1860 } | 1864 } |
1861 | 1865 |
1862 | 1866 |
1863 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { | 1867 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { |
1864 ASSERT(bpt->next() == NULL); | 1868 ASSERT(bpt->next() == NULL); |
1865 bpt->set_next(code_breakpoints_); | 1869 bpt->set_next(code_breakpoints_); |
1866 code_breakpoints_ = bpt; | 1870 code_breakpoints_ = bpt; |
1867 } | 1871 } |
1868 | 1872 |
1869 } // namespace dart | 1873 } // namespace dart |
OLD | NEW |