e2ce88dfcc
Prior to this change we only had fileOffset which points to the name. This CL adds a field - startFileOffset - that points to the start (e.g. 'static', 'factory', the return type or any presiding annotation (including '@')), as well as fixing `Function::GetSource` in the VM to fix a crash when using mirrors to ask for the source of a function or constructor. The field is added to procedures, constructors and classes. The latter changes the location of classes with annotations to be the position of the annotation. This is on-par with --no-preview-dart-2. The change in regards to procedures and constructors mean, that both the location and the source (from .location and .source on a MethodMirror) will change to include any annotations. This is a different behavior than --no-preview-dart-2. Closes #33271. Change-Id: I90f1232c5ec2d01e60e0bab070d44c37232b2730 Reviewed-on: https://dart-review.googlesource.com/60560 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Kevin Millikin <kmillikin@google.com>