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/compiler.h" | 5 #include "vm/compiler.h" |
6 | 6 |
7 #include "vm/assembler.h" | 7 #include "vm/assembler.h" |
8 | 8 |
9 #include "vm/ast_printer.h" | 9 #include "vm/ast_printer.h" |
10 #include "vm/block_scheduler.h" | 10 #include "vm/block_scheduler.h" |
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
885 OS::Print("compiling expression: "); | 885 OS::Print("compiling expression: "); |
886 AstPrinter::PrintNode(fragment); | 886 AstPrinter::PrintNode(fragment); |
887 } | 887 } |
888 | 888 |
889 // Create a dummy function object for the code generator. | 889 // Create a dummy function object for the code generator. |
890 // The function needs to be associated with a named Class: the interface | 890 // The function needs to be associated with a named Class: the interface |
891 // Function fits the bill. | 891 // Function fits the bill. |
892 const char* kEvalConst = "eval_const"; | 892 const char* kEvalConst = "eval_const"; |
893 const Function& func = Function::ZoneHandle(Function::New( | 893 const Function& func = Function::ZoneHandle(Function::New( |
894 String::Handle(Symbols::New(kEvalConst)), | 894 String::Handle(Symbols::New(kEvalConst)), |
895 RawFunction::kImplicitStaticFinalGetter, | 895 RawFunction::kRegularFunction, |
896 true, // static function. | 896 true, // static function. |
897 false, // not const function. | 897 false, // not const function. |
898 false, // not abstract | 898 false, // not abstract |
899 false, // not external. | 899 false, // not external. |
900 Class::Handle(Type::Handle(Type::Function()).type_class()), | 900 Class::Handle(Type::Handle(Type::Function()).type_class()), |
901 fragment->token_pos())); | 901 fragment->token_pos())); |
902 | 902 |
903 func.set_result_type(Type::Handle(Type::DynamicType())); | 903 func.set_result_type(Type::Handle(Type::DynamicType())); |
904 func.set_num_fixed_parameters(0); | 904 func.set_num_fixed_parameters(0); |
905 func.SetNumOptionalParameters(0, true); | 905 func.SetNumOptionalParameters(0, true); |
(...skipping 22 matching lines...) Expand all Loading... |
928 Object::Handle(isolate->object_store()->sticky_error()); | 928 Object::Handle(isolate->object_store()->sticky_error()); |
929 isolate->object_store()->clear_sticky_error(); | 929 isolate->object_store()->clear_sticky_error(); |
930 isolate->set_long_jump_base(base); | 930 isolate->set_long_jump_base(base); |
931 return result.raw(); | 931 return result.raw(); |
932 } | 932 } |
933 UNREACHABLE(); | 933 UNREACHABLE(); |
934 return Object::null(); | 934 return Object::null(); |
935 } | 935 } |
936 | 936 |
937 } // namespace dart | 937 } // namespace dart |
OLD | NEW |