Open insinfo opened 11 months ago
It's strange because it's reporting the problem in this line 44 var index = kindObject.getField('index')!.toIntValue()!;
C:\Users\isaque.neves\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\analyzer-4.7.0\lib\src\dart\element\extensions.dart
If I edit this file by placing an if to check if kindObject.getField('index') != null the problem apparently disappears
/// Return the target kinds defined for this [ElementAnnotation].
Set<TargetKind> get targetKinds {
final element = this.element;
InterfaceElement? interfaceElement;
if (element is PropertyAccessorElement) {
if (element.isGetter) {
var type = element.returnType;
if (type is InterfaceType) {
interfaceElement = type.element2;
}
}
} else if (element is ConstructorElement) {
interfaceElement = element.enclosingElement3;
}
if (interfaceElement == null) {
return const <TargetKind>{};
}
for (var annotation in interfaceElement.metadata) {
if (annotation.isTarget) {
var value = annotation.computeConstantValue()!;
var kinds = <TargetKind>{};
for (var kindObject in value.getField('kinds')!.toSetValue()!) {
// We can't directly translate the index from the analyzed TargetKind
// constant to TargetKinds.values because the analyzer from the SDK
// may have been compiled with a different version of pkg:meta.
// add this if
if(kindObject.getField('index') != null){
var index = kindObject.getField('index')!.toIntValue()!;
var targetKindClass =
(kindObject.type as InterfaceType).element2 as EnumElementImpl;
// Instead, map constants to their TargetKind by comparing getter
// names.
var getter = targetKindClass.constants[index];
var name = 'TargetKind.${getter.name}';
var foundTargetKind = _targetKindsByName[name];
if (foundTargetKind != null) {
kinds.add(foundTargetKind);
}
}
}
return kinds;
}
}
return const <TargetKind>{};
}
Which ng* package(s) are the source of the bug?
ngdart
Which operating system(s) does this bug appear on?
Windows
Which browser(s) does this bug appear on?
Chrome 117.0.5938.132 64 bits
Is this a regression?
Yes
Description
I've been working on an AngularDart project of mine every day, and today I started getting this error "ngdart on web/main.dart: Null check operator used on a null value"
Please provide the steps to reproduce the bug
create a simple angular project and run webdev serve
https://github.com/insinfo/dart_bug_demo
Please provide the exception or error you saw
Please provide the dependency environment you discovered this bug in (run
dart pub deps -s compact
)Anything else?
No response