Closed nshahan closed 7 years ago
If an annotation is missing arguments the failure does not point to any file or line number to help pinpoint the issue. This is hard to debug.
Here is an example of the failure stack trace when an @NgOneWay with no arguments:
Build error: Transform _Serial on xxxxxx/main.dart threw error: The null object does not have a getter 'arguments'. NoSuchMethodError: method not found: 'arguments' Receiver: null Arguments: [] dart:core-patch/object_patch.dart 42 Object._noSuchMethod dart:core-patch/object_patch.dart 45 Object.noSuchMethod package:angular/tools/source_metadata_extractor.dart 188:58 DirectiveMetadataCollectingAstVisitor._extractMappingsFromClass.<fn>.<fn> dart:collection/list.dart 63 Object&ListMixin.forEach package:angular/tools/source_metadata_extractor.dart 180:25 DirectiveMetadataCollectingAstVisitor._extractMappingsFromClass.<fn> dart:collection/list.dart 63 Object&ListMixin.forEach package:angular/tools/source_metadata_extractor.dart 176:19 DirectiveMetadataCollectingAstVisitor._extractMappingsFromClass package:angular/tools/source_metadata_extractor.dart 165:24 DirectiveMetadataCollectingAstVisitor._walkSuperclassChain package:angular/tools/source_metadata_extractor.dart 156:25 DirectiveMetadataCollectingAstVisitor.visitClassDeclaration.<fn> dart:collection/list.dart 63 Object&ListMixin.forEach package:angular/tools/source_metadata_extractor.dart 120:20 DirectiveMetadataCollectingAstVisitor.visitClassDeclaration package:analyzer/src/generated/ast.dart 4174:41 ClassDeclaration.accept package:analyzer/src/generated/ast.dart 12337:20 NodeList.accept package:analyzer/src/generated/ast.dart 4789:21 CompilationUnit.visitChildren package:analyzer/src/generated/ast.dart 14743:10 RecursiveAstVisitor.visitCompilationUnit package:analyzer/src/generated/ast.dart 4782:41 CompilationUnit.accept package:angular/tools/source_metadata_extractor.dart 207:8 DirectiveMetadataCollectingVisitor.call dart:core/iterable.dart 217 Iterable.forEach package:angular/tools/transformer/expression_generator.dart 154:10 _LibrarySourceCrawler.crawl package:angular/tools/source_metadata_extractor.dart 27:19 SourceMetadataExtractor.gatherDirectiveInfo package:angular/tools/transformer/expression_generator.dart 43:33 ExpressionGenerator.applyResolver package:code_transformers/src/resolvers.dart 111:31 Transformer&ResolverTransformer.applyToEntryPoints.<fn>.<fn> dart:async/future.dart 118 Future.Future.<fn> dart:async-patch/timer_patch.dart 16 Timer._createTimer.<fn> dart:isolate-patch/timer_impl.dart 385 _Timer._runTimers dart:isolate-patch/timer_impl.dart 414 _Timer._handleMessage dart:isolate-patch/isolate_patch.dart 148 _RawReceivePortImpl._handleMessage
If an annotation is missing arguments the failure does not point to any file or line number to help pinpoint the issue. This is hard to debug.
Here is an example of the failure stack trace when an @NgOneWay with no arguments: