Rename lemma to binder

Change-Id: I90e09158ef4bc6df13684d69543ea32a6cb05255
Reviewed-on: https://dart-review.googlesource.com/61960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
diff --git a/pkg/analyzer/lib/src/fasta/resolution_storer.dart b/pkg/analyzer/lib/src/fasta/resolution_storer.dart
index b8c37c6..08a565e 100644
--- a/pkg/analyzer/lib/src/fasta/resolution_storer.dart
+++ b/pkg/analyzer/lib/src/fasta/resolution_storer.dart
@@ -161,18 +161,19 @@
       Token rightParenthesis,
       void body,
       DartType guardType,
-      covariant VariableDeclarationLemma exceptionLemma,
+      covariant VariableDeclarationBinder exceptionBinder,
       DartType exceptionType,
-      covariant VariableDeclarationLemma stackTraceLemma,
+      covariant VariableDeclarationBinder stackTraceBinder,
       DartType stackTraceType) {
     _store(location, literalType: guardType);
 
-    if (exceptionLemma != null) {
-      _store(exceptionLemma.fileOffset as Location, literalType: exceptionType);
+    if (exceptionBinder != null) {
+      _store(exceptionBinder.fileOffset as Location,
+          literalType: exceptionType);
     }
 
-    if (stackTraceLemma != null) {
-      _store(stackTraceLemma.fileOffset as Location,
+    if (stackTraceBinder != null) {
+      _store(stackTraceBinder.fileOffset as Location,
           literalType: stackTraceType);
     }
   }
@@ -249,14 +250,14 @@
       void iterator,
       Token rightParenthesis,
       void body,
-      covariant VariableDeclarationLemma loopVariableLemma,
+      covariant VariableDeclarationBinder loopVariableBinder,
       DartType loopVariableType,
       Location writeLocation,
       DartType writeType,
       Declaration writeVariable,
       Reference writeTarget) {
-    if (loopVariableLemma != null) {
-      _store(loopVariableLemma.fileOffset as Location,
+    if (loopVariableBinder != null) {
+      _store(loopVariableBinder.fileOffset as Location,
           inferredType: loopVariableType);
     } else {
       if (writeVariable != null) {
@@ -286,13 +287,13 @@
       void body) {}
 
   void functionDeclaration(
-      covariant VariableDeclarationLemma lemma, FunctionType inferredType) {
-    _store(lemma.fileOffset as Location, inferredType: inferredType);
+      covariant VariableDeclarationBinder binder, FunctionType inferredType) {
+    _store(binder.fileOffset as Location, inferredType: inferredType);
   }
 
-  Object functionDeclarationLemma(
+  Object binderForFunctionDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {
-    return new VariableDeclarationLemma(fileOffset);
+    return new VariableDeclarationBinder(fileOffset);
   }
 
   void functionExpression(ExpressionJudgment judgment, Location location,
@@ -365,9 +366,9 @@
   }
 
   void namedFunctionExpression(ExpressionJudgment judgment,
-          covariant VariableDeclarationLemma lemma, DartType inferredType) =>
-      genericExpression("namedFunctionExpression", lemma.fileOffset as Location,
-          inferredType);
+          covariant VariableDeclarationBinder binder, DartType inferredType) =>
+      genericExpression("namedFunctionExpression",
+          binder.fileOffset as Location, inferredType);
 
   void not(ExpressionJudgment judgment, Location location, Token operator,
           void operand, DartType inferredType) =>
@@ -609,35 +610,35 @@
         inferredType: inferredType);
   }
 
-  void variableDeclaration(covariant VariableDeclarationLemma lemma,
+  void variableDeclaration(covariant VariableDeclarationBinder binder,
       DartType statementType, DartType inferredType) {
-    _store(lemma.fileOffset as Location,
+    _store(binder.fileOffset as Location,
         literalType: statementType, inferredType: inferredType);
   }
 
-  Object variableDeclarationLemma(
+  Object binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {
-    return new VariableDeclarationLemma(fileOffset);
+    return new VariableDeclarationBinder(fileOffset);
   }
 
   void variableGet(
       ExpressionJudgment judgment,
       Location location,
       bool isInCascade,
-      covariant VariableDeclarationLemma variableLemma,
+      covariant VariableDeclarationBinder variableBinder,
       DartType inferredType) {
     if (isInCascade) {
       return;
     }
     _store(location,
-        declaration: variableLemma.fileOffset as Declaration,
+        declaration: variableBinder.fileOffset as Declaration,
         inferredType: inferredType);
   }
 
   void variableSet(
           ExpressionJudgment judgment,
           Location location,
-          covariant VariableDeclarationLemma variableLemma,
+          covariant VariableDeclarationBinder variableBinder,
           DartType inferredType) =>
       genericExpression("variableSet", location, inferredType);
 
@@ -665,10 +666,10 @@
 }
 
 /// TODO(paulberry): eventually just use the element directly.
-class VariableDeclarationLemma {
+class VariableDeclarationBinder {
   final int fileOffset;
 
-  VariableDeclarationLemma(this.fileOffset);
+  VariableDeclarationBinder(this.fileOffset);
 }
 
 /// A [DartType] wrapper around invocation type arguments.
diff --git a/pkg/front_end/lib/src/fasta/kernel/factory.dart b/pkg/front_end/lib/src/fasta/kernel/factory.dart
index e6d85bb..887b329 100644
--- a/pkg/front_end/lib/src/fasta/kernel/factory.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/factory.dart
@@ -72,9 +72,9 @@
       Token rightParenthesis,
       Statement body,
       DartType guardType,
-      covariant Object exceptionLemma,
+      covariant Object exceptionBinder,
       DartType exceptionType,
-      covariant Object stackTraceLemma,
+      covariant Object stackTraceBinder,
       DartType stackTraceType);
 
   Expression conditionalExpression(
@@ -138,7 +138,7 @@
       Expression iterator,
       Token rightParenthesis,
       Statement body,
-      covariant Object loopVariableLemma,
+      covariant Object loopVariableBinder,
       DartType loopVariableType,
       int writeOffset,
       DartType writeVariableType,
@@ -160,9 +160,9 @@
       Statement body);
 
   Statement functionDeclaration(
-      covariant Object lemma, FunctionType inferredType);
+      covariant Object binder, FunctionType inferredType);
 
-  Object functionDeclarationLemma(
+  Object binderForFunctionDeclaration(
       StatementJudgment judgment, int fileOffset, String name);
 
   Expression functionExpression(
@@ -268,7 +268,7 @@
       DartType inferredType);
 
   Expression namedFunctionExpression(ExpressionJudgment judgment,
-      covariant Object lemma, DartType inferredType);
+      covariant Object binder, DartType inferredType);
 
   Expression not(ExpressionJudgment judgment, int fileOffset, Token operator,
       Expression operand, DartType inferredType);
@@ -390,16 +390,16 @@
       DartType inferredType);
 
   Statement variableDeclaration(
-      covariant Object lemma, DartType statementType, DartType inferredType);
+      covariant Object binder, DartType statementType, DartType inferredType);
 
-  Object variableDeclarationLemma(
+  Object binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name);
 
   Expression variableGet(ExpressionJudgment judgment, int fileOffset,
-      bool isInCascade, covariant Object variableLemma, DartType inferredType);
+      bool isInCascade, covariant Object variableBinder, DartType inferredType);
 
   Expression variableSet(ExpressionJudgment judgment, int fileOffset,
-      covariant Object variableLemma, DartType inferredType);
+      covariant Object variableBinder, DartType inferredType);
 
   Statement whileStatement(
       StatementJudgment judgment,
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_factory.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_factory.dart
index 19bbedd..3377baf 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_factory.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_factory.dart
@@ -108,9 +108,9 @@
       Token rightParenthesis,
       Statement body,
       DartType guardType,
-      covariant VariableDeclaration exceptionLemma,
+      covariant VariableDeclaration exceptionBinder,
       DartType exceptionType,
-      covariant VariableDeclaration stackTraceLemma,
+      covariant VariableDeclaration stackTraceBinder,
       DartType stackTraceType) {
     return judgment;
   }
@@ -204,7 +204,7 @@
       Expression iterator,
       Token rightParenthesis,
       Statement body,
-      covariant Object loopVariableLemma,
+      covariant Object loopVariableBinder,
       DartType loopVariableType,
       int writeOffset,
       DartType writeVariableType,
@@ -232,12 +232,12 @@
 
   @override
   Statement functionDeclaration(
-      covariant VariableDeclaration lemma, FunctionType inferredType) {
-    return lemma;
+      covariant VariableDeclaration binder, FunctionType inferredType) {
+    return binder;
   }
 
   @override
-  Object functionDeclarationLemma(
+  Object binderForFunctionDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {
     return judgment;
   }
@@ -391,7 +391,7 @@
 
   @override
   Expression namedFunctionExpression(ExpressionJudgment judgment,
-      covariant VariableDeclaration lemma, DartType inferredType) {
+      covariant VariableDeclaration binder, DartType inferredType) {
     return judgment;
   }
 
@@ -590,13 +590,13 @@
   }
 
   @override
-  Statement variableDeclaration(covariant VariableDeclaration lemma,
+  Statement variableDeclaration(covariant VariableDeclaration binder,
       DartType statementType, DartType inferredType) {
-    return lemma;
+    return binder;
   }
 
   @override
-  Object variableDeclarationLemma(
+  Object binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {
     return judgment;
   }
@@ -606,14 +606,14 @@
       ExpressionJudgment judgment,
       int fileOffset,
       bool isInCascade,
-      covariant VariableDeclaration variableLemma,
+      covariant VariableDeclaration variableBinder,
       DartType inferredType) {
     return judgment;
   }
 
   @override
   Expression variableSet(ExpressionJudgment judgment, int fileOffset,
-      covariant VariableDeclaration variableLemma, DartType inferredType) {
+      covariant VariableDeclaration variableBinder, DartType inferredType) {
     return judgment;
   }
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index bf2f7ee..5fab7dd 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -1199,7 +1199,7 @@
           iterable,
           null,
           body,
-          variable?.createLemma(inferrer),
+          variable?.createBinder(inferrer),
           variable?.type,
           syntheticWrite.fileOffset,
           syntheticWrite.variable.type,
@@ -1218,7 +1218,7 @@
           iterable,
           null,
           body,
-          variable?.createLemma(inferrer),
+          variable?.createBinder(inferrer),
           variable?.type,
           syntheticWrite.fileOffset,
           syntheticWrite.interfaceTarget?.setterType,
@@ -1237,7 +1237,7 @@
           iterable,
           null,
           body,
-          variable?.createLemma(inferrer),
+          variable?.createBinder(inferrer),
           variable?.type,
           syntheticWrite.fileOffset,
           syntheticWrite.target.setterType,
@@ -1257,7 +1257,7 @@
           null,
           null,
           null,
-          variable?.createLemma(inferrer),
+          variable?.createBinder(inferrer),
           variable?.type,
           null,
           null,
@@ -1354,7 +1354,7 @@
         inferrer, factory, _hasImplicitReturnType, fileOffset);
     var inferredType = variable.type = function.functionType;
     inferrer.listener.functionDeclaration(
-        variableJudgment.createLemma(inferrer), inferredType);
+        variableJudgment.createBinder(inferrer), inferredType);
   }
 
   static void setHasImplicitReturnType(
@@ -2700,9 +2700,9 @@
         null,
         null,
         guard,
-        exceptionJudgment?.createLemma(inferrer),
+        exceptionJudgment?.createBinder(inferrer),
         exceptionJudgment?.type,
-        stackTraceJudgment?.createLemma(inferrer),
+        stackTraceJudgment?.createBinder(inferrer),
         stackTraceJudgment?.type);
   }
 }
@@ -3041,7 +3041,7 @@
 
   final bool _isLocalFunction;
 
-  Object lemma;
+  Object binder;
 
   VariableDeclarationJudgment(String name, this._functionNestingLevel,
       {Expression initializer,
@@ -3128,12 +3128,15 @@
       }
     }
     inferrer.listener.variableDeclaration(
-        createLemma(inferrer), type, _implicitlyTyped ? inferredType : type);
+        createBinder(inferrer), type, _implicitlyTyped ? inferredType : type);
   }
 
-  Object createLemma(ShadowTypeInferrer inferrer) => lemma ??= _isLocalFunction
-      ? inferrer.listener.functionDeclarationLemma(this, fileOffset, name)
-      : inferrer.listener.variableDeclarationLemma(this, fileOffset, name);
+  Object createBinder(ShadowTypeInferrer inferrer) =>
+      binder ??= _isLocalFunction
+          ? inferrer.listener
+              .binderForFunctionDeclaration(this, fileOffset, name)
+          : inferrer.listener
+              .binderForVariableDeclaration(this, fileOffset, name);
 
   /// Determine whether the given [VariableDeclarationJudgment] had an implicit
   /// type.
@@ -3198,7 +3201,7 @@
     }
     inferredType = type;
     inferrer.listener.variableGet(this, fileOffset, _isInCascade(),
-        variable.createLemma(inferrer), inferredType);
+        variable.createBinder(inferrer), inferredType);
     return inferredType;
   }
 }
diff --git a/pkg/front_end/lib/src/fasta/kernel/toplevel_inference_factory.dart b/pkg/front_end/lib/src/fasta/kernel/toplevel_inference_factory.dart
index 107e1fc..6f885d1 100644
--- a/pkg/front_end/lib/src/fasta/kernel/toplevel_inference_factory.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/toplevel_inference_factory.dart
@@ -85,9 +85,9 @@
       Token rightParenthesis,
       void body,
       DartType guardType,
-      covariant void exceptionLemma,
+      covariant void exceptionBinder,
       DartType exceptionType,
-      covariant void stackTraceLemma,
+      covariant void stackTraceBinder,
       DartType stackTraceType) {
     return judgment;
   }
@@ -163,7 +163,7 @@
       void iterator,
       Token rightParenthesis,
       void body,
-      covariant void loopVariableLemma,
+      covariant void loopVariableBinder,
       DartType loopVariableType,
       int writeOffset,
       DartType writeVariableType,
@@ -186,10 +186,10 @@
       void body) {}
 
   @override
-  void functionDeclaration(covariant void lemma, FunctionType inferredType) {}
+  void functionDeclaration(covariant void binder, FunctionType inferredType) {}
 
   @override
-  void functionDeclarationLemma(
+  void binderForFunctionDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {}
 
   @override
@@ -306,7 +306,7 @@
 
   @override
   void namedFunctionExpression(ExpressionJudgment judgment,
-      covariant void lemma, DartType inferredType) {}
+      covariant void binder, DartType inferredType) {}
 
   @override
   void not(ExpressionJudgment judgment, int fileOffset, Token operator,
@@ -452,18 +452,18 @@
 
   @override
   void variableDeclaration(
-      covariant void lemma, DartType statementType, DartType inferredType) {}
+      covariant void binder, DartType statementType, DartType inferredType) {}
 
-  void variableDeclarationLemma(
+  void binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {}
 
   @override
   void variableGet(ExpressionJudgment judgment, int fileOffset,
-      bool isInCascade, covariant void variableLemma, DartType inferredType) {}
+      bool isInCascade, covariant void variableBinder, DartType inferredType) {}
 
   @override
   void variableSet(ExpressionJudgment judgment, int fileOffset,
-      covariant void variableLemma, DartType inferredType) {}
+      covariant void variableBinder, DartType inferredType) {}
 
   @override
   void whileStatement(
diff --git a/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart b/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
index 0c8361f..3871939 100644
--- a/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
+++ b/pkg/front_end/lib/src/fasta/type_inference/type_inference_listener.dart
@@ -82,9 +82,9 @@
       Token rightParenthesis,
       void body,
       DartType guardType,
-      covariant Object exceptionLemma,
+      covariant Object exceptionBinder,
       DartType exceptionType,
-      covariant Object stackTraceLemma,
+      covariant Object stackTraceBinder,
       DartType stackTraceType);
 
   void conditionalExpression(
@@ -148,7 +148,7 @@
       void iterator,
       Token rightParenthesis,
       void body,
-      covariant Object loopVariableLemma,
+      covariant Object loopVariableBinder,
       DartType loopVariableType,
       Location writeLocation,
       DartType writeVariableType,
@@ -169,9 +169,9 @@
       Token rightParenthesis,
       void body);
 
-  void functionDeclaration(covariant Object lemma, FunctionType inferredType);
+  void functionDeclaration(covariant Object binder, FunctionType inferredType);
 
-  Object functionDeclarationLemma(
+  Object binderForFunctionDeclaration(
       StatementJudgment judgment, Location location, String name);
 
   void functionExpression(
@@ -272,7 +272,7 @@
       DartType inferredType);
 
   void namedFunctionExpression(ExpressionJudgment judgment,
-      covariant Object lemma, DartType inferredType);
+      covariant Object binder, DartType inferredType);
 
   void not(ExpressionJudgment judgment, Location location, Token operator,
       void operand, DartType inferredType);
@@ -394,16 +394,16 @@
       DartType inferredType);
 
   void variableDeclaration(
-      covariant Object lemma, DartType statementType, DartType inferredType);
+      covariant Object binder, DartType statementType, DartType inferredType);
 
-  Object variableDeclarationLemma(
+  Object binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name);
 
   void variableGet(ExpressionJudgment judgment, Location location,
-      bool isInCascade, covariant Object variableLemma, DartType inferredType);
+      bool isInCascade, covariant Object variableBinder, DartType inferredType);
 
   void variableSet(ExpressionJudgment judgment, Location location,
-      covariant Object variableLemma, DartType inferredType);
+      covariant Object variableBinder, DartType inferredType);
 
   void whileStatement(
       StatementJudgment judgment,
@@ -489,9 +489,9 @@
       Token rightParenthesis,
       void body,
       DartType guardType,
-      covariant void exceptionLemma,
+      covariant void exceptionBinder,
       DartType exceptionType,
-      covariant void stackTraceLemma,
+      covariant void stackTraceBinder,
       DartType stackTraceType) {}
 
   @override
@@ -565,7 +565,7 @@
       void iterator,
       Token rightParenthesis,
       void body,
-      covariant void loopVariableLemma,
+      covariant void loopVariableBinder,
       DartType loopVariableType,
       writeLocation,
       DartType writeVariableType,
@@ -588,10 +588,10 @@
       void body) {}
 
   @override
-  void functionDeclaration(covariant void lemma, FunctionType inferredType) {}
+  void functionDeclaration(covariant void binder, FunctionType inferredType) {}
 
   @override
-  void functionDeclarationLemma(
+  void binderForFunctionDeclaration(
       StatementJudgment judgment, location, String name) {}
 
   @override
@@ -707,7 +707,7 @@
 
   @override
   void namedFunctionExpression(ExpressionJudgment judgment,
-      covariant void lemma, DartType inferredType) {}
+      covariant void binder, DartType inferredType) {}
 
   @override
   void not(ExpressionJudgment judgment, location, Token operator, void operand,
@@ -833,10 +833,10 @@
 
   @override
   void variableDeclaration(
-      covariant void lemma, DartType statementType, DartType inferredType) {}
+      covariant void binder, DartType statementType, DartType inferredType) {}
 
   @override
-  void variableDeclarationLemma(
+  void binderForVariableDeclaration(
       StatementJudgment judgment, int fileOffset, String name) {}
 
   @override
@@ -845,7 +845,7 @@
 
   @override
   void variableSet(ExpressionJudgment judgment, location,
-      covariant void variableLemma, DartType inferredType) {}
+      covariant void variableBinder, DartType inferredType) {}
 
   @override
   void whileStatement(