| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 library analyzer.test.src.summary.summary_common; | 5 library analyzer.test.src.summary.summary_common; |
| 6 | 6 |
| 7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
| 8 import 'package:analyzer/dart/ast/ast.dart'; | 8 import 'package:analyzer/dart/ast/ast.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/src/dart/scanner/reader.dart'; | 10 import 'package:analyzer/src/dart/scanner/reader.dart'; |
| (...skipping 3320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3331 } | 3331 } |
| 3332 | 3332 |
| 3333 test_constructor_initializing_formal_named_withDefault() { | 3333 test_constructor_initializing_formal_named_withDefault() { |
| 3334 UnlinkedExecutable executable = findExecutable('', | 3334 UnlinkedExecutable executable = findExecutable('', |
| 3335 executables: serializeClassText('class C { C({this.x: 42}); final x; }') | 3335 executables: serializeClassText('class C { C({this.x: 42}); final x; }') |
| 3336 .executables); | 3336 .executables); |
| 3337 UnlinkedParam parameter = executable.parameters[0]; | 3337 UnlinkedParam parameter = executable.parameters[0]; |
| 3338 expect(parameter.kind, UnlinkedParamKind.named); | 3338 expect(parameter.kind, UnlinkedParamKind.named); |
| 3339 expect(parameter.initializer, isNotNull); | 3339 expect(parameter.initializer, isNotNull); |
| 3340 expect(parameter.defaultValueCode, '42'); | 3340 expect(parameter.defaultValueCode, '42'); |
| 3341 _assertCodeRange(parameter.codeRange, 13, 10); |
| 3341 _assertUnlinkedConst(parameter.defaultValue, | 3342 _assertUnlinkedConst(parameter.defaultValue, |
| 3342 operators: [UnlinkedConstOperation.pushInt], ints: [42]); | 3343 operators: [UnlinkedConstOperation.pushInt], ints: [42]); |
| 3343 } | 3344 } |
| 3344 | 3345 |
| 3345 test_constructor_initializing_formal_non_function_typed() { | 3346 test_constructor_initializing_formal_non_function_typed() { |
| 3346 UnlinkedExecutable executable = findExecutable('', | 3347 UnlinkedExecutable executable = findExecutable('', |
| 3347 executables: | 3348 executables: |
| 3348 serializeClassText('class C { C(this.x); final x; }').executables); | 3349 serializeClassText('class C { C(this.x); final x; }').executables); |
| 3349 UnlinkedParam parameter = executable.parameters[0]; | 3350 UnlinkedParam parameter = executable.parameters[0]; |
| 3350 expect(parameter.isFunctionTyped, isFalse); | 3351 expect(parameter.isFunctionTyped, isFalse); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 3362 | 3363 |
| 3363 test_constructor_initializing_formal_positional_withDefault() { | 3364 test_constructor_initializing_formal_positional_withDefault() { |
| 3364 UnlinkedExecutable executable = findExecutable('', | 3365 UnlinkedExecutable executable = findExecutable('', |
| 3365 executables: | 3366 executables: |
| 3366 serializeClassText('class C { C([this.x = 42]); final x; }') | 3367 serializeClassText('class C { C([this.x = 42]); final x; }') |
| 3367 .executables); | 3368 .executables); |
| 3368 UnlinkedParam parameter = executable.parameters[0]; | 3369 UnlinkedParam parameter = executable.parameters[0]; |
| 3369 expect(parameter.kind, UnlinkedParamKind.positional); | 3370 expect(parameter.kind, UnlinkedParamKind.positional); |
| 3370 expect(parameter.initializer, isNotNull); | 3371 expect(parameter.initializer, isNotNull); |
| 3371 expect(parameter.defaultValueCode, '42'); | 3372 expect(parameter.defaultValueCode, '42'); |
| 3373 _assertCodeRange(parameter.codeRange, 13, 11); |
| 3372 _assertUnlinkedConst(parameter.defaultValue, | 3374 _assertUnlinkedConst(parameter.defaultValue, |
| 3373 operators: [UnlinkedConstOperation.pushInt], ints: [42]); | 3375 operators: [UnlinkedConstOperation.pushInt], ints: [42]); |
| 3374 } | 3376 } |
| 3375 | 3377 |
| 3376 test_constructor_initializing_formal_required() { | 3378 test_constructor_initializing_formal_required() { |
| 3377 UnlinkedExecutable executable = findExecutable('', | 3379 UnlinkedExecutable executable = findExecutable('', |
| 3378 executables: | 3380 executables: |
| 3379 serializeClassText('class C { C(this.x); final x; }').executables); | 3381 serializeClassText('class C { C(this.x); final x; }').executables); |
| 3380 UnlinkedParam parameter = executable.parameters[0]; | 3382 UnlinkedParam parameter = executable.parameters[0]; |
| 3381 expect(parameter.kind, UnlinkedParamKind.required); | 3383 expect(parameter.kind, UnlinkedParamKind.required); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 3406 } | 3408 } |
| 3407 | 3409 |
| 3408 test_constructor_named() { | 3410 test_constructor_named() { |
| 3409 String text = 'class C { C.foo(); }'; | 3411 String text = 'class C { C.foo(); }'; |
| 3410 UnlinkedExecutable executable = findExecutable('foo', | 3412 UnlinkedExecutable executable = findExecutable('foo', |
| 3411 executables: serializeClassText(text).executables); | 3413 executables: serializeClassText(text).executables); |
| 3412 expect(executable.name, 'foo'); | 3414 expect(executable.name, 'foo'); |
| 3413 expect(executable.nameOffset, text.indexOf('foo')); | 3415 expect(executable.nameOffset, text.indexOf('foo')); |
| 3414 expect(executable.periodOffset, text.indexOf('.foo')); | 3416 expect(executable.periodOffset, text.indexOf('.foo')); |
| 3415 expect(executable.nameEnd, text.indexOf('()')); | 3417 expect(executable.nameEnd, text.indexOf('()')); |
| 3418 _assertCodeRange(executable.codeRange, 10, 8); |
| 3416 } | 3419 } |
| 3417 | 3420 |
| 3418 test_constructor_non_const() { | 3421 test_constructor_non_const() { |
| 3419 UnlinkedExecutable executable = findExecutable('', | 3422 UnlinkedExecutable executable = findExecutable('', |
| 3420 executables: serializeClassText('class C { C(); }').executables); | 3423 executables: serializeClassText('class C { C(); }').executables); |
| 3421 expect(executable.isConst, isFalse); | 3424 expect(executable.isConst, isFalse); |
| 3422 } | 3425 } |
| 3423 | 3426 |
| 3424 test_constructor_non_factory() { | 3427 test_constructor_non_factory() { |
| 3425 UnlinkedExecutable executable = findExecutable('', | 3428 UnlinkedExecutable executable = findExecutable('', |
| (...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4514 expect(executable.isAbstract, false); | 4517 expect(executable.isAbstract, false); |
| 4515 expect(executable.isConst, false); | 4518 expect(executable.isConst, false); |
| 4516 expect(executable.isFactory, false); | 4519 expect(executable.isFactory, false); |
| 4517 expect(executable.isStatic, false); | 4520 expect(executable.isStatic, false); |
| 4518 expect(executable.parameters, hasLength(1)); | 4521 expect(executable.parameters, hasLength(1)); |
| 4519 checkTypeRef(executable.returnType, null, null, 'C'); | 4522 checkTypeRef(executable.returnType, null, null, 'C'); |
| 4520 expect(executable.typeParameters, isEmpty); | 4523 expect(executable.typeParameters, isEmpty); |
| 4521 expect(executable.isExternal, false); | 4524 expect(executable.isExternal, false); |
| 4522 } | 4525 } |
| 4523 | 4526 |
| 4527 test_executable_operator_abstract() { |
| 4528 UnlinkedExecutable executable = |
| 4529 serializeClassText('class C { C operator+(C c); }', allowErrors: true) |
| 4530 .executables[0]; |
| 4531 expect(executable.isAbstract, true); |
| 4532 expect(executable.isExternal, false); |
| 4533 } |
| 4534 |
| 4524 test_executable_operator_equal() { | 4535 test_executable_operator_equal() { |
| 4525 UnlinkedExecutable executable = serializeClassText( | 4536 UnlinkedExecutable executable = serializeClassText( |
| 4526 'class C { bool operator==(Object other) => false; }') | 4537 'class C { bool operator==(Object other) => false; }') |
| 4527 .executables[0]; | 4538 .executables[0]; |
| 4528 expect(executable.name, '=='); | 4539 expect(executable.name, '=='); |
| 4529 } | 4540 } |
| 4530 | 4541 |
| 4531 test_executable_operator_external() { | 4542 test_executable_operator_external() { |
| 4532 UnlinkedExecutable executable = | 4543 UnlinkedExecutable executable = |
| 4533 serializeClassText('class C { external C operator+(C c); }') | 4544 serializeClassText('class C { external C operator+(C c); }') |
| 4534 .executables[0]; | 4545 .executables[0]; |
| 4546 expect(executable.isAbstract, false); |
| 4535 expect(executable.isExternal, true); | 4547 expect(executable.isExternal, true); |
| 4536 } | 4548 } |
| 4537 | 4549 |
| 4538 test_executable_operator_greater_equal() { | 4550 test_executable_operator_greater_equal() { |
| 4539 UnlinkedExecutable executable = | 4551 UnlinkedExecutable executable = |
| 4540 serializeClassText('class C { bool operator>=(C other) => false; }') | 4552 serializeClassText('class C { bool operator>=(C other) => false; }') |
| 4541 .executables[0]; | 4553 .executables[0]; |
| 4542 expect(executable.name, '>='); | 4554 expect(executable.name, '>='); |
| 4543 } | 4555 } |
| 4544 | 4556 |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4670 expect(param.defaultValue, isNull); | 4682 expect(param.defaultValue, isNull); |
| 4671 expect(param.defaultValueCode, isEmpty); | 4683 expect(param.defaultValueCode, isEmpty); |
| 4672 } | 4684 } |
| 4673 | 4685 |
| 4674 test_executable_param_kind_named_withDefault() { | 4686 test_executable_param_kind_named_withDefault() { |
| 4675 UnlinkedExecutable executable = serializeExecutableText('f({x: 42}) {}'); | 4687 UnlinkedExecutable executable = serializeExecutableText('f({x: 42}) {}'); |
| 4676 UnlinkedParam param = executable.parameters[0]; | 4688 UnlinkedParam param = executable.parameters[0]; |
| 4677 expect(param.kind, UnlinkedParamKind.named); | 4689 expect(param.kind, UnlinkedParamKind.named); |
| 4678 expect(param.initializer, isNotNull); | 4690 expect(param.initializer, isNotNull); |
| 4679 expect(param.defaultValueCode, '42'); | 4691 expect(param.defaultValueCode, '42'); |
| 4692 _assertCodeRange(param.codeRange, 3, 5); |
| 4680 _assertUnlinkedConst(param.defaultValue, | 4693 _assertUnlinkedConst(param.defaultValue, |
| 4681 operators: [UnlinkedConstOperation.pushInt], ints: [42]); | 4694 operators: [UnlinkedConstOperation.pushInt], ints: [42]); |
| 4682 } | 4695 } |
| 4683 | 4696 |
| 4684 test_executable_param_kind_positional() { | 4697 test_executable_param_kind_positional() { |
| 4685 UnlinkedExecutable executable = serializeExecutableText('f([x]) {}'); | 4698 UnlinkedExecutable executable = serializeExecutableText('f([x]) {}'); |
| 4686 UnlinkedParam param = executable.parameters[0]; | 4699 UnlinkedParam param = executable.parameters[0]; |
| 4687 expect(param.kind, UnlinkedParamKind.positional); | 4700 expect(param.kind, UnlinkedParamKind.positional); |
| 4688 expect(param.initializer, isNull); | 4701 expect(param.initializer, isNull); |
| 4689 expect(param.defaultValue, isNull); | 4702 expect(param.defaultValue, isNull); |
| 4690 expect(param.defaultValueCode, isEmpty); | 4703 expect(param.defaultValueCode, isEmpty); |
| 4691 } | 4704 } |
| 4692 | 4705 |
| 4693 test_executable_param_kind_positional_withDefault() { | 4706 test_executable_param_kind_positional_withDefault() { |
| 4694 UnlinkedExecutable executable = serializeExecutableText('f([x = 42]) {}'); | 4707 UnlinkedExecutable executable = serializeExecutableText('f([x = 42]) {}'); |
| 4695 UnlinkedParam param = executable.parameters[0]; | 4708 UnlinkedParam param = executable.parameters[0]; |
| 4696 expect(param.kind, UnlinkedParamKind.positional); | 4709 expect(param.kind, UnlinkedParamKind.positional); |
| 4697 expect(param.initializer, isNotNull); | 4710 expect(param.initializer, isNotNull); |
| 4698 expect(param.defaultValueCode, '42'); | 4711 expect(param.defaultValueCode, '42'); |
| 4712 _assertCodeRange(param.codeRange, 3, 6); |
| 4699 _assertUnlinkedConst(param.defaultValue, | 4713 _assertUnlinkedConst(param.defaultValue, |
| 4700 operators: [UnlinkedConstOperation.pushInt], ints: [42]); | 4714 operators: [UnlinkedConstOperation.pushInt], ints: [42]); |
| 4701 } | 4715 } |
| 4702 | 4716 |
| 4703 test_executable_param_kind_required() { | 4717 test_executable_param_kind_required() { |
| 4704 UnlinkedExecutable executable = serializeExecutableText('f(x) {}'); | 4718 UnlinkedExecutable executable = serializeExecutableText('f(x) {}'); |
| 4705 UnlinkedParam param = executable.parameters[0]; | 4719 UnlinkedParam param = executable.parameters[0]; |
| 4706 expect(param.kind, UnlinkedParamKind.required); | 4720 expect(param.kind, UnlinkedParamKind.required); |
| 4707 expect(param.initializer, isNull); | 4721 expect(param.initializer, isNull); |
| 4708 expect(param.defaultValue, isNull); | 4722 expect(param.defaultValue, isNull); |
| (...skipping 2818 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7527 class _PrefixExpectation { | 7541 class _PrefixExpectation { |
| 7528 final ReferenceKind kind; | 7542 final ReferenceKind kind; |
| 7529 final String name; | 7543 final String name; |
| 7530 final String absoluteUri; | 7544 final String absoluteUri; |
| 7531 final String relativeUri; | 7545 final String relativeUri; |
| 7532 final int numTypeParameters; | 7546 final int numTypeParameters; |
| 7533 | 7547 |
| 7534 _PrefixExpectation(this.kind, this.name, | 7548 _PrefixExpectation(this.kind, this.name, |
| 7535 {this.absoluteUri, this.relativeUri, this.numTypeParameters: 0}); | 7549 {this.absoluteUri, this.relativeUri, this.numTypeParameters: 0}); |
| 7536 } | 7550 } |
| OLD | NEW |