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

Unified Diff: pkg/kernel/test/verify_test.dart

Issue 2849803002: Revert "Add typedef AST node boilerplate." (Closed)
Patch Set: Created 3 years, 8 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 | « pkg/kernel/test/typedef_unalias_test.dart ('k') | runtime/vm/kernel.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/kernel/test/verify_test.dart
diff --git a/pkg/kernel/test/verify_test.dart b/pkg/kernel/test/verify_test.dart
index 3d4c51d67af167ad0c5d9308550d97073c4cad30..610111cf3656f66499b676c0f4d8b926e2cf4c87 100644
--- a/pkg/kernel/test/verify_test.dart
+++ b/pkg/kernel/test/verify_test.dart
@@ -199,171 +199,6 @@ main() {
test.enclosingClass.addMember(constructor);
return new ConstructorInvocation(constructor, new Arguments.empty());
});
- positiveTest('Valid typedef Foo = `(C) => void`', (TestHarness test) {
- var typedef_ = new Typedef(
- 'Foo', new FunctionType([test.otherClass.rawType], const VoidType()));
- test.enclosingLibrary.addTypedef(typedef_);
- });
- positiveTest('Valid typedef Foo = C<dynamic>', (TestHarness test) {
- var typedef_ = new Typedef(
- 'Foo', new InterfaceType(test.otherClass, [const DynamicType()]));
- test.enclosingLibrary.addTypedef(typedef_);
- });
- positiveTest('Valid typedefs Foo = Bar, Bar = C', (TestHarness test) {
- var foo = new Typedef('Foo', null);
- var bar = new Typedef('Bar', null);
- foo.type = new TypedefType(bar);
- bar.type = test.otherClass.rawType;
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- positiveTest('Valid typedefs Foo = C<Bar>, Bar = C', (TestHarness test) {
- var foo = new Typedef('Foo', null);
- var bar = new Typedef('Bar', null);
- foo.type = new InterfaceType(test.otherClass, [new TypedefType(bar)]);
- bar.type = test.otherClass.rawType;
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- positiveTest('Valid typedef type in field', (TestHarness test) {
- var typedef_ = new Typedef(
- 'Foo', new FunctionType([test.otherClass.rawType], const VoidType()));
- var field = new Field(new Name('field'), type: new TypedefType(typedef_));
- test.enclosingLibrary.addTypedef(typedef_);
- test.enclosingLibrary.addMember(field);
- });
- negativeTest('Invalid typedef Foo = Foo', (TestHarness test) {
- var typedef_ = new Typedef('Foo', null);
- typedef_.type = new TypedefType(typedef_);
- test.enclosingLibrary.addTypedef(typedef_);
- });
- negativeTest('Invalid typedef Foo = `(Foo) => void`', (TestHarness test) {
- var typedef_ = new Typedef('Foo', null);
- typedef_.type =
- new FunctionType([new TypedefType(typedef_)], const VoidType());
- test.enclosingLibrary.addTypedef(typedef_);
- });
- negativeTest('Invalid typedef Foo = `() => Foo`', (TestHarness test) {
- var typedef_ = new Typedef('Foo', null);
- typedef_.type = new FunctionType([], new TypedefType(typedef_));
- test.enclosingLibrary.addTypedef(typedef_);
- });
- negativeTest('Invalid typedef Foo = C<Foo>', (TestHarness test) {
- var typedef_ = new Typedef('Foo', null);
- typedef_.type =
- new InterfaceType(test.otherClass, [new TypedefType(typedef_)]);
- test.enclosingLibrary.addTypedef(typedef_);
- });
- negativeTest('Invalid typedefs Foo = Bar, Bar = Foo', (TestHarness test) {
- var foo = new Typedef('Foo', null);
- var bar = new Typedef('Bar', null);
- foo.type = new TypedefType(bar);
- bar.type = new TypedefType(foo);
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- negativeTest('Invalid typedefs Foo = Bar, Bar = C<Foo>', (TestHarness test) {
- var foo = new Typedef('Foo', null);
- var bar = new Typedef('Bar', null);
- foo.type = new TypedefType(bar);
- bar.type = new InterfaceType(test.otherClass, [new TypedefType(foo)]);
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- negativeTest('Invalid typedefs Foo = C<Bar>, Bar = C<Foo>',
- (TestHarness test) {
- var foo = new Typedef('Foo', null);
- var bar = new Typedef('Bar', null);
- foo.type = new InterfaceType(test.otherClass, [new TypedefType(bar)]);
- bar.type = new InterfaceType(test.otherClass, [new TypedefType(foo)]);
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- positiveTest('Valid long typedefs C20 = C19 = ... = C1 = C0 = dynamic',
- (TestHarness test) {
- var typedef_ = new Typedef('C0', const DynamicType());
- test.enclosingLibrary.addTypedef(typedef_);
- for (int i = 1; i < 20; ++i) {
- typedef_ = new Typedef('C$i', new TypedefType(typedef_));
- test.enclosingLibrary.addTypedef(typedef_);
- }
- });
- negativeTest('Invalid long typedefs C20 = C19 = ... = C1 = C0 = C20',
- (TestHarness test) {
- var typedef_ = new Typedef('C0', null);
- test.enclosingLibrary.addTypedef(typedef_);
- var first = typedef_;
- for (int i = 1; i < 20; ++i) {
- typedef_ = new Typedef('C$i', new TypedefType(typedef_));
- test.enclosingLibrary.addTypedef(typedef_);
- }
- first.type = new TypedefType(typedef_);
- });
- positiveTest('Valid typedef Foo<T extends C> = C<T>', (TestHarness test) {
- var param = new TypeParameter('T', test.otherClass.rawType);
- var foo = new Typedef('Foo',
- new InterfaceType(test.otherClass, [new TypeParameterType(param)]),
- typeParameters: [param]);
- test.enclosingLibrary.addTypedef(foo);
- });
- positiveTest('Valid typedef Foo<T extends C<T>> = C<T>', (TestHarness test) {
- var param = new TypeParameter('T', test.otherClass.rawType);
- param.bound =
- new InterfaceType(test.otherClass, [new TypeParameterType(param)]);
- var foo = new Typedef('Foo',
- new InterfaceType(test.otherClass, [new TypeParameterType(param)]),
- typeParameters: [param]);
- test.enclosingLibrary.addTypedef(foo);
- });
- positiveTest('Valid typedef Foo<T> = dynamic, Bar<T extends Foo<T>> = C<T>',
- (TestHarness test) {
- var fooParam = test.makeTypeParameter('T');
- var foo =
- new Typedef('Foo', const DynamicType(), typeParameters: [fooParam]);
- var barParam = new TypeParameter('T', null);
- barParam.bound = new TypedefType(foo, [new TypeParameterType(barParam)]);
- var bar = new Typedef('Bar',
- new InterfaceType(test.otherClass, [new TypeParameterType(barParam)]),
- typeParameters: [barParam]);
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- negativeTest('Invalid typedefs Foo<T extends Bar<T>>, Bar<T extends Foo<T>>',
- (TestHarness test) {
- var fooParam = test.makeTypeParameter('T');
- var foo =
- new Typedef('Foo', const DynamicType(), typeParameters: [fooParam]);
- var barParam = new TypeParameter('T', null);
- barParam.bound = new TypedefType(foo, [new TypeParameterType(barParam)]);
- var bar = new Typedef('Bar',
- new InterfaceType(test.otherClass, [new TypeParameterType(barParam)]),
- typeParameters: [barParam]);
- fooParam.bound = new TypedefType(bar, [new TypeParameterType(fooParam)]);
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addTypedef(bar);
- });
- negativeTest('Invalid typedef Foo<T extends Foo<dynamic> = C<T>',
- (TestHarness test) {
- var param = new TypeParameter('T', null);
- var foo = new Typedef('Foo',
- new InterfaceType(test.otherClass, [new TypeParameterType(param)]),
- typeParameters: [param]);
- param.bound = new TypedefType(foo, [const DynamicType()]);
- test.enclosingLibrary.addTypedef(foo);
- });
- negativeTest('Typedef arity error', (TestHarness test) {
- var param = test.makeTypeParameter('T');
- var foo =
- new Typedef('Foo', test.otherClass.rawType, typeParameters: [param]);
- var field = new Field(new Name('field'), type: new TypedefType(foo, []));
- test.enclosingLibrary.addTypedef(foo);
- test.enclosingLibrary.addMember(field);
- });
- negativeTest('Dangling typedef reference', (TestHarness test) {
- var foo = new Typedef('Foo', test.otherClass.rawType, typeParameters: []);
- var field = new Field(new Name('field'), type: new TypedefType(foo, []));
- test.enclosingLibrary.addMember(field);
- });
}
checkHasError(Program program) {
« no previous file with comments | « pkg/kernel/test/typedef_unalias_test.dart ('k') | runtime/vm/kernel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698