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/parser.h" | 5 #include "vm/parser.h" |
6 | 6 |
7 #include "lib/invocation_mirror.h" | 7 #include "lib/invocation_mirror.h" |
8 #include "platform/utils.h" | 8 #include "platform/utils.h" |
9 #include "vm/bootstrap.h" | 9 #include "vm/bootstrap.h" |
10 #include "vm/class_finalizer.h" | 10 #include "vm/class_finalizer.h" |
(...skipping 3966 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3977 // A patch class must be given the same name as the class it is patching, | 3977 // A patch class must be given the same name as the class it is patching, |
3978 // otherwise the generic signature classes it defines will not match the | 3978 // otherwise the generic signature classes it defines will not match the |
3979 // patched generic signature classes. Therefore, new signature classes | 3979 // patched generic signature classes. Therefore, new signature classes |
3980 // will be introduced and the original ones will not get finalized. | 3980 // will be introduced and the original ones will not get finalized. |
3981 cls = Class::New(class_name, script_, classname_pos); | 3981 cls = Class::New(class_name, script_, classname_pos); |
3982 cls.set_library(library_); | 3982 cls.set_library(library_); |
3983 } else { | 3983 } else { |
3984 // Not patching a class, but it has been found. This must be one of the | 3984 // Not patching a class, but it has been found. This must be one of the |
3985 // pre-registered classes from object.cc or a duplicate definition. | 3985 // pre-registered classes from object.cc or a duplicate definition. |
3986 if (!(cls.is_prefinalized() || | 3986 if (!(cls.is_prefinalized() || |
3987 RawObject::IsTypedDataViewClassId(cls.id()))) { | 3987 RawObject::IsImplicitFieldClassId(cls.id()))) { |
3988 ReportError(classname_pos, "class '%s' is already defined", | 3988 ReportError(classname_pos, "class '%s' is already defined", |
3989 class_name.ToCString()); | 3989 class_name.ToCString()); |
3990 } | 3990 } |
3991 // Pre-registered classes need their scripts connected at this time. | 3991 // Pre-registered classes need their scripts connected at this time. |
3992 cls.set_script(script_); | 3992 cls.set_script(script_); |
3993 cls.set_token_pos(classname_pos); | 3993 cls.set_token_pos(classname_pos); |
3994 } | 3994 } |
3995 } | 3995 } |
3996 ASSERT(!cls.IsNull()); | 3996 ASSERT(!cls.IsNull()); |
3997 ASSERT(cls.functions() == Object::empty_array().raw()); | 3997 ASSERT(cls.functions() == Object::empty_array().raw()); |
(...skipping 7082 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11080 void Parser::SkipQualIdent() { | 11080 void Parser::SkipQualIdent() { |
11081 ASSERT(IsIdentifier()); | 11081 ASSERT(IsIdentifier()); |
11082 ConsumeToken(); | 11082 ConsumeToken(); |
11083 if (CurrentToken() == Token::kPERIOD) { | 11083 if (CurrentToken() == Token::kPERIOD) { |
11084 ConsumeToken(); // Consume the kPERIOD token. | 11084 ConsumeToken(); // Consume the kPERIOD token. |
11085 ExpectIdentifier("identifier expected after '.'"); | 11085 ExpectIdentifier("identifier expected after '.'"); |
11086 } | 11086 } |
11087 } | 11087 } |
11088 | 11088 |
11089 } // namespace dart | 11089 } // namespace dart |
OLD | NEW |