Skip to content

Records on Type Args are ignored #777

@dickermoshe

Description

@dickermoshe

The inspector doesn't parse the type arguments in a record, so the Bar class is never tracked, leading to this exception

import 'package:mockito/annotations.dart';
import 'package:mockito/mockito.dart';

@GenerateNiceMocks([MockSpec<Foo>()])
import 'repromockito_test.mocks.dart';

class Bar {}

class BaseFoo<T> {
  BaseFoo(this.t);
  final T t;
}

class Foo extends BaseFoo<(Bar, Bar)> {
  Foo() : super((Bar(), Bar()));
}
Building package executable... 
Built build_runner:build_runner.
[INFO] Generating build script completed, took 187ms
[INFO] Precompiling build script... completed, took 2.3s
[INFO] Building new asset graph completed, took 450ms
[INFO] Checking for unexpected pre-existing outputs. completed, took 0ms
[INFO] Generating SDK summary completed, took 3.5s
[SEVERE] mockito:mockBuilder on test/repromockito_test.dart:

Bad state: Asset URI is missing for class Bar
package:mockito/src/builder.dart 2195:10                     _MockClassInfo._typeImport
package:mockito/src/builder.dart 2120:19                     _MockClassInfo._typeReference.<fn>
package:code_builder/src/specs/type_reference.g.dart 164:33  _$TypeReferenceBuilder.update
package:code_builder/src/specs/type_reference.g.dart 22:36   new _$TypeReference
package:mockito/src/builder.dart 2114:14                     _MockClassInfo._typeReference
package:mockito/src/builder.dart 2169:53                     _MockClassInfo._typeReference.<fn>
package:code_builder/src/specs/type_record.g.dart 127:33     _$RecordTypeBuilder.update
package:code_builder/src/specs/type_record.g.dart 18:33      new _$RecordType
package:mockito/src/builder.dart 2167:14                     _MockClassInfo._typeReference
package:mockito/src/builder.dart 1910:25                     _MockClassInfo._buildOverridingGetter
package:mockito/src/builder.dart 1224:36                     _MockClassInfo.fieldOverrides.<fn>
package:code_builder/src/specs/method.g.dart 323:33          _$MethodBuilder.update
package:code_builder/src/specs/method.g.dart 38:29           new _$Method
package:mockito/src/builder.dart 1224:15                     _MockClassInfo.fieldOverrides
dart:core                                                    List.addAll
package:built_collection/src/list/list_builder.dart 98:14    ListBuilder.addAll
package:mockito/src/builder.dart 1182:28                     _MockClassInfo._buildMockClass.<fn>.<fn>
package:mockito/src/builder.dart 2070:24                     _MockClassInfo._withTypeParameters
package:mockito/src/builder.dart 1135:7                      _MockClassInfo._buildMockClass.<fn>
package:code_builder/src/specs/class.g.dart 345:33           _$ClassBuilder.update
package:code_builder/src/specs/class.g.dart 40:28            new _$Class
package:mockito/src/builder.dart 1113:12                     _MockClassInfo._buildMockClass
package:mockito/src/builder.dart 1059:9                      new _MockLibraryInfo
package:mockito/src/builder.dart 94:29                       MockBuilder.build

[INFO] Running build completed, took 4.7s
[INFO] Caching finalized dependency graph completed, took 38ms
[SEVERE] Failed after 4.7s

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions