| Index: dart/compiler/javatests/com/google/dart/compiler/parser/ParserEventsTest.java
|
| diff --git a/dart/compiler/javatests/com/google/dart/compiler/parser/ParserEventsTest.java b/dart/compiler/javatests/com/google/dart/compiler/parser/ParserEventsTest.java
|
| deleted file mode 100644
|
| index f53afbd6e064e90444537c144339013cd8132bd4..0000000000000000000000000000000000000000
|
| --- a/dart/compiler/javatests/com/google/dart/compiler/parser/ParserEventsTest.java
|
| +++ /dev/null
|
| @@ -1,782 +0,0 @@
|
| -// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
| -// for details. All rights reserved. Use of this source code is governed by a
|
| -// BSD-style license that can be found in the LICENSE file.
|
| -
|
| -package com.google.dart.compiler.parser;
|
| -
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ArrayLiteral;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.BinaryExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Block;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.BreakStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.CatchClause;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.CatchParameter;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ClassBody;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ClassMember;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.CompilationUnit;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ConditionalExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ConstExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ConstructorName;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ContinueStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.DoStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.EmptyStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Expression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ExpressionList;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ExpressionStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FieldInitializerOrRedirectedConstructor;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FinalDeclaration;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ForInitialization;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ForStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FormalParameterList;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FunctionDeclaration;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FunctionLiteral;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.FunctionTypeInterface;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Identifier;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.IfStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Initializer;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Label;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.Literal;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.MapLiteral;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.MapLiteralEntry;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.MethodName;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.NativeBody;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.NewExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.OperatorName;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ParenthesizedExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.PostfixExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.QualifiedIdentifier;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ReturnStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SelectorExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SpreadExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.StringInterpolation;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.StringSegment;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SuperExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SuperInitializer;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SwitchMember;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.SwitchStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ThisExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.ThrowStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TopLevelElement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TryStatement;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TypeAnnotation;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TypeArguments;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TypeExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TypeFunctionOrVarable;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.TypeParameter;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.UnaryExpression;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.VarDeclaration;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.VariableDeclaration;
|
| -import static com.google.dart.compiler.parser.ParserEventsTest.Mark.WhileStatement;
|
| -
|
| -import com.google.common.collect.Sets;
|
| -import com.google.dart.compiler.DartCompilerListener;
|
| -import com.google.dart.compiler.Source;
|
| -import com.google.dart.compiler.metrics.CompilerMetrics;
|
| -
|
| -import java.util.HashSet;
|
| -import java.util.LinkedHashSet;
|
| -import java.util.Set;
|
| -
|
| -public class ParserEventsTest extends AbstractParserTest {
|
| -
|
| - /**
|
| - * A collection of marks representing interesting parser states. Copied from
|
| - * com.google.dart.tools.core.internal.completion.
|
| - * <p>
|
| - * TODO(messick) Find a way to share the implementation of Mark.
|
| - */
|
| - static enum Mark {
|
| - // some elements are roots of the kind-of relationships, they must be first
|
| - Block,
|
| - Expression,
|
| - Literal(Expression),
|
| - FormalParameterList,
|
| - Statement,
|
| - // all others are alphabetical
|
| - ArrayLiteral(Literal),
|
| - BinaryExpression(Expression),
|
| - BreakStatement(Statement),
|
| - CatchClause,
|
| - CatchParameter,
|
| - ClassBody(Block),
|
| - ClassMember,
|
| - CompilationUnit,
|
| - ConditionalExpression(Expression),
|
| - FinalDeclaration,
|
| - ConstExpression(Expression),
|
| - ConstructorName,
|
| - ContinueStatement(Statement),
|
| - DoStatement(Statement),
|
| - EmptyStatement(Statement),
|
| - ExpressionList,
|
| - ExpressionStatement(Statement),
|
| - FieldInitializerOrRedirectedConstructor,
|
| - ForInitialization,
|
| - ForStatement(Statement),
|
| - FunctionDeclaration,
|
| - FunctionLiteral(Literal),
|
| - FunctionTypeInterface,
|
| - Identifier(Expression),
|
| - IfStatement(Statement),
|
| - Initializer,
|
| - TypeExpression(Expression),
|
| - Label,
|
| - MapLiteral(Literal),
|
| - MapLiteralEntry,
|
| - MethodName,
|
| - NativeBody,
|
| - NewExpression(Expression),
|
| - OperatorName,
|
| - ParenthesizedExpression(Expression),
|
| - PostfixExpression(Expression),
|
| - QualifiedIdentifier,
|
| - ReturnStatement(Statement),
|
| - SelectorExpression(Expression),
|
| - SpreadExpression(Expression),
|
| - StringInterpolation,
|
| - StringSegment,
|
| - SuperExpression(Expression),
|
| - SuperInitializer,
|
| - SwitchMember,
|
| - SwitchStatement(Statement),
|
| - ThisExpression(Expression),
|
| - ThrowStatement(Statement),
|
| - TopLevelElement,
|
| - TryStatement(Statement),
|
| - TypeAnnotation,
|
| - TypeArguments,
|
| - TypeFunctionOrVarable,
|
| - TypeParameter,
|
| - UnaryExpression(Expression),
|
| - VarDeclaration,
|
| - VariableDeclaration,
|
| - WhileStatement(Statement);
|
| -
|
| - public final Mark kind;
|
| -
|
| - private Mark() {
|
| - kind = null;
|
| - }
|
| -
|
| - private Mark(Mark kind) {
|
| - this.kind = kind;
|
| - }
|
| -
|
| - /**
|
| - * Return <code>true</code> if this Mark has a kind-of relation to the given Mark.
|
| - *
|
| - * @param other the Mark to test for a kind-of relation
|
| - * @return <code>true</code> if the test succeeds
|
| - */
|
| - public boolean isKindOf(Mark other) {
|
| - if (this == other) {
|
| - return true;
|
| - }
|
| - if (kind == null) {
|
| - return false;
|
| - }
|
| - return kind.isKindOf(other);
|
| - }
|
| - }
|
| -
|
| - private static class ParserEventRecorder extends DartParser {
|
| - private LinkedHashSet<Mark> marks;
|
| -
|
| - @Override
|
| - protected void rollback() {
|
| - super.rollback();
|
| - Mark lastMark = null;
|
| - for (Mark mark: marks) {
|
| - lastMark = mark;
|
| - }
|
| - if (lastMark != null) {
|
| - marks.remove(lastMark);
|
| - }
|
| - }
|
| -
|
| - public ParserEventRecorder(Source source,
|
| - String sourceCode,
|
| - boolean isDietParse,
|
| - Set<String> prefixes,
|
| - DartCompilerListener listener,
|
| - CompilerMetrics compilerMetrics) {
|
| - super(source, sourceCode, isDietParse, prefixes, listener, compilerMetrics);
|
| - marks = new LinkedHashSet<Mark>();
|
| - }
|
| -
|
| - @SuppressWarnings({"unchecked", "rawtypes"})
|
| - public HashSet<Mark> copyMarks() {
|
| - return (HashSet) marks.clone();
|
| - }
|
| -
|
| - @Override
|
| - protected void beginArrayLiteral() {
|
| - super.beginArrayLiteral();
|
| - recordMark(ArrayLiteral);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginBinaryExpression() {
|
| - super.beginBinaryExpression();
|
| - recordMark(BinaryExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginBlock() {
|
| - super.beginBlock();
|
| - recordMark(Block);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginBreakStatement() {
|
| - super.beginBreakStatement();
|
| - recordMark(BreakStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginCatchClause() {
|
| - super.beginCatchClause();
|
| - recordMark(CatchClause);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginCatchParameter() {
|
| - super.beginFormalParameter();
|
| - recordMark(CatchParameter);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginClassBody() {
|
| - super.beginClassBody();
|
| - recordMark(ClassBody);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginClassMember() {
|
| - super.beginClassMember();
|
| - recordMark(ClassMember);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginCompilationUnit() {
|
| - super.beginCompilationUnit();
|
| - recordMark(CompilationUnit);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginConditionalExpression() {
|
| - super.beginConditionalExpression();
|
| - recordMark(ConditionalExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginConstExpression() {
|
| - super.beginConstExpression();
|
| - recordMark(ConstExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginConstructor() {
|
| - super.beginConstructor();
|
| - recordMark(ConstructorName);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginContinueStatement() {
|
| - super.beginContinueStatement();
|
| - recordMark(ContinueStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginDoStatement() {
|
| - super.beginDoStatement();
|
| - recordMark(DoStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginEmptyStatement() {
|
| - super.beginEmptyStatement();
|
| - recordMark(EmptyStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginEntryPoint() {
|
| - super.beginEntryPoint();
|
| - // TODO(messick): add recording
|
| - }
|
| -
|
| - @Override
|
| - protected void beginExpression() {
|
| - super.beginExpression();
|
| - recordMark(Expression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginExpressionList() {
|
| - super.beginExpressionList();
|
| - recordMark(ExpressionList);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginExpressionStatement() {
|
| - super.beginExpressionStatement();
|
| - recordMark(ExpressionStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFieldInitializerOrRedirectedConstructor() {
|
| - super.beginFieldInitializerOrRedirectedConstructor();
|
| - recordMark(FieldInitializerOrRedirectedConstructor);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFinalDeclaration() {
|
| - super.beginFinalDeclaration();
|
| - recordMark(FinalDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginForInitialization() {
|
| - super.beginForInitialization();
|
| - recordMark(ForInitialization);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFormalParameterList() {
|
| - super.beginFormalParameterList();
|
| - recordMark(FormalParameterList);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginForStatement() {
|
| - super.beginForStatement();
|
| - recordMark(ForStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFunctionDeclaration() {
|
| - super.beginFunctionDeclaration();
|
| - recordMark(FunctionDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFunctionLiteral() {
|
| - super.beginFunctionLiteral();
|
| - recordMark(FunctionLiteral);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginFunctionTypeInterface() {
|
| - super.beginFunctionTypeInterface();
|
| - recordMark(FunctionTypeInterface);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginIdentifier() {
|
| - super.beginIdentifier();
|
| - recordMark(Identifier);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginIfStatement() {
|
| - super.beginIfStatement();
|
| - recordMark(IfStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginInitializer() {
|
| - super.beginInitializer();
|
| - recordMark(Initializer);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTypeExpression() {
|
| - super.beginTypeExpression();
|
| - recordMark(TypeExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginLabel() {
|
| - super.beginLabel();
|
| - recordMark(Label);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginLiteral() {
|
| - super.beginLiteral();
|
| - recordMark(Literal);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginMapLiteral() {
|
| - super.beginMapLiteral();
|
| - recordMark(MapLiteral);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginMapLiteralEntry() {
|
| - super.beginMapLiteralEntry();
|
| - recordMark(MapLiteralEntry);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginMethodName() {
|
| - super.beginMethodName();
|
| - recordMark(MethodName);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginNativeBody() {
|
| - super.beginNativeBody();
|
| - recordMark(NativeBody);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginNewExpression() {
|
| - super.beginNewExpression();
|
| - recordMark(NewExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginOperatorName() {
|
| - super.beginOperatorName();
|
| - recordMark(OperatorName);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginParameter() {
|
| - super.beginParameter();
|
| - // TODO(messick): add recording
|
| - }
|
| -
|
| - @Override
|
| - protected void beginParameterName() {
|
| - super.beginParameterName();
|
| - // TODO(messick): add recording
|
| - }
|
| -
|
| - @Override
|
| - protected void beginParenthesizedExpression() {
|
| - super.beginParenthesizedExpression();
|
| - recordMark(ParenthesizedExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginPostfixExpression() {
|
| - super.beginPostfixExpression();
|
| - recordMark(PostfixExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginQualifiedIdentifier() {
|
| - super.beginQualifiedIdentifier();
|
| - recordMark(QualifiedIdentifier);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginReturnStatement() {
|
| - super.beginReturnStatement();
|
| - recordMark(ReturnStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginReturnType() {
|
| - super.beginReturnType();
|
| - // TODO(messick): add recording
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSelectorExpression() {
|
| - super.beginSelectorExpression();
|
| - recordMark(SelectorExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSpreadExpression() {
|
| - super.beginSpreadExpression();
|
| - recordMark(SpreadExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginStringInterpolation() {
|
| - super.beginStringInterpolation();
|
| - recordMark(StringInterpolation);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginStringSegment() {
|
| - super.beginStringSegment();
|
| - recordMark(StringSegment);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSuperExpression() {
|
| - super.beginSuperExpression();
|
| - recordMark(SuperExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSuperInitializer() {
|
| - super.beginSuperInitializer();
|
| - recordMark(SuperInitializer);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSwitchMember() {
|
| - super.beginSwitchMember();
|
| - recordMark(SwitchMember);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginSwitchStatement() {
|
| - super.beginSwitchStatement();
|
| - recordMark(SwitchStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginThisExpression() {
|
| - super.beginThisExpression();
|
| - recordMark(ThisExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginThrowExpression() {
|
| - super.beginThrowExpression();
|
| - recordMark(ThrowStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTopLevelElement() {
|
| - super.beginTopLevelElement();
|
| - recordMark(TopLevelElement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTryStatement() {
|
| - super.beginTryStatement();
|
| - recordMark(TryStatement);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTypeAnnotation() {
|
| - super.beginTypeAnnotation();
|
| - recordMark(TypeAnnotation);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTypeArguments() {
|
| - super.beginTypeArguments();
|
| - recordMark(TypeArguments);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTypeFunctionOrVariable() {
|
| - super.beginTypeFunctionOrVariable();
|
| - recordMark(TypeFunctionOrVarable);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginTypeParameter() {
|
| - super.beginTypeParameter();
|
| - recordMark(TypeParameter);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginUnaryExpression() {
|
| - super.beginUnaryExpression();
|
| - recordMark(UnaryExpression);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginVarDeclaration() {
|
| - super.beginVarDeclaration();
|
| - recordMark(VarDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginVariableDeclaration() {
|
| - super.beginVariableDeclaration();
|
| - recordMark(VariableDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - protected void beginWhileStatement() {
|
| - super.beginWhileStatement();
|
| - recordMark(WhileStatement);
|
| - }
|
| -
|
| - private void recordMark(Mark mark) {
|
| - marks.add(mark);
|
| - }
|
| - }
|
| -
|
| - private ParserEventRecorder recorder = null;
|
| -
|
| - @Override
|
| - public void testListObjectLiterals() {
|
| - parseUnit("ListObjectLiterals.dart");
|
| - }
|
| -
|
| - @Override
|
| - public void testCatchFinally() {
|
| - parseUnit("CatchFinally.dart");
|
| - }
|
| -
|
| - @Override
|
| - public void testClasses() {
|
| - parseUnit("ClassesInterfaces.dart");
|
| - compareMarks(ReturnStatement, TopLevelElement, Block,
|
| - ForStatement, ClassBody, FunctionLiteral, ParenthesizedExpression, TypeExpression,
|
| - MethodName, ConditionalExpression, BinaryExpression, FormalParameterList,
|
| - FunctionDeclaration, BreakStatement, PostfixExpression, SuperInitializer, TypeAnnotation,
|
| - ClassMember, VarDeclaration, SwitchMember, CompilationUnit, Expression,
|
| - TypeFunctionOrVarable, TypeParameter, ExpressionList, Identifier,
|
| - IfStatement, QualifiedIdentifier, SwitchStatement,
|
| - SelectorExpression, ForInitialization, CatchClause, CatchParameter,
|
| - FieldInitializerOrRedirectedConstructor, ContinueStatement, Label, TryStatement, Literal,
|
| - SpreadExpression, VariableDeclaration, TypeArguments, ExpressionStatement, ThrowStatement,
|
| - WhileStatement, Initializer);
|
| - }
|
| -
|
| - @Override
|
| - public void testFormalParameters() {
|
| - parseUnit("FormalParameters.dart");
|
| - compareMarks(TopLevelElement, ClassMember, CompilationUnit,
|
| - BinaryExpression, NativeBody, Identifier, TypeAnnotation, ClassBody,
|
| - Literal, Block, PostfixExpression, MethodName, Expression, QualifiedIdentifier,
|
| - FormalParameterList, ConditionalExpression);
|
| - }
|
| -
|
| - @Override
|
| - public void testFunctionInterfaces() {
|
| - parseUnit("FunctionInterfaces.dart");
|
| - compareMarks(TypeAnnotation, TopLevelElement, CompilationUnit,
|
| - FormalParameterList, QualifiedIdentifier, Identifier, FunctionTypeInterface);
|
| - }
|
| -
|
| - @Override
|
| - public void testFunctionTypes() {
|
| - parseUnit("FunctionTypes.dart");
|
| - compareMarks(Identifier, TypeAnnotation, MethodName, CompilationUnit, ClassMember,
|
| - TopLevelElement, NativeBody, QualifiedIdentifier, FormalParameterList, ClassBody, Block,
|
| - VariableDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - public void testGenericTypes() {
|
| - parseUnit("GenericTypes.dart");
|
| - compareMarks(NativeBody, MethodName, ClassBody, ExpressionStatement, FormalParameterList,
|
| - Literal, ReturnStatement, Expression, TypeParameter,
|
| - PostfixExpression, TopLevelElement, ConditionalExpression, ThisExpression, ConstructorName,
|
| - NewExpression, QualifiedIdentifier, CompilationUnit, Block,
|
| - Identifier, VariableDeclaration, BinaryExpression, ClassMember, TypeAnnotation);
|
| - }
|
| -
|
| - @Override
|
| - public void testMethodSignatures() {
|
| - parseUnit("MethodSignatures.dart");
|
| - compareMarks(TopLevelElement, ClassMember, TypeAnnotation,
|
| - CompilationUnit, MethodName, QualifiedIdentifier, Identifier,
|
| - ClassBody, FormalParameterList);
|
| - }
|
| -
|
| - @Override
|
| - public void testNewWithPrefix() {
|
| - parseUnit("NewWithPrefix.dart");
|
| - compareMarks(VarDeclaration, ClassMember, ConstructorName,
|
| - ConditionalExpression, ConstExpression, Literal, NewExpression, Identifier, TypeAnnotation,
|
| - PostfixExpression, FormalParameterList, QualifiedIdentifier, TopLevelElement,
|
| - BinaryExpression, NativeBody, ClassBody, ExpressionStatement, MethodName, CompilationUnit,
|
| - VariableDeclaration, Block, Expression);
|
| - }
|
| -
|
| - @Override
|
| - public void testRedirectedConstructor() {
|
| - parseUnit("RedirectedConstructor.dart");
|
| - compareMarks(BinaryExpression, CompilationUnit, FormalParameterList, ConditionalExpression,
|
| - Expression, PostfixExpression, ClassBody, ThisExpression,
|
| - Initializer, TopLevelElement, NativeBody, Block, MethodName, SuperInitializer, Literal,
|
| - ClassMember, Identifier, QualifiedIdentifier, FieldInitializerOrRedirectedConstructor,
|
| - TypeAnnotation, VariableDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - public void testShifting() {
|
| - parseUnit("Shifting.dart");
|
| - compareMarks(Expression, ClassBody, TypeFunctionOrVarable, VariableDeclaration,
|
| - CompilationUnit, ConditionalExpression, Identifier, ClassMember,
|
| - Block, QualifiedIdentifier, NativeBody, OperatorName, TypeAnnotation, TypeArguments,
|
| - PostfixExpression, BinaryExpression, FormalParameterList, TopLevelElement, Literal,
|
| - ReturnStatement);
|
| - }
|
| -
|
| - @Override
|
| - public void testStringBuffer() {
|
| - parseUnit("StringBuffer.dart");
|
| - compareMarks(ClassBody, ConstructorName, TypeAnnotation,
|
| - TypeFunctionOrVarable, NativeBody, SelectorExpression, TopLevelElement, Block,
|
| - NewExpression, MethodName, Literal, Expression, CompilationUnit, Identifier,
|
| - ThrowStatement, PostfixExpression, BinaryExpression, ClassMember, VariableDeclaration,
|
| - ConditionalExpression, ExpressionStatement, ReturnStatement, IfStatement,
|
| - QualifiedIdentifier, FormalParameterList, FunctionLiteral);
|
| - }
|
| -
|
| - @Override
|
| - public void testStrings() {
|
| - parseUnit("Strings.dart");
|
| - compareMarks(Expression, MethodName, ExpressionStatement, Block, ConditionalExpression,
|
| - ClassBody, TopLevelElement, VariableDeclaration, CompilationUnit, ClassMember,
|
| - PostfixExpression, BinaryExpression, VarDeclaration, Identifier, Literal,
|
| - FormalParameterList, NativeBody);
|
| - }
|
| -
|
| - @Override
|
| - public void testStringsErrors() {
|
| - parseUnitErrors("StringsErrorsNegativeTest.dart",
|
| - "Unexpected token 'ILLEGAL'", 7, 13,
|
| - "Unexpected token 'ILLEGAL'", 9, 9,
|
| - "Unexpected token 'ILLEGAL'", 11, 9);
|
| - compareMarks(NativeBody, TopLevelElement, PostfixExpression, ClassMember, CompilationUnit,
|
| - VariableDeclaration, Identifier, BinaryExpression, ClassBody,
|
| - ConditionalExpression, Literal, Expression, MethodName, ExpressionStatement, Block,
|
| - FormalParameterList, VarDeclaration);
|
| - }
|
| -
|
| - @Override
|
| - public void testSuperCalls() {
|
| - parseUnit("SuperCalls.dart");
|
| - compareMarks(ExpressionStatement, ClassMember, SelectorExpression,
|
| - VariableDeclaration, BinaryExpression, Literal, Identifier, SuperExpression,
|
| - FormalParameterList, TopLevelElement, PostfixExpression, NativeBody, ClassBody, MethodName,
|
| - CompilationUnit, Expression, VarDeclaration, Block, ConditionalExpression);
|
| - }
|
| -
|
| - @Override
|
| - public void testTiming() {
|
| - // do nothing except stop broken superclass method from printing to console
|
| - }
|
| -
|
| - @Override
|
| - public void testTopLevel() {
|
| - parseUnit("TopLevel.dart");
|
| - compareMarks(ArrayLiteral, CompilationUnit, PostfixExpression, NativeBody, Literal, Identifier,
|
| - ClassMember, Block, MethodName, TopLevelElement, TypeAnnotation, Expression,
|
| - QualifiedIdentifier, ConditionalExpression, BinaryExpression, VariableDeclaration,
|
| - FormalParameterList);
|
| - }
|
| -
|
| - @Override
|
| - protected DartParser makeParser(Source src, String sourceCode, DartCompilerListener listener) {
|
| - recorder = new ParserEventRecorder(src, sourceCode, false, Sets.<String>newHashSet(), listener, null);
|
| - return recorder;
|
| - }
|
| -
|
| - private void compareMarks(Mark... expectedMarks) {
|
| - HashSet<Mark> recordedMarks = recorder.copyMarks();
|
| - for (Mark m : expectedMarks) {
|
| - assertNotNull("Missing mark: " + m.name(), recordedMarks.remove(m));
|
| - }
|
| - for (Mark m : recordedMarks) {
|
| - fail("Unexpected mark: " + m.name());
|
| - }
|
| - }
|
| -}
|
|
|