Fix token used for large negative integers.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I4625f76bb071888392510c1c5c85f1314832ffa3
Reviewed-on: https://dart-review.googlesource.com/62480
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
diff --git a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
index c032088..e68b400 100644
--- a/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
+++ b/pkg/analyzer/test/generated/non_error_resolver_kernel_test.dart
@@ -202,13 +202,6 @@
 
   @override
   @failingTest
-  @potentialAnalyzerProblem
-  test_integerLiteralOutOfRange_negative_valid() async {
-    return super.test_integerLiteralOutOfRange_negative_valid();
-  }
-
-  @override
-  @failingTest
   @FastaProblem('https://github.com/dart-lang/sdk/issues/31641')
   test_invalidAnnotation_constantVariable_field() async {
     return super.test_invalidAnnotation_constantVariable_field();
diff --git a/pkg/analyzer/test/generated/non_error_resolver_test.dart b/pkg/analyzer/test/generated/non_error_resolver_test.dart
index 6a12526..dc9950a 100644
--- a/pkg/analyzer/test/generated/non_error_resolver_test.dart
+++ b/pkg/analyzer/test/generated/non_error_resolver_test.dart
@@ -2907,6 +2907,12 @@
     assertNoErrors(source);
   }
 
+  test_integerLiteralOutOfRange_negative_small() async {
+    Source source = addSource('int x = -42;');
+    await computeAnalysisResult(source);
+    assertErrors(source);
+  }
+
   test_integerLiteralOutOfRange_negative_valid() async {
     Source source = addSource('int x = -9223372036854775808;');
     await computeAnalysisResult(source);
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index c72cfab..7065b1b 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -2495,7 +2495,7 @@
         if (receiver is LargeIntAccessGenerator) {
           int value = int.tryParse("-" + receiver.token.lexeme);
           if (value != null) {
-            receiverValue = forest.literalInt(value, token);
+            receiverValue = forest.literalInt(value, receiver.token);
             if (errorOnUnexactWebIntLiterals) {
               checkWebIntLiteralsErrorIfUnexact(value, token);
             }