| Index: compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
|
| diff --git a/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java b/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
|
| index 65709c496c09d3f88b5d746ebbfe984ad8f2d6f1..d183b9fbe710c1aa35937a36c843d38a0b850fe5 100644
|
| --- a/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
|
| +++ b/compiler/javatests/com/google/dart/compiler/parser/SyntaxTest.java
|
| @@ -10,6 +10,7 @@ import com.google.dart.compiler.DartSourceTest;
|
| import com.google.dart.compiler.ast.DartArrayLiteral;
|
| import com.google.dart.compiler.ast.DartBinaryExpression;
|
| import com.google.dart.compiler.ast.DartClass;
|
| +import com.google.dart.compiler.ast.DartComment;
|
| import com.google.dart.compiler.ast.DartExprStmt;
|
| import com.google.dart.compiler.ast.DartExpression;
|
| import com.google.dart.compiler.ast.DartField;
|
| @@ -183,9 +184,7 @@ public class SyntaxTest extends AbstractParserTest {
|
| String sourceCode = "= 123;";
|
| try {
|
| DartSourceTest dartSrc = new DartSourceTest(getName(), sourceCode, null);
|
| - DartScannerParserContext context =
|
| - new DartScannerParserContext(dartSrc, sourceCode, new DartCompilerListener.Empty());
|
| - DartParser parser = new DartParser(context);
|
| + DartParser parser = makeParser(dartSrc, sourceCode, new DartCompilerListener.Empty());
|
| parser.parseExpression();
|
| }
|
| catch(Exception e) {
|
| @@ -803,4 +802,93 @@ public class SyntaxTest extends AbstractParserTest {
|
| "}"),
|
| ParserErrorCode.REDIRECTING_CONSTRUCTOR_CANNOT_HAVE_A_BODY, 4, 18);
|
| }
|
| + public void test_metadata_deprecated() {
|
| + String code = makeCode(
|
| + "// filler filler filler filler filler filler filler filler filler filler",
|
| + "class A {",
|
| + " m0() {}",
|
| + " // @deprecated",
|
| + " m1() {}",
|
| + "}",
|
| + "");
|
| + DartUnit unit = parseUnit(getName() + ".dart", code);
|
| + // A
|
| + {
|
| + DartClass classA = (DartClass) unit.getTopLevelNodes().get(0);
|
| + // m0()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(0);
|
| + assertEquals("m0", method.getName().toSource());
|
| + assertEquals(false, method.getMetadata().isDeprecated());
|
| + }
|
| + // m1()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(1);
|
| + assertEquals("m1", method.getName().toSource());
|
| + assertEquals(true, method.getMetadata().isDeprecated());
|
| + }
|
| + }
|
| + }
|
| +
|
| + public void test_metadata_override() {
|
| + String code = makeCode(
|
| + "// filler filler filler filler filler filler filler filler filler filler",
|
| + "class A {",
|
| + " m0() {}",
|
| + " // @override",
|
| + " m1() {}",
|
| + " /** Leading DartDoc comment */",
|
| + " // @override",
|
| + " m2() {}",
|
| + " /**",
|
| + " * DartDoc comment",
|
| + " * @override",
|
| + " */",
|
| + " m3() {}",
|
| + "}",
|
| + "");
|
| + DartUnit unit = parseUnit(getName() + ".dart", code);
|
| + // A
|
| + {
|
| + DartClass classA = (DartClass) unit.getTopLevelNodes().get(0);
|
| + // m0()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(0);
|
| + assertEquals("m0", method.getName().toSource());
|
| + assertEquals(false, method.getMetadata().isOverride());
|
| + assertNull(method.getDartDoc());
|
| + }
|
| + // m1()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(1);
|
| + assertEquals("m1", method.getName().toSource());
|
| + assertEquals(true, method.getMetadata().isOverride());
|
| + assertNull(method.getDartDoc());
|
| + }
|
| + // m2()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(2);
|
| + assertEquals("m2", method.getName().toSource());
|
| + assertEquals(true, method.getMetadata().isOverride());
|
| + {
|
| + DartComment dartDoc = method.getDartDoc();
|
| + assertNotNull(dartDoc);
|
| + assertEquals("/** Leading DartDoc comment */", getNodeSource(code, dartDoc));
|
| + }
|
| + }
|
| + // m3()
|
| + {
|
| + DartMethodDefinition method = (DartMethodDefinition) classA.getMembers().get(3);
|
| + assertEquals("m3", method.getName().toSource());
|
| + assertEquals(true, method.getMetadata().isOverride());
|
| + {
|
| + DartComment dartDoc = method.getDartDoc();
|
| + assertNotNull(dartDoc);
|
| + String commentCode = getNodeSource(code, dartDoc);
|
| + assertTrue(commentCode.contains("DartDoc comment"));
|
| + assertTrue(commentCode.contains("@override"));
|
| + }
|
| + }
|
| + }
|
| + }
|
| }
|
|
|