Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: runtime/vm/parser.cc

Issue 1269413005: Adapt C?.m to latest spec version (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/language/language.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/parser.cc
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index f85523d2a54d427325978a71d84d06bce4e8932e..d5f5ca30c09ecea8c50f0b56a13fd3f366162c85 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -11184,18 +11184,6 @@ AstNode* Parser::ParseSelectors(AstNode* primary, bool is_cascade) {
ClassFinalizer::kCanonicalize);
ASSERT(!type_parameter.IsMalformed());
left = new(Z) TypeNode(primary->token_pos(), type_parameter);
- } else if (is_conditional && primary_node->primary().IsClass()) {
- // The left-hand side of ?. is interpreted as an expression
- // of type Type, not as a class literal.
- const Class& type_class = Class::Cast(primary_node->primary());
- AbstractType& type = Type::ZoneHandle(Z,
- Type::New(type_class, TypeArguments::Handle(Z),
- primary_pos, Heap::kOld));
- type ^= ClassFinalizer::FinalizeType(
- current_class(), type, ClassFinalizer::kCanonicalize);
- // Type may be malbounded, but not malformed.
- ASSERT(!type.IsMalformed());
- left = new(Z) TypeNode(primary_pos, type);
} else {
// Super field access handled in ParseSuperFieldAccess(),
// super calls handled in ParseSuperCall().
@@ -11210,7 +11198,6 @@ AstNode* Parser::ParseSelectors(AstNode* primary, bool is_cascade) {
if (left->IsPrimaryNode() &&
left->AsPrimaryNode()->primary().IsClass()) {
// Static method call prefixed with class name.
- ASSERT(!is_conditional);
const Class& cls = Class::Cast(left->AsPrimaryNode()->primary());
selector = ParseStaticCall(cls, *ident, ident_pos);
} else {
@@ -11237,7 +11224,6 @@ AstNode* Parser::ParseSelectors(AstNode* primary, bool is_cascade) {
is_conditional);
} else {
// Static field access.
- ASSERT(!is_conditional);
selector = GenerateStaticFieldAccess(cls, *ident, ident_pos);
ASSERT(selector != NULL);
if (selector->IsLoadStaticFieldNode()) {
« no previous file with comments | « no previous file | tests/language/language.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698