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

Unified Diff: compiler/java/com/google/dart/compiler/parser/DartParser.java

Issue 11346004: Issue 6201. Clean up to replace 'interface' with 'abstract class' (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 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
Index: compiler/java/com/google/dart/compiler/parser/DartParser.java
diff --git a/compiler/java/com/google/dart/compiler/parser/DartParser.java b/compiler/java/com/google/dart/compiler/parser/DartParser.java
index d7e94ff569b0af8de8a716e12e912b7f45998181..dabbbbe87c44e9d9675bf9445f87511e917358a4 100644
--- a/compiler/java/com/google/dart/compiler/parser/DartParser.java
+++ b/compiler/java/com/google/dart/compiler/parser/DartParser.java
@@ -922,6 +922,9 @@ public class DartParser extends CompletionHooksParserBase {
*/
private DartDeclaration<?> parseClass() {
beginClassBody();
+
+ int tokenOffset = ctx.getTokenLocation().getBegin();
+ int tokenLength = ctx.getTokenLocation().getEnd() - tokenOffset;
// Parse modifiers.
Modifiers modifiers = Modifiers.NONE;
@@ -960,8 +963,11 @@ public class DartParser extends CompletionHooksParserBase {
// Deal with factory clause for interfaces.
DartParameterizedTypeNode defaultClass = null;
+ int defaultTokenOffset = -1;
if (isParsingInterface &&
(optionalDeprecatedFactory() || optional(Token.DEFAULT))) {
+ defaultTokenOffset = position();
+ beginTypeAnnotation();
DartExpression qualified = parseQualified(false);
List<DartTypeParameter> defaultTypeParameters = parseTypeParametersOpt();
defaultClass = doneWithoutConsuming(new DartParameterizedTypeNode(qualified,
@@ -998,18 +1004,12 @@ public class DartParser extends CompletionHooksParserBase {
}
if (isParsingInterface) {
- return done(new DartClass(name, superType, interfaces, openBraceOffset, closeBraceOffset,
- members, typeParameters, defaultClass));
+ return done(new DartClass(tokenOffset, tokenLength, name, superType, interfaces,
+ defaultTokenOffset, openBraceOffset, closeBraceOffset, members, typeParameters,
+ defaultClass));
} else {
- return done(new DartClass(name,
- nativeName,
- superType,
- interfaces,
- openBraceOffset,
- closeBraceOffset,
- members,
- typeParameters,
- modifiers));
+ return done(new DartClass(tokenOffset, tokenLength, name, nativeName, superType, interfaces,
+ defaultTokenOffset, openBraceOffset, closeBraceOffset, members, typeParameters, modifiers));
}
}

Powered by Google App Engine
This is Rietveld 408576698