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/object.h" | 5 #include "vm/object.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
(...skipping 6414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6425 NULL, // instantiation_trail | 6425 NULL, // instantiation_trail |
6426 NULL, // bound_trail | 6426 NULL, // bound_trail |
6427 space); | 6427 space); |
6428 ASSERT((bound_error == NULL) || bound_error->IsNull()); | 6428 ASSERT((bound_error == NULL) || bound_error->IsNull()); |
6429 } | 6429 } |
6430 if (other_param_type.IsDynamicType()) { | 6430 if (other_param_type.IsDynamicType()) { |
6431 return true; | 6431 return true; |
6432 } | 6432 } |
6433 AbstractType& param_type = | 6433 AbstractType& param_type = |
6434 AbstractType::Handle(ParameterTypeAt(parameter_position)); | 6434 AbstractType::Handle(ParameterTypeAt(parameter_position)); |
6435 | |
6436 // TODO(regis): Remove this debugging code. | |
6437 if (param_type.IsNull()) { | |
6438 THR_Print("*** null param_type ***\n"); | |
6439 THR_Print("parameter_position: %" Pd "\n", parameter_position); | |
6440 THR_Print("other_parameter_position: %" Pd "\n", other_parameter_position); | |
6441 String& str = String::Handle(); | |
6442 str = QualifiedScrubbedName(); | |
6443 THR_Print("function name: %s\n", str.ToCString()); | |
6444 str = other.QualifiedScrubbedName(); | |
6445 THR_Print("other function name: %s\n", str.ToCString()); | |
6446 Class& owner = Class::Handle(); | |
6447 owner = Owner(); | |
6448 THR_Print("function owner: %s\n", owner.ToCString()); | |
6449 owner = other.Owner(); | |
6450 THR_Print("other function owner: %s\n", owner.ToCString()); | |
6451 THR_Print("other_param_type: %s\n", other_param_type.ToCString()); | |
6452 AbstractType& type = AbstractType::Handle(); | |
6453 if (parameter_position > 0) { | |
6454 type = ParameterTypeAt(0); | |
6455 THR_Print("receiver type: %s\n", | |
6456 type.IsNull()? "null" : type.ToCString()); | |
6457 } | |
6458 THR_Print("has code: %s\n", HasCode() ? "yes" : "no"); | |
6459 str = Report::PrependSnippet(Report::kWarning, | |
6460 Script::Handle(script()), | |
6461 token_pos(), | |
6462 Report::AtLocation, | |
6463 Symbols::Empty()); | |
6464 THR_Print("function source: %s\n", str.ToCString()); | |
6465 for (intptr_t i = 0; i < NumParameters(); i++) { | |
6466 THR_Print("function param %" Pd "\n", i); | |
6467 str = ParameterNameAt(i); | |
6468 THR_Print(" name: %s\n", str.IsNull() ? "null" : str.ToCString()); | |
6469 type = ParameterTypeAt(i); | |
6470 THR_Print(" type: %s\n", type.IsNull() ? "null" : type.ToCString()); | |
6471 } | |
6472 } | |
6473 | |
6474 if (!param_type.IsInstantiated()) { | 6435 if (!param_type.IsInstantiated()) { |
6475 param_type = param_type.InstantiateFrom(type_arguments, | 6436 param_type = param_type.InstantiateFrom(type_arguments, |
6476 bound_error, | 6437 bound_error, |
6477 NULL, // instantiation_trail | 6438 NULL, // instantiation_trail |
6478 NULL, // bound_trail | 6439 NULL, // bound_trail |
6479 space); | 6440 space); |
6480 ASSERT((bound_error == NULL) || bound_error->IsNull()); | 6441 ASSERT((bound_error == NULL) || bound_error->IsNull()); |
6481 } | 6442 } |
6482 if (param_type.IsDynamicType()) { | 6443 if (param_type.IsDynamicType()) { |
6483 return test_kind == kIsSubtypeOf; | 6444 return test_kind == kIsSubtypeOf; |
(...skipping 9114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
15598 | 15559 |
15599 TokenPosition AbstractType::token_pos() const { | 15560 TokenPosition AbstractType::token_pos() const { |
15600 // AbstractType is an abstract class. | 15561 // AbstractType is an abstract class. |
15601 UNREACHABLE(); | 15562 UNREACHABLE(); |
15602 return TokenPosition::kNoSource; | 15563 return TokenPosition::kNoSource; |
15603 } | 15564 } |
15604 | 15565 |
15605 | 15566 |
15606 bool AbstractType::IsInstantiated(TrailPtr trail) const { | 15567 bool AbstractType::IsInstantiated(TrailPtr trail) const { |
15607 // AbstractType is an abstract class. | 15568 // AbstractType is an abstract class. |
15608 #if !defined(PRODUCT) | |
15609 // TODO(srdjan) : Remove temporary code. | |
15610 NOT_IN_PRODUCT( | |
15611 Profiler::DumpStackTrace(true); // Only native stack trace. | |
15612 ) | |
15613 if (Compiler::IsBackgroundCompilation()) { | |
15614 UNREACHABLE(); | |
15615 } | |
15616 #endif | |
15617 UNREACHABLE(); | 15569 UNREACHABLE(); |
15618 return false; | 15570 return false; |
15619 } | 15571 } |
15620 | 15572 |
15621 | 15573 |
15622 bool AbstractType::IsFinalized() const { | 15574 bool AbstractType::IsFinalized() const { |
15623 // AbstractType is an abstract class. | 15575 // AbstractType is an abstract class. |
15624 UNREACHABLE(); | 15576 UNREACHABLE(); |
15625 return false; | 15577 return false; |
15626 } | 15578 } |
(...skipping 6797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
22424 return UserTag::null(); | 22376 return UserTag::null(); |
22425 } | 22377 } |
22426 | 22378 |
22427 | 22379 |
22428 const char* UserTag::ToCString() const { | 22380 const char* UserTag::ToCString() const { |
22429 const String& tag_label = String::Handle(label()); | 22381 const String& tag_label = String::Handle(label()); |
22430 return tag_label.ToCString(); | 22382 return tag_label.ToCString(); |
22431 } | 22383 } |
22432 | 22384 |
22433 } // namespace dart | 22385 } // namespace dart |
OLD | NEW |