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

Side by Side Diff: pkg/compiler/lib/src/scanner/class_element_parser.dart

Issue 1173403002: dart2js: Fix hints in code base. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Updated to latest revision Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 part of scanner; 5 part of scanner;
6 6
7 class ClassElementParser extends PartialParser { 7 class ClassElementParser extends PartialParser {
8 ClassElementParser(Listener listener) : super(listener); 8 ClassElementParser(Listener listener) : super(listener);
9 9
10 Token parseClassBody(Token token) => fullParseClassBody(token); 10 Token parseClassBody(Token token) => fullParseClassBody(token);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 MemberListener listener = new MemberListener(compiler, this); 50 MemberListener listener = new MemberListener(compiler, this);
51 Parser parser = new ClassElementParser(listener); 51 Parser parser = new ClassElementParser(listener);
52 try { 52 try {
53 Token token = parser.parseTopLevelDeclaration(beginToken); 53 Token token = parser.parseTopLevelDeclaration(beginToken);
54 assert(identical(token, endToken.next)); 54 assert(identical(token, endToken.next));
55 cachedNode = listener.popNode(); 55 cachedNode = listener.popNode();
56 assert( 56 assert(
57 invariant( 57 invariant(
58 beginToken, listener.nodes.isEmpty, 58 beginToken, listener.nodes.isEmpty,
59 message: "Non-empty listener stack: ${listener.nodes}")); 59 message: "Non-empty listener stack: ${listener.nodes}"));
60 } on ParserError catch (e) { 60 } on ParserError {
61 // TODO(ahe): Often, a ParserError is thrown while parsing the class 61 // TODO(ahe): Often, a ParserError is thrown while parsing the class
62 // body. This means that the stack actually contains most of the 62 // body. This means that the stack actually contains most of the
63 // information synthesized below. Consider rewriting the parser so 63 // information synthesized below. Consider rewriting the parser so
64 // endClassDeclaration is called before parsing the class body. 64 // endClassDeclaration is called before parsing the class body.
65 Identifier name = new Identifier(findMyName(beginToken)); 65 Identifier name = new Identifier(findMyName(beginToken));
66 NodeList typeParameters = null; 66 NodeList typeParameters = null;
67 Node supertype = null; 67 Node supertype = null;
68 NodeList interfaces = listener.makeNodeList(0, null, null, ","); 68 NodeList interfaces = listener.makeNodeList(0, null, null, ",");
69 Token extendsKeyword = null; 69 Token extendsKeyword = null;
70 NodeList body = listener.makeNodeList(0, beginToken, endToken, null); 70 NodeList body = listener.makeNodeList(0, beginToken, endToken, null);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 pushNode(null); 179 pushNode(null);
180 String name = getMethodNameHack(method.name); 180 String name = getMethodNameHack(method.name);
181 Identifier singleIdentifierName = method.name.asIdentifier(); 181 Identifier singleIdentifierName = method.name.asIdentifier();
182 if (singleIdentifierName != null && singleIdentifierName.source == name) { 182 if (singleIdentifierName != null && singleIdentifierName.source == name) {
183 if (name != enclosingClass.name) { 183 if (name != enclosingClass.name) {
184 listener.reportError(singleIdentifierName, 184 listener.reportError(singleIdentifierName,
185 MessageKind.INVALID_UNNAMED_CONSTRUCTOR_NAME, 185 MessageKind.INVALID_UNNAMED_CONSTRUCTOR_NAME,
186 {'name': enclosingClass.name}); 186 {'name': enclosingClass.name});
187 } 187 }
188 } 188 }
189 ElementKind kind = ElementKind.FUNCTION;
190 Element memberElement = new PartialConstructorElement( 189 Element memberElement = new PartialConstructorElement(
191 name, beginToken, endToken, 190 name, beginToken, endToken,
192 ElementKind.FUNCTION, 191 ElementKind.FUNCTION,
193 method.modifiers, 192 method.modifiers,
194 enclosingClass); 193 enclosingClass);
195 addMember(memberElement); 194 addMember(memberElement);
196 } 195 }
197 196
198 void endFields(int count, Token beginToken, Token endToken) { 197 void endFields(int count, Token beginToken, Token endToken) {
199 bool hasParseError = memberErrors.head; 198 bool hasParseError = memberErrors.head;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 235
237 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) { 236 void endMetadata(Token beginToken, Token periodBeforeName, Token endToken) {
238 popNode(); // Discard arguments. 237 popNode(); // Discard arguments.
239 if (periodBeforeName != null) { 238 if (periodBeforeName != null) {
240 popNode(); // Discard name. 239 popNode(); // Discard name.
241 } 240 }
242 popNode(); // Discard node (Send or Identifier). 241 popNode(); // Discard node (Send or Identifier).
243 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken)); 242 pushMetadata(new PartialMetadataAnnotation(beginToken, endToken));
244 } 243 }
245 } 244 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698