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 8035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8046 (original->IsLiteralNode() || | 8046 (original->IsLiteralNode() || |
8047 original->IsLoadLocalNode())) { | 8047 original->IsLoadLocalNode())) { |
8048 name = left_ident->raw(); | 8048 name = left_ident->raw(); |
8049 } | 8049 } |
8050 if (name.IsNull()) { | 8050 if (name.IsNull()) { |
8051 ErrorMsg(left_pos, "expression is not assignable"); | 8051 ErrorMsg(left_pos, "expression is not assignable"); |
8052 } | 8052 } |
8053 result = ThrowNoSuchMethodError( | 8053 result = ThrowNoSuchMethodError( |
8054 original->token_pos(), | 8054 original->token_pos(), |
8055 *target_cls, | 8055 *target_cls, |
8056 name, | 8056 String::ZoneHandle(Field::SetterName(name)), |
siva
2014/06/12 16:59:07
Why does it have to be a ZoneHandle just a regular
rmacnak
2014/06/12 22:52:08
Ok, ThrowNoSuchMethod creates its own zone handle
| |
8057 NULL, // No arguments. | 8057 NULL, // No arguments. |
8058 InvocationMirror::kStatic, | 8058 InvocationMirror::kStatic, |
8059 original->IsLoadLocalNode() ? | 8059 original->IsLoadLocalNode() ? |
8060 InvocationMirror::kLocalVar : InvocationMirror::kSetter, | 8060 InvocationMirror::kLocalVar : InvocationMirror::kSetter, |
8061 NULL); // No existing function. | 8061 NULL); // No existing function. |
8062 } else if (result->IsStoreIndexedNode() || | 8062 } else if (result->IsStoreIndexedNode() || |
8063 result->IsInstanceSetterNode() || | 8063 result->IsInstanceSetterNode() || |
8064 result->IsStaticSetterNode() || | 8064 result->IsStaticSetterNode() || |
8065 result->IsStoreStaticFieldNode() || | 8065 result->IsStoreStaticFieldNode() || |
8066 result->IsStoreLocalNode()) { | 8066 result->IsStoreLocalNode()) { |
(...skipping 2968 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
11035 void Parser::SkipQualIdent() { | 11035 void Parser::SkipQualIdent() { |
11036 ASSERT(IsIdentifier()); | 11036 ASSERT(IsIdentifier()); |
11037 ConsumeToken(); | 11037 ConsumeToken(); |
11038 if (CurrentToken() == Token::kPERIOD) { | 11038 if (CurrentToken() == Token::kPERIOD) { |
11039 ConsumeToken(); // Consume the kPERIOD token. | 11039 ConsumeToken(); // Consume the kPERIOD token. |
11040 ExpectIdentifier("identifier expected after '.'"); | 11040 ExpectIdentifier("identifier expected after '.'"); |
11041 } | 11041 } |
11042 } | 11042 } |
11043 | 11043 |
11044 } // namespace dart | 11044 } // namespace dart |
OLD | NEW |