فهرست منبع

Implement rename `me` -> `self` (#2444)

Implements change proposed in #1382

Replaces #1624
josh11b 3 سال پیش
والد
کامیت
9c8fd6864e
100فایلهای تغییر یافته به همراه974 افزوده شده و 971 حذف شده
  1. 2 2
      common/fuzzing/carbon.proto
  2. 6 5
      common/fuzzing/proto_to_carbon.cpp
  3. 28 28
      docs/design/README.md
  4. 57 57
      docs/design/classes.md
  5. 2 2
      docs/design/expressions/README.md
  6. 6 6
      docs/design/expressions/arithmetic.md
  7. 1 1
      docs/design/expressions/as_expressions.md
  8. 6 6
      docs/design/expressions/bitwise.md
  9. 29 29
      docs/design/expressions/comparison_operators.md
  10. 1 1
      docs/design/expressions/implicit_conversions.md
  11. 22 22
      docs/design/expressions/member_access.md
  12. 2 2
      docs/design/generics/appendix-coherence.md
  13. 187 187
      docs/design/generics/details.md
  14. 18 18
      docs/design/generics/overview.md
  15. 3 3
      docs/design/generics/terminology.md
  16. 2 2
      docs/design/templates.md
  17. 13 13
      explorer/ast/declaration.cpp
  18. 11 11
      explorer/ast/declaration.h
  19. 1 1
      explorer/ast/expression.h
  20. 87 87
      explorer/data/prelude.carbon
  21. 20 18
      explorer/fuzzing/ast_to_proto.cpp
  22. 18 18
      explorer/fuzzing/fuzzer_corpus/00725179de0aa71c7343d00281a8b4e881755cd1
  23. 3 3
      explorer/fuzzing/fuzzer_corpus/0628004dd8a25e850a804fb21da38644e9734e1d
  24. 20 20
      explorer/fuzzing/fuzzer_corpus/0645e2adb589c5d5c2ea84e31b87db1ee74034ee
  25. 3 3
      explorer/fuzzing/fuzzer_corpus/0b574f5827b34d81e951ea5477244a2ec1d23b8c
  26. 4 4
      explorer/fuzzing/fuzzer_corpus/0d4c01e620d71b76277d1e1f20d4238766eb6932
  27. 3 3
      explorer/fuzzing/fuzzer_corpus/0d6963786d58523dfc5e68326f6efd08fd1b2ea4
  28. 3 3
      explorer/fuzzing/fuzzer_corpus/0e06d7c74d2b9659b8ce114a93e3a4fbc1d22a5b
  29. 7 7
      explorer/fuzzing/fuzzer_corpus/0e4dd54cbc641eb28c41d49f2e94d185a83bb36f
  30. 5 5
      explorer/fuzzing/fuzzer_corpus/117921e41437507de0b91e32012a76cdb9ba0c9a
  31. 3 3
      explorer/fuzzing/fuzzer_corpus/1791a58953862700da2eb1b1372b10d82366a250
  32. 5 5
      explorer/fuzzing/fuzzer_corpus/1a0ec7a6bc5b1202b3c7218ccf0b34374a79b601
  33. 5 5
      explorer/fuzzing/fuzzer_corpus/26db64985a757f7b85a8dec0687537da313e3ab9
  34. 8 8
      explorer/fuzzing/fuzzer_corpus/2707aba6bd4e18dee9a06c5b7a9d3888c95744aa
  35. 3 3
      explorer/fuzzing/fuzzer_corpus/2728279e53d9502d0660d640ba26c615dd8ebe13
  36. 9 9
      explorer/fuzzing/fuzzer_corpus/2ccfd82373462cdd54eb11ff6eb0c71d47bb07c5
  37. 3 3
      explorer/fuzzing/fuzzer_corpus/2d212c330ab39e4ad5cffeed456bae14a8385c09
  38. 8 8
      explorer/fuzzing/fuzzer_corpus/3131bb7cd777c8112ea2f2221f1b4624d55b191e
  39. 3 3
      explorer/fuzzing/fuzzer_corpus/3453c49a9e56c74c0a4f27ab89d926019282f8d4
  40. 12 12
      explorer/fuzzing/fuzzer_corpus/36a2d32d4f486e410ce1d93b17556a459902a8db
  41. 12 12
      explorer/fuzzing/fuzzer_corpus/37152a1f5e181bd2c1fd48c3548547efa925c5a4
  42. 12 12
      explorer/fuzzing/fuzzer_corpus/3e01369a9e8cf3f970c089945ec276bcbeede55c
  43. 4 4
      explorer/fuzzing/fuzzer_corpus/3f7bb85bd8057570d53cd4c3fe81bfd439acdd0a
  44. 3 3
      explorer/fuzzing/fuzzer_corpus/40db19330f5238fc82719e45fa0e8297974ed182
  45. 4 4
      explorer/fuzzing/fuzzer_corpus/47c1f4fc527c9a4a4c6cd4e313ac2e29555066cb
  46. 3 3
      explorer/fuzzing/fuzzer_corpus/48f9d3769404e19f8a70776360bade0822e2082c
  47. 5 5
      explorer/fuzzing/fuzzer_corpus/4d41ecad50244310db98271c3707cef0b04bc97b
  48. 4 4
      explorer/fuzzing/fuzzer_corpus/4fa346a44b96db2ad5cfe3c2ad505d893114843c
  49. 12 12
      explorer/fuzzing/fuzzer_corpus/5090b9a0b3c3ffbc56868aec59170a189673a98a
  50. 2 2
      explorer/fuzzing/fuzzer_corpus/5269bae96f6771c6ae4ba67e36b7f66fda42daea
  51. 3 3
      explorer/fuzzing/fuzzer_corpus/53ca8c76d3cb30196eeff9b8117a5bf5ecd5ffea
  52. 4 4
      explorer/fuzzing/fuzzer_corpus/548312593165d1b8bfa24117a94ab5dce977df4d
  53. 2 2
      explorer/fuzzing/fuzzer_corpus/563bee2ef50a868465e6161ebe820288f905cbb7
  54. 8 8
      explorer/fuzzing/fuzzer_corpus/5751f95809ae96f25cc7a80764bf204a5ab173e6
  55. 2 2
      explorer/fuzzing/fuzzer_corpus/57d2c890c2c3bf9d7e028a46d7ddce6deee5c2aa
  56. 9 9
      explorer/fuzzing/fuzzer_corpus/587f9e61674de6917f39a998a4f94e932fa3d028
  57. 4 4
      explorer/fuzzing/fuzzer_corpus/5880e23795708e905d50bc8e9e0d62ac9a5f42bc
  58. 3 3
      explorer/fuzzing/fuzzer_corpus/5bbfea7599c4d80c75ef4780a6ed6df8bce2da8f
  59. 4 4
      explorer/fuzzing/fuzzer_corpus/5bd05de92a0614fd1b2821395bedcc8eb548161d
  60. 20 20
      explorer/fuzzing/fuzzer_corpus/5c737d5839a3ca0db8b0f112dd693420a707b8e5
  61. 3 3
      explorer/fuzzing/fuzzer_corpus/5e059c72b3fbba74b9c3cb7a21be19d36467f6f9
  62. 3 3
      explorer/fuzzing/fuzzer_corpus/5face9a218209d4da098180061d730d861b81e89
  63. 2 2
      explorer/fuzzing/fuzzer_corpus/60cb95fa0986cc17e934a7014593f76fba70c461
  64. 3 3
      explorer/fuzzing/fuzzer_corpus/61082aaaa73d240be4b52a732f1631e158927cc7
  65. 3 3
      explorer/fuzzing/fuzzer_corpus/6516cff3041ce9f5f0ae1ec62ab391c1eb83dec6
  66. 2 2
      explorer/fuzzing/fuzzer_corpus/66ebec331ac305442c9fecdbc852080d09861c6e
  67. 3 3
      explorer/fuzzing/fuzzer_corpus/6715a67f217226aa888ed4b6768d8206279dd6e3
  68. 5 5
      explorer/fuzzing/fuzzer_corpus/6b0e214022e8279a0f00ac842fea663a7d7bc56e
  69. 12 12
      explorer/fuzzing/fuzzer_corpus/72dc9d2c26aed0b96a46e93c8e3003cfda8ade56
  70. 6 6
      explorer/fuzzing/fuzzer_corpus/7739c384b82e7dd2630d7c342173d00b40e4e77c
  71. 6 6
      explorer/fuzzing/fuzzer_corpus/795592079e82d349ba64cf6618596bc9abf88272
  72. 5 5
      explorer/fuzzing/fuzzer_corpus/7ce654c7dbc1242d117e03ee292315c464c0e50e
  73. 2 2
      explorer/fuzzing/fuzzer_corpus/7df6280ae4f28302e5e218fd59674f4df02fbf0a
  74. 3 3
      explorer/fuzzing/fuzzer_corpus/83b0b7edd81d74202ec5b6029ec10514cc76b05a
  75. 2 2
      explorer/fuzzing/fuzzer_corpus/83fe5e68f200c54bdbe2bef8b6368e81f3bf9544
  76. 8 8
      explorer/fuzzing/fuzzer_corpus/84f58bae012424a5461e9bd7c33efd8cac43a70f
  77. 3 3
      explorer/fuzzing/fuzzer_corpus/8cc3347e8e6ae3631e051b66067b6763f223f2a0
  78. 10 10
      explorer/fuzzing/fuzzer_corpus/91d28b3eb682e6191e35c9292d009c5ca616074a
  79. 4 4
      explorer/fuzzing/fuzzer_corpus/91e9c32f3c3bc1ea0693f919f098828ad7860e28
  80. 12 12
      explorer/fuzzing/fuzzer_corpus/94c9bbbf4dad5466e7b504f2268c73ea1c078da3
  81. 11 11
      explorer/fuzzing/fuzzer_corpus/95a9c60ab5e4c36a851c95daf9f4ab05d231616e
  82. 12 12
      explorer/fuzzing/fuzzer_corpus/96f08313767988395fc4ff5ee5004de1f859bcf3
  83. 2 2
      explorer/fuzzing/fuzzer_corpus/96fba84df7af5f15b9b893854390d1c5948f69b6
  84. 3 3
      explorer/fuzzing/fuzzer_corpus/9a4ba2e3d195dc6c6227fe1601d3e060a6e7f6aa
  85. 3 3
      explorer/fuzzing/fuzzer_corpus/9a788bace10906aa7b48858da3e4da9a0f25e82a
  86. 4 4
      explorer/fuzzing/fuzzer_corpus/9cba43f25b464b5858b7c390a2579220e467624a
  87. 5 5
      explorer/fuzzing/fuzzer_corpus/9d75ba5391f79aac733cc4129010928b3684c9c9
  88. 5 5
      explorer/fuzzing/fuzzer_corpus/9f30c25aa9b6303e94e12c457c2e126c95bbbf91
  89. 12 12
      explorer/fuzzing/fuzzer_corpus/a241138ba16f277e89d9e6e345073179328b043c
  90. 12 12
      explorer/fuzzing/fuzzer_corpus/a259463d1805998765e3da5a692fdce91fdfe003
  91. 12 12
      explorer/fuzzing/fuzzer_corpus/a758174457d5b22eb2a94c9cc72e4341dfa97ff0
  92. 3 3
      explorer/fuzzing/fuzzer_corpus/a7d494461ef98c3ec480cfbe332b94c53123a2ca
  93. 3 3
      explorer/fuzzing/fuzzer_corpus/aaa6ab93c6b3c8e212cd59f1d9fea90258723519
  94. 5 5
      explorer/fuzzing/fuzzer_corpus/af25c1403b2f590b2f02aca103b3d3aaf754c21f
  95. 5 5
      explorer/fuzzing/fuzzer_corpus/b6373f76cc92fb1fe208dc91648cf91401135f24
  96. 4 4
      explorer/fuzzing/fuzzer_corpus/be78316bb9ec1686ddfa3c5643d8f5b9d898ad7d
  97. 7 7
      explorer/fuzzing/fuzzer_corpus/bfef4e635dfb263c727586a8beb90b3e1e7d45bc
  98. 3 3
      explorer/fuzzing/fuzzer_corpus/c4f7cc23c6d83486f2901f99e48c65d815b3b919
  99. 4 4
      explorer/fuzzing/fuzzer_corpus/c7287f3ba5df5bacd5a9f2d922af57f635dfe245
  100. 13 13
      explorer/fuzzing/fuzzer_corpus/c9eaac22587d9772d74df77cdb8c648e0fc49363

+ 2 - 2
common/fuzzing/carbon.proto

@@ -340,14 +340,14 @@ message ReturnTerm {
 message FunctionDeclaration {
 message FunctionDeclaration {
   optional string name = 1;
   optional string name = 1;
   repeated GenericBinding deduced_parameters = 2;
   repeated GenericBinding deduced_parameters = 2;
-  optional Pattern me_pattern = 3;
+  optional Pattern self_pattern = 3;
   optional TuplePattern param_pattern = 4;
   optional TuplePattern param_pattern = 4;
   optional ReturnTerm return_term = 5;
   optional ReturnTerm return_term = 5;
   optional BlockStatement body = 6;
   optional BlockStatement body = 6;
 }
 }
 
 
 message DestructorDeclaration {
 message DestructorDeclaration {
-  optional Pattern me_pattern = 1;
+  optional Pattern self_pattern = 1;
   optional BlockStatement body = 2;
   optional BlockStatement body = 2;
 }
 }
 
 

+ 6 - 5
common/fuzzing/proto_to_carbon.cpp

@@ -686,10 +686,10 @@ static auto DeclarationToCarbon(const Fuzzing::Declaration& declaration,
       out << "destructor";
       out << "destructor";
       llvm::ListSeparator sep;
       llvm::ListSeparator sep;
       out << "[";
       out << "[";
-      if (function.has_me_pattern()) {
+      if (function.has_self_pattern()) {
         // This is a class method.
         // This is a class method.
         out << sep;
         out << sep;
-        PatternToCarbon(function.me_pattern(), out);
+        PatternToCarbon(function.self_pattern(), out);
       }
       }
       out << "]";
       out << "]";
 
 
@@ -707,17 +707,18 @@ static auto DeclarationToCarbon(const Fuzzing::Declaration& declaration,
       out << "fn ";
       out << "fn ";
       IdentifierToCarbon(function.name(), out);
       IdentifierToCarbon(function.name(), out);
 
 
-      if (!function.deduced_parameters().empty() || function.has_me_pattern()) {
+      if (!function.deduced_parameters().empty() ||
+          function.has_self_pattern()) {
         out << "[";
         out << "[";
         llvm::ListSeparator sep;
         llvm::ListSeparator sep;
         for (const Fuzzing::GenericBinding& p : function.deduced_parameters()) {
         for (const Fuzzing::GenericBinding& p : function.deduced_parameters()) {
           out << sep;
           out << sep;
           GenericBindingToCarbon(p, out);
           GenericBindingToCarbon(p, out);
         }
         }
-        if (function.has_me_pattern()) {
+        if (function.has_self_pattern()) {
           // This is a class method.
           // This is a class method.
           out << sep;
           out << sep;
-          PatternToCarbon(function.me_pattern(), out);
+          PatternToCarbon(function.self_pattern(), out);
         }
         }
         out << "]";
         out << "]";
       }
       }

+ 28 - 28
docs/design/README.md

@@ -1668,22 +1668,22 @@ Class type definitions can include methods:
 ```carbon
 ```carbon
 class Point {
 class Point {
   // Method defined inline
   // Method defined inline
-  fn Distance[me: Self](x2: i32, y2: i32) -> f32 {
-    var dx: i32 = x2 - me.x;
-    var dy: i32 = y2 - me.y;
+  fn Distance[self: Self](x2: i32, y2: i32) -> f32 {
+    var dx: i32 = x2 - self.x;
+    var dy: i32 = y2 - self.y;
     return Math.Sqrt(dx * dx + dy * dy);
     return Math.Sqrt(dx * dx + dy * dy);
   }
   }
   // Mutating method declaration
   // Mutating method declaration
-  fn Offset[addr me: Self*](dx: i32, dy: i32);
+  fn Offset[addr self: Self*](dx: i32, dy: i32);
 
 
   var x: i32;
   var x: i32;
   var y: i32;
   var y: i32;
 }
 }
 
 
 // Out-of-line definition of method declared inline
 // Out-of-line definition of method declared inline
-fn Point.Offset[addr me: Self*](dx: i32, dy: i32) {
-  me->x += dx;
-  me->y += dy;
+fn Point.Offset[addr self: Self*](dx: i32, dy: i32) {
+  self->x += dx;
+  self->y += dy;
 }
 }
 
 
 var origin: Point = {.x = 0, .y = 0};
 var origin: Point = {.x = 0, .y = 0};
@@ -1695,16 +1695,16 @@ Assert(origin.Distance(3, 4) == 0.0);
 This defines a `Point` class type with two integer data members `x` and `y` and
 This defines a `Point` class type with two integer data members `x` and `y` and
 two methods `Distance` and `Offset`:
 two methods `Distance` and `Offset`:
 
 
--   Methods are defined as class functions with a `me` parameter inside square
+-   Methods are defined as class functions with a `self` parameter inside square
     brackets `[`...`]` before the regular explicit parameter list in parens
     brackets `[`...`]` before the regular explicit parameter list in parens
     `(`...`)`.
     `(`...`)`.
 -   Methods are called using the member syntax, `origin.Distance(`...`)` and
 -   Methods are called using the member syntax, `origin.Distance(`...`)` and
     `origin.Offset(`...`)`.
     `origin.Offset(`...`)`.
 -   `Distance` computes and returns the distance to another point, without
 -   `Distance` computes and returns the distance to another point, without
-    modifying the `Point`. This is signified using `[me: Self]` in the method
+    modifying the `Point`. This is signified using `[self: Self]` in the method
     declaration.
     declaration.
 -   `origin.Offset(`...`)` does modify the value of `origin`. This is signified
 -   `origin.Offset(`...`)` does modify the value of `origin`. This is signified
-    using `[addr me: Self*]` in the method declaration. Since calling this
+    using `[addr self: Self*]` in the method declaration. Since calling this
     method requires taking the address of `origin`, it may only be called on
     method requires taking the address of `origin`, it may only be called on
     [non-`const`](#const) [l-values](#value-categories-and-value-phases).
     [non-`const`](#const) [l-values](#value-categories-and-value-phases).
 -   Methods may be declared lexically inline like `Distance`, or lexically out
 -   Methods may be declared lexically inline like `Distance`, or lexically out
@@ -1852,12 +1852,12 @@ names resolvable by the compiler, and don't act like forward declarations.
 
 
 A destructor for a class is custom code executed when the lifetime of a value of
 A destructor for a class is custom code executed when the lifetime of a value of
 that type ends. They are defined with the `destructor` keyword followed by
 that type ends. They are defined with the `destructor` keyword followed by
-either `[me: Self]` or `[addr me: Self*]` (as is done with [methods](#methods))
-and the block of code in the class definition, as in:
+either `[self: Self]` or `[addr self: Self*]` (as is done with
+[methods](#methods)) and the block of code in the class definition, as in:
 
 
 ```carbon
 ```carbon
 class MyClass {
 class MyClass {
-  destructor [me: Self] { ... }
+  destructor [self: Self] { ... }
 }
 }
 ```
 ```
 
 
@@ -1865,8 +1865,8 @@ or:
 
 
 ```carbon
 ```carbon
 class MyClass {
 class MyClass {
-  // Can modify `me` in the body.
-  destructor [addr me: Self*] { ... }
+  // Can modify `self` in the body.
+  destructor [addr self: Self*] { ... }
 }
 }
 ```
 ```
 
 
@@ -1903,7 +1903,7 @@ For every type `MyClass`, there is the type `const MyClass` such that:
 -   If member `x` of `MyClass` has type `T`, then member `x` of `const MyClass`
 -   If member `x` of `MyClass` has type `T`, then member `x` of `const MyClass`
     has type `const T`.
     has type `const T`.
 -   The API of a `const MyClass` is a subset of `MyClass`, excluding all methods
 -   The API of a `const MyClass` is a subset of `MyClass`, excluding all methods
-    taking `[addr me: Self*]`.
+    taking `[addr self: Self*]`.
 
 
 Note that `const` binds more tightly than postfix-`*` for forming a pointer
 Note that `const` binds more tightly than postfix-`*` for forming a pointer
 type, so `const MyClass*` is equal to `(const MyClass)*`.
 type, so `const MyClass*` is equal to `(const MyClass)*`.
@@ -2662,7 +2662,7 @@ capabilities that may be assumed of types that satisfy that constraint.
 interface Printable {
 interface Printable {
   // Inside an interface definition `Self` means
   // Inside an interface definition `Self` means
   // "the type implementing this interface".
   // "the type implementing this interface".
-  fn Print[me: Self]();
+  fn Print[self: Self]();
 }
 }
 ```
 ```
 
 
@@ -2685,8 +2685,8 @@ class Circle {
   var radius: f32;
   var radius: f32;
 
 
   impl as Printable {
   impl as Printable {
-    fn Print[me: Self]() {
-      Carbon.Print("Circle with radius: {0}", me.radius);
+    fn Print[self: Self]() {
+      Carbon.Print("Circle with radius: {0}", self.radius);
     }
     }
   }
   }
 }
 }
@@ -2779,9 +2779,9 @@ associated type to represent the type of elements stored in the stack.
 ```
 ```
 interface StackInterface {
 interface StackInterface {
   let ElementType:! Movable;
   let ElementType:! Movable;
-  fn Push[addr me: Self*](value: ElementType);
-  fn Pop[addr me: Self*]() -> ElementType;
-  fn IsEmpty[addr me: Self*]() -> bool;
+  fn Push[addr self: Self*](value: ElementType);
+  fn Pop[addr self: Self*]() -> ElementType;
+  fn IsEmpty[addr self: Self*]() -> bool;
 }
 }
 ```
 ```
 
 
@@ -2791,14 +2791,14 @@ values for the `ElementType` member of the interface using a `where` clause:
 ```carbon
 ```carbon
 class IntStack {
 class IntStack {
   impl as StackInterface where .ElementType = i32 {
   impl as StackInterface where .ElementType = i32 {
-    fn Push[addr me: Self*](value: i32);
+    fn Push[addr self: Self*](value: i32);
     // ...
     // ...
   }
   }
 }
 }
 
 
 class FruitStack {
 class FruitStack {
   impl as StackInterface where .ElementType = Fruit {
   impl as StackInterface where .ElementType = Fruit {
-    fn Push[addr me: Self*](value: Fruit);
+    fn Push[addr self: Self*](value: Fruit);
     // ...
     // ...
   }
   }
 }
 }
@@ -2826,8 +2826,8 @@ type `T`:
 
 
 ```carbon
 ```carbon
 class Stack(T:! Type) {
 class Stack(T:! Type) {
-  fn Push[addr me: Self*](value: T);
-  fn Pop[addr me: Self*]() -> T;
+  fn Push[addr self: Self*](value: T);
+  fn Pop[addr self: Self*]() -> T;
 
 
   var storage: Array(T);
   var storage: Array(T);
 }
 }
@@ -3032,7 +3032,7 @@ types in the `impl` declaration, as in:
 ```carbon
 ```carbon
 external impl like T as AddWith(like U) where .Result = V {
 external impl like T as AddWith(like U) where .Result = V {
   // `Self` is `T` here
   // `Self` is `T` here
-  fn Op[me: Self](other: U) -> V { ... }
+  fn Op[self: Self](other: U) -> V { ... }
 }
 }
 ```
 ```
 
 
@@ -3041,7 +3041,7 @@ implementing the `Add` interface:
 
 
 ```carbon
 ```carbon
 external impl T as Add {
 external impl T as Add {
-  fn Op[me: Self](other: Self) -> Self { ... }
+  fn Op[self: Self](other: Self) -> Self { ... }
 }
 }
 ```
 ```
 
 

+ 57 - 57
docs/design/classes.md

@@ -869,25 +869,25 @@ var p2: Point = p1.CreateCentered();
 
 
 [Method](<https://en.wikipedia.org/wiki/Method_(computer_programming)>)
 [Method](<https://en.wikipedia.org/wiki/Method_(computer_programming)>)
 declarations are distinguished from [class function](#class-functions)
 declarations are distinguished from [class function](#class-functions)
-declarations by having a `me` parameter in square brackets `[`...`]` before the
-explicit parameter list in parens `(`...`)`. There is no implicit member access
-in methods, so inside the method body members are accessed through the `me`
-parameter. Methods may be written lexically inline or after the class
+declarations by having a `self` parameter in square brackets `[`...`]` before
+the explicit parameter list in parens `(`...`)`. There is no implicit member
+access in methods, so inside the method body members are accessed through the
+`self` parameter. Methods may be written lexically inline or after the class
 declaration.
 declaration.
 
 
 ```carbon
 ```carbon
 class Circle {
 class Circle {
-  fn Diameter[me: Self]() -> f32 {
-    return me.radius * 2;
+  fn Diameter[self: Self]() -> f32 {
+    return self.radius * 2;
   }
   }
-  fn Expand[addr me: Self*](distance: f32);
+  fn Expand[addr self: Self*](distance: f32);
 
 
   var center: Point;
   var center: Point;
   var radius: f32;
   var radius: f32;
 }
 }
 
 
-fn Circle.Expand[addr me: Self*](distance: f32) {
-  me->radius += distance;
+fn Circle.Expand[addr self: Self*](distance: f32) {
+  self->radius += distance;
 }
 }
 
 
 var c: Circle = {.center = Point.Origin(), .radius = 1.5 };
 var c: Circle = {.center = Point.Origin(), .radius = 1.5 };
@@ -899,10 +899,10 @@ Assert(Math.Abs(c.Diameter() - 4.0) < 0.001);
 -   Methods are called using the dot `.` member syntax, `c.Diameter()` and
 -   Methods are called using the dot `.` member syntax, `c.Diameter()` and
     `c.Expand(`...`)`.
     `c.Expand(`...`)`.
 -   `Diameter` computes and returns the diameter of the circle without modifying
 -   `Diameter` computes and returns the diameter of the circle without modifying
-    the `Circle` instance. This is signified using `[me: Self]` in the method
+    the `Circle` instance. This is signified using `[self: Self]` in the method
     declaration.
     declaration.
 -   `c.Expand(`...`)` does modify the value of `c`. This is signified using
 -   `c.Expand(`...`)` does modify the value of `c`. This is signified using
-    `[addr me: Self*]` in the method declaration.
+    `[addr self: Self*]` in the method declaration.
 
 
 The pattern '`addr` _patt_' means "first take the address of the argument, which
 The pattern '`addr` _patt_' means "first take the address of the argument, which
 must be an
 must be an
@@ -911,8 +911,8 @@ then match pattern _patt_ against it".
 
 
 If the method declaration also includes
 If the method declaration also includes
 [deduced generic parameters](/docs/design/generics/overview.md#deduced-parameters),
 [deduced generic parameters](/docs/design/generics/overview.md#deduced-parameters),
-the `me` parameter must be in the same list in square brackets `[`...`]`. The
-`me` parameter may appear in any position in that list, as long as it appears
+the `self` parameter must be in the same list in square brackets `[`...`]`. The
+`self` parameter may appear in any position in that list, as long as it appears
 after any names needed to describe its type.
 after any names needed to describe its type.
 
 
 #### Deferred member function definitions
 #### Deferred member function definitions
@@ -925,8 +925,8 @@ For example, given a class with inline function definitions:
 
 
 ```carbon
 ```carbon
 class Point {
 class Point {
-  fn Distance[me: Self]() -> f32 {
-    return Math.Sqrt(me.x * me.x + me.y * me.y);
+  fn Distance[self: Self]() -> f32 {
+    return Math.Sqrt(self.x * self.x + self.y * self.y);
   }
   }
 
 
   fn Create(x: f32, y: f32) -> Point {
   fn Create(x: f32, y: f32) -> Point {
@@ -942,15 +942,15 @@ These are all parsed as if they were defined outside the class scope:
 
 
 ```carbon
 ```carbon
 class Point {
 class Point {
-  fn Distance[me: Self]() -> f32;
+  fn Distance[self: Self]() -> f32;
   fn Create(x: f32, y: f32) -> Point;
   fn Create(x: f32, y: f32) -> Point;
 
 
   var x: f32;
   var x: f32;
   var y: f32;
   var y: f32;
 }
 }
 
 
-fn Point.Distance[me: Self]() -> f32 {
-  return Math.Sqrt(me.x * me.x + me.y * me.y);
+fn Point.Distance[self: Self]() -> f32 {
+  return Math.Sqrt(self.x * self.x + self.y * self.y);
 }
 }
 
 
 fn Point.Create(x: f32, y: f32) -> Point {
 fn Point.Create(x: f32, y: f32) -> Point {
@@ -971,27 +971,27 @@ For example:
 
 
 ```carbon
 ```carbon
 class Square {
 class Square {
-  fn GetArea[me: Self]() -> f32 {
-    // ✅ OK: performs name lookup on `me`.
-    return me.size * me.size;
+  fn GetArea[self: Self]() -> f32 {
+    // ✅ OK: performs name lookup on `self`.
+    return self.size * self.size;
     // ❌ Error: finds `Square.size`, but an instance is required.
     // ❌ Error: finds `Square.size`, but an instance is required.
     return size * size;
     return size * size;
     // ❌ Error: an instance is required.
     // ❌ Error: an instance is required.
     return Square.size * Square.size;
     return Square.size * Square.size;
-    // ✅ OK: performs instance binding with `me`.
-    return me.(Square.size) * me.(Square.size);
+    // ✅ OK: performs instance binding with `self`.
+    return self.(Square.size) * self.(Square.size);
     // ✅ OK: uses unqualified name lookup to find `Square.size`, then performs
     // ✅ OK: uses unqualified name lookup to find `Square.size`, then performs
-    // instance binding with `me`.
-    return me.(size) * me.(size);
+    // instance binding with `self`.
+    return self.(size) * self.(size);
   }
   }
 
 
-  fn GetDoubled[me: Self]() -> Square {
+  fn GetDoubled[self: Self]() -> Square {
     // ✅ OK: performs name lookup on `Square` for `Create`.
     // ✅ OK: performs name lookup on `Square` for `Create`.
-    return Square.Create(me.size);
+    return Square.Create(self.size);
     // ✅ OK: performs unqualified name lookup within class scope for `Create`.
     // ✅ OK: performs unqualified name lookup within class scope for `Create`.
-    return Create(me.size);
-    // ✅ OK: performs name lookup on `me` for `Create`.
-    return me.Create(me.size);
+    return Create(self.size);
+    // ✅ OK: performs name lookup on `self` for `Create`.
+    return self.Create(self.size);
   }
   }
 
 
   fn Create(size: f32) -> Square;
   fn Create(size: f32) -> Square;
@@ -1182,7 +1182,7 @@ declaration before `fn`.
 
 
 ```
 ```
 base class MyBaseClass {
 base class MyBaseClass {
-  virtual fn Overridable[me: Self]() -> i32 { return 7; }
+  virtual fn Overridable[self: Self]() -> i32 { return 7; }
 }
 }
 ```
 ```
 
 
@@ -1259,26 +1259,26 @@ class ExactlyExtensible extends ExtensibleBase { ... }
 Note that `Self` in a class definition means "the current type being defined"
 Note that `Self` in a class definition means "the current type being defined"
 not "the type implementing this method." To implement a method in a derived
 not "the type implementing this method." To implement a method in a derived
 class that uses `Self` in the declaration in the base class, only the type of
 class that uses `Self` in the declaration in the base class, only the type of
-`me` should change:
+`self` should change:
 
 
 ```
 ```
 base class B1 {
 base class B1 {
-  virtual fn F[me: Self](x: Self) -> Self;
+  virtual fn F[self: Self](x: Self) -> Self;
   // Means exactly the same thing as:
   // Means exactly the same thing as:
-  //   virtual fn F[me: B1](x: B1) -> B1;
+  //   virtual fn F[self: B1](x: B1) -> B1;
 }
 }
 
 
 class D1 extends B1 {
 class D1 extends B1 {
   // ❌ Illegal:
   // ❌ Illegal:
-  //   impl fn F[me: Self](x: Self) -> Self;
+  //   impl fn F[self: Self](x: Self) -> Self;
   // since that would mean the same thing as:
   // since that would mean the same thing as:
-  //   impl fn F[me: Self](x: D1) -> D1;
+  //   impl fn F[self: Self](x: D1) -> D1;
   // and `D1` is a different type than `B1`.
   // and `D1` is a different type than `B1`.
 
 
   // ✅ Allowed: Parameter and return types
   // ✅ Allowed: Parameter and return types
   //  of `F` match declaration in `B1`.
   //  of `F` match declaration in `B1`.
-  impl fn F[me: Self](x: B1) -> B1;
-  // Or: impl fn F[me: D1](x: B1) -> B1;
+  impl fn F[self: Self](x: B1) -> B1;
+  // Or: impl fn F[self: D1](x: B1) -> B1;
 }
 }
 ```
 ```
 
 
@@ -1288,16 +1288,16 @@ calling the derived implementation, as in:
 
 
 ```
 ```
 base class B2 {
 base class B2 {
-  virtual fn Clone[me: Self]() -> Self*;
+  virtual fn Clone[self: Self]() -> Self*;
   // Means exactly the same thing as:
   // Means exactly the same thing as:
-  //   virtual fn Clone[me: B2]() -> B2*;
+  //   virtual fn Clone[self: B2]() -> B2*;
 }
 }
 
 
 class D2 extends B2 {
 class D2 extends B2 {
   // ✅ Allowed
   // ✅ Allowed
-  impl fn Clone[me: Self]() -> Self*;
+  impl fn Clone[self: Self]() -> Self*;
   // Means the same thing as:
   // Means the same thing as:
-  //   impl fn Clone[me: D2]() -> D2*;
+  //   impl fn Clone[self: D2]() -> D2*;
   // which is allowed since `D2*` is a
   // which is allowed since `D2*` is a
   // subtype of `B2*`.
   // subtype of `B2*`.
 }
 }
@@ -1522,7 +1522,7 @@ the `destructor` keyword:
 
 
 ```carbon
 ```carbon
 class MyClass {
 class MyClass {
-  destructor [me: Self] { ... }
+  destructor [self: Self] { ... }
 }
 }
 ```
 ```
 
 
@@ -1530,13 +1530,13 @@ or:
 
 
 ```carbon
 ```carbon
 class MyClass {
 class MyClass {
-  // Can modify `me` in the body.
-  destructor [addr me: Self*] { ... }
+  // Can modify `self` in the body.
+  destructor [addr self: Self*] { ... }
 }
 }
 ```
 ```
 
 
 If a class has no `destructor` declaration, it gets the default destructor,
 If a class has no `destructor` declaration, it gets the default destructor,
-which is equivalent to `destructor [me: Self] { }`.
+which is equivalent to `destructor [self: Self] { }`.
 
 
 The destructor for a class is run before the destructors of its data members.
 The destructor for a class is run before the destructors of its data members.
 The data members are destroyed in reverse order of declaration. Derived classes
 The data members are destroyed in reverse order of declaration. Derived classes
@@ -1554,9 +1554,9 @@ Destructors may be declared in class scope and then defined out-of-line:
 
 
 ```carbon
 ```carbon
 class MyClass {
 class MyClass {
-  destructor [addr me: Self*];
+  destructor [addr self: Self*];
 }
 }
-destructor MyClass [addr me: Self*] { ... }
+destructor MyClass [addr self: Self*] { ... }
 ```
 ```
 
 
 It is illegal to delete an instance of a derived class through a pointer to one
 It is illegal to delete an instance of a derived class through a pointer to one
@@ -1568,11 +1568,11 @@ must be `impl`:
 
 
 ```carbon
 ```carbon
 base class MyBaseClass {
 base class MyBaseClass {
-  virtual destructor [addr me: Self*] { ... }
+  virtual destructor [addr self: Self*] { ... }
 }
 }
 
 
 class MyDerivedClass extends MyBaseClass {
 class MyDerivedClass extends MyBaseClass {
-  impl destructor [addr me: Self*] { ... }
+  impl destructor [addr self: Self*] { ... }
 }
 }
 ```
 ```
 
 
@@ -1622,8 +1622,8 @@ call the `UnsafeDelete` method instead. Note that you may not call
 ```
 ```
 interface Allocator {
 interface Allocator {
   // ...
   // ...
-  fn Delete[T:! Deletable, addr me: Self*](p: T*);
-  fn UnsafeDelete[T:! Destructible, addr me: Self*](p: T*);
+  fn Delete[T:! Deletable, addr self: Self*](p: T*);
+  fn UnsafeDelete[T:! Destructible, addr self: Self*](p: T*);
 }
 }
 ```
 ```
 
 
@@ -1670,7 +1670,7 @@ could potentially fail must be performed before the destructor is called.
 Unhandled failure during a destructor call will abort the program.
 Unhandled failure during a destructor call will abort the program.
 
 
 **Future work:** Allow or require destructors to be declared as taking
 **Future work:** Allow or require destructors to be declared as taking
-`[var me: Self]`.
+`[var self: Self]`.
 
 
 **Alternatives considered:**
 **Alternatives considered:**
 
 
@@ -1734,7 +1734,7 @@ As in C++, `private` means only accessible to members of the class and any
 
 
 ```carbon
 ```carbon
 class Point {
 class Point {
-  fn Distance[me: Self]() -> f32;
+  fn Distance[self: Self]() -> f32;
   // These are only accessible to members of `Point`.
   // These are only accessible to members of `Point`.
   private var x: f32;
   private var x: f32;
   private var y: f32;
   private var y: f32;
@@ -1772,15 +1772,15 @@ derived classes, and any [friends](#friends).
 ```
 ```
 base class MyBaseClass {
 base class MyBaseClass {
   protected fn HelperClassFunction(x: i32) -> i32;
   protected fn HelperClassFunction(x: i32) -> i32;
-  protected fn HelperMethod[me: Self](x: i32) -> i32;
+  protected fn HelperMethod[self: Self](x: i32) -> i32;
   protected var data: i32;
   protected var data: i32;
 }
 }
 
 
 class MyDerivedClass extends MyBaseClass {
 class MyDerivedClass extends MyBaseClass {
-  fn UsesProtected[addr me: Self*]() {
+  fn UsesProtected[addr self: Self*]() {
     // Can access protected members in derived class
     // Can access protected members in derived class
     var x: i32 = HelperClassFunction(3);
     var x: i32 = HelperClassFunction(3);
-    me->data = me->HelperMethod(x);
+    self->data = self->HelperMethod(x);
   }
   }
 }
 }
 ```
 ```

+ 2 - 2
docs/design/expressions/README.md

@@ -232,9 +232,9 @@ with parentheses around the member name:
 -   _expression_ `.` `(` _expression_ `)`
 -   _expression_ `.` `(` _expression_ `)`
 
 
 ```
 ```
-interface I { fn F[me: Self](); }
+interface I { fn F[self: Self](); }
 class X {}
 class X {}
-external impl X as I { fn F[me: Self]() {} }
+external impl X as I { fn F[self: Self]() {} }
 
 
 // `x.I.F()` would mean `(x.I).F()`.
 // `x.I.F()` would mean `(x.I).F()`.
 fn Q(x: X) { x.(I.F)(); }
 fn Q(x: X) { x.(I.F)(); }

+ 6 - 6
docs/design/expressions/arithmetic.md

@@ -194,7 +194,7 @@ following family of interfaces:
 // Unary `-`.
 // Unary `-`.
 interface Negate {
 interface Negate {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self]() -> Result;
+  fn Op[self: Self]() -> Result;
 }
 }
 ```
 ```
 
 
@@ -202,7 +202,7 @@ interface Negate {
 // Binary `+`.
 // Binary `+`.
 interface AddWith(U:! Type) {
 interface AddWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Add {
 constraint Add {
   extends AddWith(Self) where .Result = Self;
   extends AddWith(Self) where .Result = Self;
@@ -213,7 +213,7 @@ constraint Add {
 // Binary `-`.
 // Binary `-`.
 interface SubWith(U:! Type) {
 interface SubWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Sub {
 constraint Sub {
   extends SubWith(Self) where .Result = Self;
   extends SubWith(Self) where .Result = Self;
@@ -224,7 +224,7 @@ constraint Sub {
 // Binary `*`.
 // Binary `*`.
 interface MulWith(U:! Type) {
 interface MulWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Mul {
 constraint Mul {
   extends MulWith(Self) where .Result = Self;
   extends MulWith(Self) where .Result = Self;
@@ -235,7 +235,7 @@ constraint Mul {
 // Binary `/`.
 // Binary `/`.
 interface DivWith(U:! Type) {
 interface DivWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Div {
 constraint Div {
   extends DivWith(Self) where .Result = Self;
   extends DivWith(Self) where .Result = Self;
@@ -246,7 +246,7 @@ constraint Div {
 // Binary `%`.
 // Binary `%`.
 interface ModWith(U:! Type) {
 interface ModWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Mod {
 constraint Mod {
   extends ModWith(Self) where .Result = Self;
   extends ModWith(Self) where .Result = Self;

+ 1 - 1
docs/design/expressions/as_expressions.md

@@ -165,7 +165,7 @@ Explicit casts can be defined for user-defined types such as
 
 
 ```
 ```
 interface As(Dest:! Type) {
 interface As(Dest:! Type) {
-  fn Convert[me: Self]() -> Dest;
+  fn Convert[self: Self]() -> Dest;
 }
 }
 ```
 ```
 
 

+ 6 - 6
docs/design/expressions/bitwise.md

@@ -198,7 +198,7 @@ implementing the following family of interfaces:
 // Unary `^`.
 // Unary `^`.
 interface BitComplement {
 interface BitComplement {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self]() -> Result;
+  fn Op[self: Self]() -> Result;
 }
 }
 ```
 ```
 
 
@@ -206,7 +206,7 @@ interface BitComplement {
 // Binary `&`.
 // Binary `&`.
 interface BitAndWith(U:! Type) {
 interface BitAndWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitAnd {
 constraint BitAnd {
   extends BitAndWith(Self) where .Result = Self;
   extends BitAndWith(Self) where .Result = Self;
@@ -217,7 +217,7 @@ constraint BitAnd {
 // Binary `|`.
 // Binary `|`.
 interface BitOrWith(U:! Type) {
 interface BitOrWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitOr {
 constraint BitOr {
   extends BitOrWith(Self) where .Result = Self;
   extends BitOrWith(Self) where .Result = Self;
@@ -228,7 +228,7 @@ constraint BitOr {
 // Binary `^`.
 // Binary `^`.
 interface BitXorWith(U:! Type) {
 interface BitXorWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitXor {
 constraint BitXor {
   extends BitXorWith(Self) where .Result = Self;
   extends BitXorWith(Self) where .Result = Self;
@@ -239,7 +239,7 @@ constraint BitXor {
 // Binary `<<`.
 // Binary `<<`.
 interface LeftShiftWith(U:! Type) {
 interface LeftShiftWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint LeftShift {
 constraint LeftShift {
   extends LeftShiftWith(Self) where .Result = Self;
   extends LeftShiftWith(Self) where .Result = Self;
@@ -250,7 +250,7 @@ constraint LeftShift {
 // Binary `>>`.
 // Binary `>>`.
 interface RightShiftWith(U:! Type) {
 interface RightShiftWith(U:! Type) {
   let Result:! Type = Self;
   let Result:! Type = Self;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint RightShift {
 constraint RightShift {
   extends RightShiftWith(Self) where .Result = Self;
   extends RightShiftWith(Self) where .Result = Self;

+ 29 - 29
docs/design/expressions/comparison_operators.md

@@ -254,9 +254,9 @@ operators for a given pair of types:
 
 
 ```
 ```
 interface EqWith(U:! Type) {
 interface EqWith(U:! Type) {
-  fn Equal[me: Self](u: U) -> bool;
-  default fn NotEqual[me: Self](u: U) -> bool {
-    return not (me == u);
+  fn Equal[self: Self](u: U) -> bool;
+  default fn NotEqual[self: Self](u: U) -> bool {
+    return not (self == u);
   }
   }
 }
 }
 constraint Eq {
 constraint Eq {
@@ -273,11 +273,11 @@ Given `x: T` and `y: U`:
 class Path {
 class Path {
   private var drive: String;
   private var drive: String;
   private var path: String;
   private var path: String;
-  private fn CanonicalPath[me: Self]() -> String;
+  private fn CanonicalPath[self: Self]() -> String;
 
 
   external impl as Eq {
   external impl as Eq {
-    fn Equal[me: Self](other: Self) -> bool {
-      return (me.drive, me.CanonicalPath()) ==
+    fn Equal[self: Self](other: Self) -> bool {
+      return (self.drive, self.CanonicalPath()) ==
              (other.drive, other.CanonicalPath());
              (other.drive, other.CanonicalPath());
     }
     }
   }
   }
@@ -293,12 +293,12 @@ can be used:
 ```
 ```
 class MyInt {
 class MyInt {
   var value: i32;
   var value: i32;
-  fn Value[me: Self]() -> i32 { return me.value; }
+  fn Value[self: Self]() -> i32 { return self.value; }
 }
 }
 external impl i32 as ImplicitAs(MyInt);
 external impl i32 as ImplicitAs(MyInt);
 external impl like MyInt as EqWith(like MyInt) {
 external impl like MyInt as EqWith(like MyInt) {
-  fn Equal[me: Self](other: Self) -> bool {
-    return me.Value() == other.Value();
+  fn Equal[self: Self](other: Self) -> bool {
+    return self.Value() == other.Value();
   }
   }
 }
 }
 fn CompareBothWays(a: MyInt, b: i32, c: MyInt) -> bool {
 fn CompareBothWays(a: MyInt, b: i32, c: MyInt) -> bool {
@@ -316,17 +316,17 @@ operations should have no observable side-effects.
 
 
 ```
 ```
 external impl like MyFloat as EqWith(like MyFloat) {
 external impl like MyFloat as EqWith(like MyFloat) {
-  fn Equal[me: MyFloat](other: MyFloat) -> bool {
-    if (me.IsNaN() or other.IsNaN()) {
+  fn Equal[self: MyFloat](other: MyFloat) -> bool {
+    if (self.IsNaN() or other.IsNaN()) {
       return false;
       return false;
     }
     }
-    return me.Representation() == other.Representation();
+    return self.Representation() == other.Representation();
   }
   }
-  fn NotEqual[me: MyFloat](other: MyFloat) -> bool {
-    if (me.IsNaN() or other.IsNaN()) {
+  fn NotEqual[self: MyFloat](other: MyFloat) -> bool {
+    if (self.IsNaN() or other.IsNaN()) {
       return false;
       return false;
     }
     }
-    return me.Representation() != other.Representation();
+    return self.Representation() != other.Representation();
   }
   }
 }
 }
 ```
 ```
@@ -354,19 +354,19 @@ choice Ordering {
   Incomparable
   Incomparable
 }
 }
 interface OrderedWith(U:! Type) {
 interface OrderedWith(U:! Type) {
-  fn Compare[me: Self](u: U) -> Ordering;
-  default fn Less[me: Self](u: U) -> bool {
-    return me.Compare(u) == Ordering.Less;
+  fn Compare[self: Self](u: U) -> Ordering;
+  default fn Less[self: Self](u: U) -> bool {
+    return self.Compare(u) == Ordering.Less;
   }
   }
-  default fn LessOrEquivalent[me: Self](u: U) -> bool {
-    let c: Ordering = me.Compare(u);
+  default fn LessOrEquivalent[self: Self](u: U) -> bool {
+    let c: Ordering = self.Compare(u);
     return c == Ordering.Less or c == Ordering.Equivalent;
     return c == Ordering.Less or c == Ordering.Equivalent;
   }
   }
-  default fn Greater[me: Self](u: U) -> bool {
-    return me.Compare(u) == Ordering.Greater;
+  default fn Greater[self: Self](u: U) -> bool {
+    return self.Compare(u) == Ordering.Greater;
   }
   }
-  default fn GreaterOrEquivalent[me: Self](u: U) -> bool {
-    let c: Ordering = me.Compare(u);
+  default fn GreaterOrEquivalent[self: Self](u: U) -> bool {
+    let c: Ordering = self.Compare(u);
     return c == Ordering.Greater or c == Ordering.Equivalent;
     return c == Ordering.Greater or c == Ordering.Equivalent;
   }
   }
 }
 }
@@ -395,12 +395,12 @@ class MyWidget {
   var width: i32;
   var width: i32;
   var height: i32;
   var height: i32;
 
 
-  fn Size[me: Self]() -> i32 { return me.width * me.height; }
+  fn Size[self: Self]() -> i32 { return self.width * self.height; }
 
 
   // Widgets are normally ordered by size.
   // Widgets are normally ordered by size.
   external impl as Ordered {
   external impl as Ordered {
-    fn Compare[me: Self](other: Self) -> Ordering {
-      return me.Size().(Ordered.Compare)(other.Size());
+    fn Compare[self: Self](other: Self) -> Ordering {
+      return self.Size().(Ordered.Compare)(other.Size());
     }
     }
   }
   }
 }
 }
@@ -420,8 +420,8 @@ fn ReverseOrdering(o: Ordering) -> Ordering {
 }
 }
 external impl like MyInt as OrderedWith(like MyFloat);
 external impl like MyInt as OrderedWith(like MyFloat);
 external impl like MyFloat as OrderedWith(like MyInt) {
 external impl like MyFloat as OrderedWith(like MyInt) {
-  fn Compare[me: Self](other: Self) -> Ordering {
-    return Reverse(other.(OrderedWith(Self).Compare)(me));
+  fn Compare[self: Self](other: Self) -> Ordering {
+    return Reverse(other.(OrderedWith(Self).Compare)(self));
   }
   }
 }
 }
 ```
 ```

+ 1 - 1
docs/design/expressions/implicit_conversions.md

@@ -210,7 +210,7 @@ extends
 interface ImplicitAs(Dest:! Type) {
 interface ImplicitAs(Dest:! Type) {
   extends As(Dest);
   extends As(Dest);
   // Inherited from As(Dest):
   // Inherited from As(Dest):
-  // fn Convert[me: Self]() -> Dest;
+  // fn Convert[self: Self]() -> Dest;
 }
 }
 ```
 ```
 
 

+ 22 - 22
docs/design/expressions/member_access.md

@@ -55,7 +55,7 @@ For example:
 ```carbon
 ```carbon
 package Widgets api;
 package Widgets api;
 interface Widget {
 interface Widget {
-  fn Grow[addr me: Self*](factor: f64);
+  fn Grow[addr self: Self*](factor: f64);
 }
 }
 class Cog {
 class Cog {
   var size: i32;
   var size: i32;
@@ -163,7 +163,7 @@ For example:
 
 
 ```
 ```
 interface Printable {
 interface Printable {
-  fn Print[me: Self]();
+  fn Print[self: Self]();
 }
 }
 external impl i32 as Printable;
 external impl i32 as Printable;
 class Point {
 class Point {
@@ -238,11 +238,11 @@ actual value of a generic parameter never affects the result of member
 resolution.
 resolution.
 
 
 ```carbon
 ```carbon
-class Cowboy { fn Draw[me: Self](); }
+class Cowboy { fn Draw[self: Self](); }
 interface Renderable {
 interface Renderable {
-  fn Draw[me: Self]();
+  fn Draw[self: Self]();
 }
 }
-external impl Cowboy as Renderable { fn Draw[me: Self](); }
+external impl Cowboy as Renderable { fn Draw[self: Self](); }
 fn DrawDirect(c: Cowboy) { c.Draw(); }
 fn DrawDirect(c: Cowboy) { c.Draw(); }
 fn DrawGeneric[T:! Renderable](c: T) { c.Draw(); }
 fn DrawGeneric[T:! Renderable](c: T) { c.Draw(); }
 fn DrawTemplate[template T:! Renderable](c: T) { c.Draw(); }
 fn DrawTemplate[template T:! Renderable](c: T) { c.Draw(); }
@@ -258,13 +258,13 @@ fn Draw(c: Cowboy) {
 
 
 class RoundWidget {
 class RoundWidget {
   external impl as Renderable {
   external impl as Renderable {
-    fn Draw[me: Self]();
+    fn Draw[self: Self]();
   }
   }
   alias Draw = Renderable.Draw;
   alias Draw = Renderable.Draw;
 }
 }
 
 
 class SquareWidget {
 class SquareWidget {
-  fn Draw[me: Self]() {}
+  fn Draw[self: Self]() {}
   external impl as Renderable {
   external impl as Renderable {
     alias Draw = Self.Draw;
     alias Draw = Self.Draw;
   }
   }
@@ -303,7 +303,7 @@ expression.
 ```carbon
 ```carbon
 interface Addable {
 interface Addable {
   // #1
   // #1
-  fn Add[me: Self](other: Self) -> Self;
+  fn Add[self: Self](other: Self) -> Self;
   // #2
   // #2
   default fn Sum[Seq:! Iterable where .ValueType = Self](seq: Seq) -> Self {
   default fn Sum[Seq:! Iterable where .ValueType = Self](seq: Seq) -> Self {
     // ...
     // ...
@@ -313,7 +313,7 @@ interface Addable {
 class Integer {
 class Integer {
   impl as Addable {
   impl as Addable {
     // #3
     // #3
-    fn Add[me: Self](other: Self) -> Self;
+    fn Add[self: Self](other: Self) -> Self;
     // #4, generated from default implementation for #2.
     // #4, generated from default implementation for #2.
     // fn Sum[...](...);
     // fn Sum[...](...);
   }
   }
@@ -368,13 +368,13 @@ the argument for the template parameter is known.
 ```carbon
 ```carbon
 interface I {
 interface I {
   // #1
   // #1
-  default fn F[me: Self]() {}
+  default fn F[self: Self]() {}
   let N:! i32;
   let N:! i32;
 }
 }
 class C {
 class C {
   impl as I where .N = 5 {
   impl as I where .N = 5 {
     // #2
     // #2
-    fn F[me: C]() {}
+    fn F[self: C]() {}
   }
   }
 }
 }
 
 
@@ -413,13 +413,13 @@ naming the interface member as a member of the class.
 ```carbon
 ```carbon
 interface Renderable {
 interface Renderable {
   // #1
   // #1
-  fn Draw[me: Self]();
+  fn Draw[self: Self]();
 }
 }
 
 
 class RoundWidget {
 class RoundWidget {
   external impl as Renderable {
   external impl as Renderable {
     // #2
     // #2
-    fn Draw[me: Self]();
+    fn Draw[self: Self]();
   }
   }
   // `Draw` names the member of the `Renderable` interface.
   // `Draw` names the member of the `Renderable` interface.
   alias Draw = Renderable.Draw;
   alias Draw = Renderable.Draw;
@@ -427,7 +427,7 @@ class RoundWidget {
 
 
 class SquareWidget {
 class SquareWidget {
   // #3
   // #3
-  fn Draw[me: Self]() {}
+  fn Draw[self: Self]() {}
   external impl as Renderable {
   external impl as Renderable {
     alias Draw = Self.Draw;
     alias Draw = Self.Draw;
   }
   }
@@ -450,14 +450,14 @@ fn DrawWidget(r: RoundWidget, s: SquareWidget) {
   // ❌ Error: In the inner member access, the name `Draw` resolves to the
   // ❌ Error: In the inner member access, the name `Draw` resolves to the
   // member `Draw` of `SquareWidget`, #3.
   // member `Draw` of `SquareWidget`, #3.
   // The outer member access fails because we can't call
   // The outer member access fails because we can't call
-  // #3, `Draw[me: SquareWidget]()`, on a `RoundWidget` object `r`.
+  // #3, `Draw[self: SquareWidget]()`, on a `RoundWidget` object `r`.
   r.(SquareWidget.Draw)();
   r.(SquareWidget.Draw)();
 
 
   // ❌ Error: In the inner member access, the name `Draw` resolves to the
   // ❌ Error: In the inner member access, the name `Draw` resolves to the
   // member `Draw` of `Renderable`, #1, which `impl` lookup replaces with
   // member `Draw` of `Renderable`, #1, which `impl` lookup replaces with
   // the member `Draw` of `impl RoundWidget as Renderable`, #2.
   // the member `Draw` of `impl RoundWidget as Renderable`, #2.
   // The outer member access fails because we can't call
   // The outer member access fails because we can't call
-  // #2, `Draw[me: RoundWidget]()`, on a `SquareWidget` object `s`.
+  // #2, `Draw[self: RoundWidget]()`, on a `SquareWidget` object `s`.
   s.(RoundWidget.Draw)();
   s.(RoundWidget.Draw)();
 }
 }
 
 
@@ -511,19 +511,19 @@ value other than a type, then _instance binding_ is performed, as follows:
 
 
 -   For a method, the result is a _bound method_, which is a value `F` such that
 -   For a method, the result is a _bound method_, which is a value `F` such that
     a function call `F(args)` behaves the same as a call to `M(args)` with the
     a function call `F(args)` behaves the same as a call to `M(args)` with the
-    `me` parameter initialized by a corresponding recipient argument:
+    `self` parameter initialized by a corresponding recipient argument:
 
 
-    -   If the method declares its `me` parameter with `addr`, the recipient
+    -   If the method declares its `self` parameter with `addr`, the recipient
         argument is `&V`.
         argument is `&V`.
     -   Otherwise, the recipient argument is `V`.
     -   Otherwise, the recipient argument is `V`.
 
 
     ```carbon
     ```carbon
     class Blob {
     class Blob {
-      fn Mutate[addr me: Self*](n: i32);
+      fn Mutate[addr self: Self*](n: i32);
     }
     }
     fn F(p: Blob*) {
     fn F(p: Blob*) {
       // ✅ OK, forms bound method `((*p).M)` and calls it.
       // ✅ OK, forms bound method `((*p).M)` and calls it.
-      // This calls `Blob.Mutate` with `me` initialized by `&(*p)`
+      // This calls `Blob.Mutate` with `self` initialized by `&(*p)`
       // and `n` initialized by `5`.
       // and `n` initialized by `5`.
       (*p).Mutate(5);
       (*p).Mutate(5);
 
 
@@ -580,10 +580,10 @@ always used for lookup.
 
 
 ```
 ```
 interface Printable {
 interface Printable {
-  fn Print[me: Self]();
+  fn Print[self: Self]();
 }
 }
 external impl i32 as Printable {
 external impl i32 as Printable {
-  fn Print[me: Self]();
+  fn Print[self: Self]();
 }
 }
 fn MemberAccess(n: i32) {
 fn MemberAccess(n: i32) {
   // ✅ OK: `Printable.Print` is the interface member.
   // ✅ OK: `Printable.Print` is the interface member.

+ 2 - 2
docs/design/generics/appendix-coherence.md

@@ -78,7 +78,7 @@ this:
     package SongHashArtistAndTitle;
     package SongHashArtistAndTitle;
     import SongLib;
     import SongLib;
     impl SongLib.Song as Hashable {
     impl SongLib.Song as Hashable {
-      fn Hash[me: Self]() -> u64 { ... }
+      fn Hash[self: Self]() -> u64 { ... }
     }
     }
     ```
     ```
 
 
@@ -105,7 +105,7 @@ this:
     package SongHashAppleMusicURL;
     package SongHashAppleMusicURL;
     import SongLib;
     import SongLib;
     impl SongLib.Song as Hashable {
     impl SongLib.Song as Hashable {
-      fn Hash[me: Self]() -> u64 { ... }
+      fn Hash[self: Self]() -> u64 { ... }
     }
     }
     ```
     ```
 
 

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 187 - 187
docs/design/generics/details.md


+ 18 - 18
docs/design/generics/overview.md

@@ -159,7 +159,7 @@ Example:
 ```
 ```
 interface Comparable {
 interface Comparable {
   // `Less` is an associated method.
   // `Less` is an associated method.
-  fn Less[me: Self](rhs: Self) -> bool;
+  fn Less[self: Self](rhs: Self) -> bool;
 }
 }
 ```
 ```
 
 
@@ -192,7 +192,7 @@ Consider this interface:
 
 
 ```
 ```
 interface Printable {
 interface Printable {
-  fn Print[me: Self]();
+  fn Print[self: Self]();
 }
 }
 ```
 ```
 
 
@@ -209,7 +209,7 @@ class Song {
   // as `F`, are included as a part of the `Song` API.
   // as `F`, are included as a part of the `Song` API.
   impl as Printable {
   impl as Printable {
     // Could use `Self` in place of `Song` here.
     // Could use `Self` in place of `Song` here.
-    fn Print[me: Song]() { ... }
+    fn Print[self: Song]() { ... }
   }
   }
 }
 }
 
 
@@ -218,7 +218,7 @@ class Song {
 // the library defining `Song` or `Comparable`.
 // the library defining `Song` or `Comparable`.
 external impl Song as Comparable {
 external impl Song as Comparable {
   // Could use either `Self` or `Song` here.
   // Could use either `Self` or `Song` here.
-  fn Less[me: Self](rhs: Self) -> bool { ... }
+  fn Less[self: Self](rhs: Self) -> bool { ... }
 }
 }
 ```
 ```
 
 
@@ -350,13 +350,13 @@ Interfaces can require other interfaces be implemented:
 
 
 ```
 ```
 interface Equatable {
 interface Equatable {
-  fn IsEqual[me: Self](rhs: Self) -> bool;
+  fn IsEqual[self: Self](rhs: Self) -> bool;
 }
 }
 
 
 // `Iterable` requires that `Equatable` is implemented.
 // `Iterable` requires that `Equatable` is implemented.
 interface Iterable {
 interface Iterable {
   impl as Equatable;
   impl as Equatable;
-  fn Advance[addr me: Self*]();
+  fn Advance[addr self: Self*]();
 }
 }
 ```
 ```
 
 
@@ -369,13 +369,13 @@ interface.
 // `Hashable` extends `Equatable`.
 // `Hashable` extends `Equatable`.
 interface Hashable {
 interface Hashable {
   extends Equatable;
   extends Equatable;
-  fn Hash[me: Self]() -> u64;
+  fn Hash[self: Self]() -> u64;
 }
 }
 // `Hashable` is equivalent to:
 // `Hashable` is equivalent to:
 interface Hashable {
 interface Hashable {
   impl as Equatable;
   impl as Equatable;
   alias IsEqual = Equatable.IsEqual;
   alias IsEqual = Equatable.IsEqual;
-  fn Hash[me: Self]() -> u64;
+  fn Hash[self: Self]() -> u64;
 }
 }
 ```
 ```
 
 
@@ -386,8 +386,8 @@ methods in the implementation of the derived interface.
 class Key {
 class Key {
   // ...
   // ...
   impl as Hashable {
   impl as Hashable {
-    fn IsEqual[me: Key](rhs: Key) -> bool { ... }
-    fn Hash[me: Key]() -> u64 { ... }
+    fn IsEqual[self: Key](rhs: Key) -> bool { ... }
+    fn Hash[self: Key]() -> u64 { ... }
   }
   }
   // No need to separately implement `Equatable`.
   // No need to separately implement `Equatable`.
 }
 }
@@ -403,14 +403,14 @@ It gives you all the names that don't conflict.
 
 
 ```
 ```
 interface Renderable {
 interface Renderable {
-  fn GetCenter[me: Self]() -> (i32, i32);
+  fn GetCenter[self: Self]() -> (i32, i32);
   // Draw the object to the screen
   // Draw the object to the screen
-  fn Draw[me: Self]();
+  fn Draw[self: Self]();
 }
 }
 interface EndOfGame {
 interface EndOfGame {
-  fn SetWinner[addr me: Self*](player: i32);
+  fn SetWinner[addr self: Self*](player: i32);
   // Indicate the game was a draw
   // Indicate the game was a draw
-  fn Draw[addr me: Self*]();
+  fn Draw[addr self: Self*]();
 }
 }
 
 
 fn F[T:! Renderable & EndOfGame](game_state: T*) -> (i32, i32) {
 fn F[T:! Renderable & EndOfGame](game_state: T*) -> (i32, i32) {
@@ -533,9 +533,9 @@ element types:
 ```
 ```
 interface Stack {
 interface Stack {
   let ElementType:! Movable;
   let ElementType:! Movable;
-  fn Push[addr me: Self*](value: ElementType);
-  fn Pop[addr me: Self*]() -> ElementType;
-  fn IsEmpty[addr me: Self*]() -> bool;
+  fn Push[addr self: Self*](value: ElementType);
+  fn Pop[addr self: Self*]() -> ElementType;
+  fn IsEmpty[addr self: Self*]() -> bool;
 }
 }
 ```
 ```
 
 
@@ -561,7 +561,7 @@ those types to be different. An element in a hash map might have type
 
 
 ```
 ```
 interface Equatable(T:! Type) {
 interface Equatable(T:! Type) {
-  fn IsEqual[me: Self](compare_to: T) -> bool;
+  fn IsEqual[self: Self](compare_to: T) -> bool;
 }
 }
 ```
 ```
 
 

+ 3 - 3
docs/design/generics/terminology.md

@@ -661,8 +661,8 @@ associated types. An associated type is a kind of
 // Stack using associated types
 // Stack using associated types
 interface Stack {
 interface Stack {
   let ElementType:! Type;
   let ElementType:! Type;
-  fn Push[addr me: Self*](value: ElementType);
-  fn Pop[addr me: Self*]() -> ElementType;
+  fn Push[addr self: Self*](value: ElementType);
+  fn Pop[addr self: Self*]() -> ElementType;
 }
 }
 
 
 // Works on any type implementing `Stack`. Return type
 // Works on any type implementing `Stack`. Return type
@@ -698,7 +698,7 @@ another type:
 ```
 ```
 interface AddWith(T:! Type) {
 interface AddWith(T:! Type) {
   let ResultType:! Type;
   let ResultType:! Type;
-  fn Add[me: Self](rhs: T) -> ResultType;
+  fn Add[self: Self](rhs: T) -> ResultType;
 }
 }
 ```
 ```
 
 

+ 2 - 2
docs/design/templates.md

@@ -47,8 +47,8 @@ bound early to the extent possible. For example:
 class Stack(template T:! Type) {
 class Stack(template T:! Type) {
   var storage: Array(T);
   var storage: Array(T);
 
 
-  fn Push[addr me: Self*](value: T);
-  fn Pop[addr me: Self*]() -> T;
+  fn Push[addr self: Self*](value: T);
+  fn Pop[addr self: Self*]() -> T;
 }
 }
 ```
 ```
 
 

+ 13 - 13
explorer/ast/declaration.cpp

@@ -265,14 +265,14 @@ namespace {
 
 
 // The deduced parameters of a function declaration.
 // The deduced parameters of a function declaration.
 struct DeducedParameters {
 struct DeducedParameters {
-  // The `me` parameter, if any.
-  std::optional<Nonnull<Pattern*>> me_pattern;
+  // The `self` parameter, if any.
+  std::optional<Nonnull<Pattern*>> self_pattern;
 
 
   // All other deduced parameters.
   // All other deduced parameters.
   std::vector<Nonnull<GenericBinding*>> resolved_params;
   std::vector<Nonnull<GenericBinding*>> resolved_params;
 };
 };
 
 
-// Split the `me` pattern (if any) out of `deduced_params`.
+// Split the `self` pattern (if any) out of `deduced_params`.
 auto SplitDeducedParameters(
 auto SplitDeducedParameters(
     SourceLocation source_loc,
     SourceLocation source_loc,
     const std::vector<Nonnull<AstNode*>>& deduced_params)
     const std::vector<Nonnull<AstNode*>>& deduced_params)
@@ -285,32 +285,32 @@ auto SplitDeducedParameters(
         break;
         break;
       case AstNodeKind::BindingPattern: {
       case AstNodeKind::BindingPattern: {
         Nonnull<BindingPattern*> binding = &cast<BindingPattern>(*param);
         Nonnull<BindingPattern*> binding = &cast<BindingPattern>(*param);
-        if (binding->name() != "me") {
+        if (binding->name() != "self") {
           return ProgramError(source_loc)
           return ProgramError(source_loc)
                  << "illegal binding pattern in implicit parameter list";
                  << "illegal binding pattern in implicit parameter list";
         }
         }
-        if (result.me_pattern.has_value()) {
+        if (result.self_pattern.has_value()) {
           return ProgramError(source_loc)
           return ProgramError(source_loc)
-                 << "parameter list cannot contain more than one `me` "
+                 << "parameter list cannot contain more than one `self` "
                     "parameter";
                     "parameter";
         }
         }
-        result.me_pattern = binding;
+        result.self_pattern = binding;
         break;
         break;
       }
       }
       case AstNodeKind::AddrPattern: {
       case AstNodeKind::AddrPattern: {
         Nonnull<AddrPattern*> addr_pattern = &cast<AddrPattern>(*param);
         Nonnull<AddrPattern*> addr_pattern = &cast<AddrPattern>(*param);
         Nonnull<BindingPattern*> binding =
         Nonnull<BindingPattern*> binding =
             &cast<BindingPattern>(addr_pattern->binding());
             &cast<BindingPattern>(addr_pattern->binding());
-        if (binding->name() != "me") {
+        if (binding->name() != "self") {
           return ProgramError(source_loc)
           return ProgramError(source_loc)
                  << "illegal binding pattern in implicit parameter list";
                  << "illegal binding pattern in implicit parameter list";
         }
         }
-        if (result.me_pattern.has_value()) {
+        if (result.self_pattern.has_value()) {
           return ProgramError(source_loc)
           return ProgramError(source_loc)
-                 << "parameter list cannot contain more than one `me` "
+                 << "parameter list cannot contain more than one `self` "
                     "parameter";
                     "parameter";
         }
         }
-        result.me_pattern = addr_pattern;
+        result.self_pattern = addr_pattern;
         break;
         break;
       }
       }
       default:
       default:
@@ -333,7 +333,7 @@ auto DestructorDeclaration::CreateDestructor(
                           SplitDeducedParameters(source_loc, deduced_params));
                           SplitDeducedParameters(source_loc, deduced_params));
   return arena->New<DestructorDeclaration>(
   return arena->New<DestructorDeclaration>(
       source_loc, std::move(split_params.resolved_params),
       source_loc, std::move(split_params.resolved_params),
-      split_params.me_pattern, param_pattern, return_term, body);
+      split_params.self_pattern, param_pattern, return_term, body);
 }
 }
 
 
 auto FunctionDeclaration::Create(Nonnull<Arena*> arena,
 auto FunctionDeclaration::Create(Nonnull<Arena*> arena,
@@ -348,7 +348,7 @@ auto FunctionDeclaration::Create(Nonnull<Arena*> arena,
                           SplitDeducedParameters(source_loc, deduced_params));
                           SplitDeducedParameters(source_loc, deduced_params));
   return arena->New<FunctionDeclaration>(
   return arena->New<FunctionDeclaration>(
       source_loc, name, std::move(split_params.resolved_params),
       source_loc, name, std::move(split_params.resolved_params),
-      split_params.me_pattern, param_pattern, return_term, body);
+      split_params.self_pattern, param_pattern, return_term, body);
 }
 }
 
 
 void CallableDeclaration::PrintDepth(int depth, llvm::raw_ostream& out) const {
 void CallableDeclaration::PrintDepth(int depth, llvm::raw_ostream& out) const {

+ 11 - 11
explorer/ast/declaration.h

@@ -129,14 +129,14 @@ class CallableDeclaration : public Declaration {
  public:
  public:
   CallableDeclaration(AstNodeKind kind, SourceLocation loc, std::string name,
   CallableDeclaration(AstNodeKind kind, SourceLocation loc, std::string name,
                       std::vector<Nonnull<GenericBinding*>> deduced_params,
                       std::vector<Nonnull<GenericBinding*>> deduced_params,
-                      std::optional<Nonnull<Pattern*>> me_pattern,
+                      std::optional<Nonnull<Pattern*>> self_pattern,
                       Nonnull<TuplePattern*> param_pattern,
                       Nonnull<TuplePattern*> param_pattern,
                       ReturnTerm return_term,
                       ReturnTerm return_term,
                       std::optional<Nonnull<Block*>> body)
                       std::optional<Nonnull<Block*>> body)
       : Declaration(kind, loc),
       : Declaration(kind, loc),
         name_(std::move(name)),
         name_(std::move(name)),
         deduced_parameters_(std::move(deduced_params)),
         deduced_parameters_(std::move(deduced_params)),
-        me_pattern_(me_pattern),
+        self_pattern_(self_pattern),
         param_pattern_(param_pattern),
         param_pattern_(param_pattern),
         return_term_(return_term),
         return_term_(return_term),
         body_(body) {}
         body_(body) {}
@@ -152,8 +152,8 @@ class CallableDeclaration : public Declaration {
   auto deduced_parameters() -> llvm::ArrayRef<Nonnull<GenericBinding*>> {
   auto deduced_parameters() -> llvm::ArrayRef<Nonnull<GenericBinding*>> {
     return deduced_parameters_;
     return deduced_parameters_;
   }
   }
-  auto me_pattern() const -> const Pattern& { return **me_pattern_; }
-  auto me_pattern() -> Pattern& { return **me_pattern_; }
+  auto self_pattern() const -> const Pattern& { return **self_pattern_; }
+  auto self_pattern() -> Pattern& { return **self_pattern_; }
   auto param_pattern() const -> const TuplePattern& { return *param_pattern_; }
   auto param_pattern() const -> const TuplePattern& { return *param_pattern_; }
   auto param_pattern() -> TuplePattern& { return *param_pattern_; }
   auto param_pattern() -> TuplePattern& { return *param_pattern_; }
   auto return_term() const -> const ReturnTerm& { return return_term_; }
   auto return_term() const -> const ReturnTerm& { return return_term_; }
@@ -163,12 +163,12 @@ class CallableDeclaration : public Declaration {
 
 
   auto value_category() const -> ValueCategory { return ValueCategory::Let; }
   auto value_category() const -> ValueCategory { return ValueCategory::Let; }
 
 
-  auto is_method() const -> bool { return me_pattern_.has_value(); }
+  auto is_method() const -> bool { return self_pattern_.has_value(); }
 
 
  private:
  private:
   std::string name_;
   std::string name_;
   std::vector<Nonnull<GenericBinding*>> deduced_parameters_;
   std::vector<Nonnull<GenericBinding*>> deduced_parameters_;
-  std::optional<Nonnull<Pattern*>> me_pattern_;
+  std::optional<Nonnull<Pattern*>> self_pattern_;
   Nonnull<TuplePattern*> param_pattern_;
   Nonnull<TuplePattern*> param_pattern_;
   ReturnTerm return_term_;
   ReturnTerm return_term_;
   std::optional<Nonnull<Block*>> body_;
   std::optional<Nonnull<Block*>> body_;
@@ -189,13 +189,13 @@ class FunctionDeclaration : public CallableDeclaration {
   // Use `Create()` instead. This is public only so Arena::New() can call it.
   // Use `Create()` instead. This is public only so Arena::New() can call it.
   FunctionDeclaration(SourceLocation source_loc, std::string name,
   FunctionDeclaration(SourceLocation source_loc, std::string name,
                       std::vector<Nonnull<GenericBinding*>> deduced_params,
                       std::vector<Nonnull<GenericBinding*>> deduced_params,
-                      std::optional<Nonnull<Pattern*>> me_pattern,
+                      std::optional<Nonnull<Pattern*>> self_pattern,
                       Nonnull<TuplePattern*> param_pattern,
                       Nonnull<TuplePattern*> param_pattern,
                       ReturnTerm return_term,
                       ReturnTerm return_term,
                       std::optional<Nonnull<Block*>> body)
                       std::optional<Nonnull<Block*>> body)
       : CallableDeclaration(AstNodeKind::FunctionDeclaration, source_loc,
       : CallableDeclaration(AstNodeKind::FunctionDeclaration, source_loc,
                             std::move(name), std::move(deduced_params),
                             std::move(name), std::move(deduced_params),
-                            me_pattern, param_pattern, return_term, body) {}
+                            self_pattern, param_pattern, return_term, body) {}
 
 
   static auto classof(const AstNode* node) -> bool {
   static auto classof(const AstNode* node) -> bool {
     return InheritsFromFunctionDeclaration(node->kind());
     return InheritsFromFunctionDeclaration(node->kind());
@@ -216,13 +216,13 @@ class DestructorDeclaration : public CallableDeclaration {
   // Use `Create()` instead. This is public only so Arena::New() can call it.
   // Use `Create()` instead. This is public only so Arena::New() can call it.
   DestructorDeclaration(SourceLocation source_loc,
   DestructorDeclaration(SourceLocation source_loc,
                         std::vector<Nonnull<GenericBinding*>> deduced_params,
                         std::vector<Nonnull<GenericBinding*>> deduced_params,
-                        std::optional<Nonnull<Pattern*>> me_pattern,
+                        std::optional<Nonnull<Pattern*>> self_pattern,
                         Nonnull<TuplePattern*> param_pattern,
                         Nonnull<TuplePattern*> param_pattern,
                         ReturnTerm return_term,
                         ReturnTerm return_term,
                         std::optional<Nonnull<Block*>> body)
                         std::optional<Nonnull<Block*>> body)
       : CallableDeclaration(AstNodeKind::DestructorDeclaration, source_loc,
       : CallableDeclaration(AstNodeKind::DestructorDeclaration, source_loc,
-                            "destructor", std::move(deduced_params), me_pattern,
-                            param_pattern, return_term, body) {}
+                            "destructor", std::move(deduced_params),
+                            self_pattern, param_pattern, return_term, body) {}
 
 
   static auto classof(const AstNode* node) -> bool {
   static auto classof(const AstNode* node) -> bool {
     return InheritsFromDestructorDeclaration(node->kind());
     return InheritsFromDestructorDeclaration(node->kind());

+ 1 - 1
explorer/ast/expression.h

@@ -263,7 +263,7 @@ class MemberAccessExpression : public Expression {
   // Can only be called once, during typechecking.
   // Can only be called once, during typechecking.
   void set_is_type_access(bool type_access) { is_type_access_ = type_access; }
   void set_is_type_access(bool type_access) { is_type_access_ = type_access; }
 
 
-  // Returns true if the member is a method that has a "me" declaration in an
+  // Returns true if the member is a method that has a "self" declaration in an
   // AddrPattern.
   // AddrPattern.
   auto is_addr_me_method() const -> bool { return is_addr_me_method_; }
   auto is_addr_me_method() const -> bool { return is_addr_me_method_; }
 
 

+ 87 - 87
explorer/data/prelude.carbon

@@ -10,7 +10,7 @@ package Carbon api;
 
 
 // Explicitly convert `Self` to `T`.
 // Explicitly convert `Self` to `T`.
 interface As(T:! Type) {
 interface As(T:! Type) {
-  fn Convert[me: Self]() -> T;
+  fn Convert[self: Self]() -> T;
 }
 }
 
 
 // Implicitly convert `Self` to `T`.
 // Implicitly convert `Self` to `T`.
@@ -32,30 +32,30 @@ impl forall [U:! Type] U as __EqualConverter where .T = U {
 
 
 // Every type implicitly converts to single-step-equal types.
 // Every type implicitly converts to single-step-equal types.
 impl forall [T:! Type, U:! Type where .Self == T] T as ImplicitAs(U) {
 impl forall [T:! Type, U:! Type where .Self == T] T as ImplicitAs(U) {
-  fn Convert[me: Self]() -> U { return __EqualConvert(me, U); }
+  fn Convert[self: Self]() -> U { return __EqualConvert(self, U); }
 }
 }
 
 
 // TODO: Simplify this once we have variadics.
 // TODO: Simplify this once we have variadics.
 // TODO: Should these be final?
 // TODO: Should these be final?
 impl forall [U1:! Type, T1:! ImplicitAs(U1)]
 impl forall [U1:! Type, T1:! ImplicitAs(U1)]
     (T1,) as ImplicitAs((U1,)) {
     (T1,) as ImplicitAs((U1,)) {
-  fn Convert[me: Self]() -> (U1,) {
-    let (v1: T1,) = me;
+  fn Convert[self: Self]() -> (U1,) {
+    let (v1: T1,) = self;
     return (v1.Convert(),);
     return (v1.Convert(),);
   }
   }
 }
 }
 impl forall [U1:! Type, U2:! Type, T1:! ImplicitAs(U1), T2:! ImplicitAs(U2)]
 impl forall [U1:! Type, U2:! Type, T1:! ImplicitAs(U1), T2:! ImplicitAs(U2)]
     (T1, T2) as ImplicitAs((U1, U2)) {
     (T1, T2) as ImplicitAs((U1, U2)) {
-  fn Convert[me: Self]() -> (U1, U2) {
-    let (v1: T1, v2: T2) = me;
+  fn Convert[self: Self]() -> (U1, U2) {
+    let (v1: T1, v2: T2) = self;
     return (v1.Convert(), v2.Convert());
     return (v1.Convert(), v2.Convert());
   }
   }
 }
 }
 impl forall [U1:! Type, U2:! Type, U3:! Type,
 impl forall [U1:! Type, U2:! Type, U3:! Type,
              T1:! ImplicitAs(U1), T2:! ImplicitAs(U2), T3:! ImplicitAs(U3)]
              T1:! ImplicitAs(U1), T2:! ImplicitAs(U2), T3:! ImplicitAs(U3)]
     (T1, T2, T3) as ImplicitAs((U1, U2, U3)) {
     (T1, T2, T3) as ImplicitAs((U1, U2, U3)) {
-  fn Convert[me: Self]() -> (U1, U2, U3) {
-    let (v1: T1, v2: T2, v3: T3) = me;
+  fn Convert[self: Self]() -> (U1, U2, U3) {
+    let (v1: T1, v2: T2, v3: T3) = self;
     return (v1.Convert(), v2.Convert(), v3.Convert());
     return (v1.Convert(), v2.Convert(), v3.Convert());
   }
   }
 }
 }
@@ -69,8 +69,8 @@ impl forall [U1:! Type, U2:! Type, U3:! Type,
 // ----------------------
 // ----------------------
 
 
 interface EqWith(U:! Type) {
 interface EqWith(U:! Type) {
-  fn Equal[me: Self](other: U) -> bool;
-  fn NotEqual[me: Self](other: U) -> bool;
+  fn Equal[self: Self](other: U) -> bool;
+  fn NotEqual[self: Self](other: U) -> bool;
 }
 }
 
 
 constraint Eq {
 constraint Eq {
@@ -80,44 +80,44 @@ constraint Eq {
 // TODO: Simplify this once we have variadics
 // TODO: Simplify this once we have variadics
 impl forall [T2:! Type, U2:! Type, T1:! EqWith(T2), U1:! EqWith(U2)]
 impl forall [T2:! Type, U2:! Type, T1:! EqWith(T2), U1:! EqWith(U2)]
     (T1, U1) as EqWith((T2, U2)) {
     (T1, U1) as EqWith((T2, U2)) {
-  fn Equal[me: Self](other: (T2, U2)) -> bool {
-    let (l1: T1, l2: U1) = me;
+  fn Equal[self: Self](other: (T2, U2)) -> bool {
+    let (l1: T1, l2: U1) = self;
     let (r1: T2, r2: U2) = other;
     let (r1: T2, r2: U2) = other;
     return l1 == r1 and l2 == r2;
     return l1 == r1 and l2 == r2;
   }
   }
-  fn NotEqual[me: Self](other: (T2, U2)) -> bool {
-      let (l1: T1, l2: U1) = me;
+  fn NotEqual[self: Self](other: (T2, U2)) -> bool {
+      let (l1: T1, l2: U1) = self;
       let (r1: T2, r2: U2) = other;
       let (r1: T2, r2: U2) = other;
       return l1 != r1 or l2 != r2;
       return l1 != r1 or l2 != r2;
     }
     }
 }
 }
 
 
 impl bool as EqWith(Self) {
 impl bool as EqWith(Self) {
-  fn Equal[me: Self](other: Self) -> bool {
-    return if me then other else not other;
+  fn Equal[self: Self](other: Self) -> bool {
+    return if self then other else not other;
   }
   }
-  fn NotEqual[me: Self](other: Self) -> bool {
-    return if me then not other else other;
+  fn NotEqual[self: Self](other: Self) -> bool {
+    return if self then not other else other;
   }
   }
 }
 }
 
 
 impl i32 as EqWith(Self) {
 impl i32 as EqWith(Self) {
-  fn Equal[me: Self](other: Self) -> bool {
-    return __intrinsic_int_eq(me, other);
+  fn Equal[self: Self](other: Self) -> bool {
+    return __intrinsic_int_eq(self, other);
   }
   }
 
 
-  fn NotEqual[me: Self](other: Self) -> bool {
-    return not __intrinsic_int_eq(me, other);
+  fn NotEqual[self: Self](other: Self) -> bool {
+    return not __intrinsic_int_eq(self, other);
   }
   }
 }
 }
 
 
 impl String as EqWith(Self) {
 impl String as EqWith(Self) {
-  fn Equal[me: Self](other: Self) -> bool {
-    return __intrinsic_str_eq(me, other);
+  fn Equal[self: Self](other: Self) -> bool {
+    return __intrinsic_str_eq(self, other);
   }
   }
 
 
-  fn NotEqual[me: Self](other: Self) -> bool {
-    return not __intrinsic_str_eq(me, other);
+  fn NotEqual[self: Self](other: Self) -> bool {
+    return not __intrinsic_str_eq(self, other);
   }
   }
 }
 }
 
 
@@ -134,7 +134,7 @@ choice Ordering {
 
 
 // TODO: Per the design, this should be named `OrderedWith`.
 // TODO: Per the design, this should be named `OrderedWith`.
 interface CompareWith(U:! Type) {
 interface CompareWith(U:! Type) {
-  fn Compare[me: Self](u: U) -> Ordering;
+  fn Compare[self: Self](u: U) -> Ordering;
   // TODO: Add `default fn` for Less, LessOrEquivalent, Greater, and GreaterOrEquivalent once it's available.
   // TODO: Add `default fn` for Less, LessOrEquivalent, Greater, and GreaterOrEquivalent once it's available.
 }
 }
 constraint Ordered {
 constraint Ordered {
@@ -142,8 +142,8 @@ constraint Ordered {
 }
 }
 
 
 impl i32 as CompareWith(Self) {
 impl i32 as CompareWith(Self) {
-  fn Compare[me: Self](other: Self) -> Ordering {
-    var comp: i32 = __intrinsic_int_compare(me, other);
+  fn Compare[self: Self](other: Self) -> Ordering {
+    var comp: i32 = __intrinsic_int_compare(self, other);
     if (comp == -1) {
     if (comp == -1) {
       return Ordering.Less();
       return Ordering.Less();
     }
     }
@@ -159,8 +159,8 @@ impl i32 as CompareWith(Self) {
 }
 }
 
 
 impl String as CompareWith(Self) {
 impl String as CompareWith(Self) {
-  fn Compare[me: Self](other: Self) -> Ordering {
-    var comp: i32 = __intrinsic_str_compare(me, other);
+  fn Compare[self: Self](other: Self) -> Ordering {
+    var comp: i32 = __intrinsic_str_compare(self, other);
     if (comp == -1) {
     if (comp == -1) {
       return Ordering.Less();
       return Ordering.Less();
     }
     }
@@ -175,24 +175,24 @@ impl String as CompareWith(Self) {
 }
 }
 
 
 interface LessWith(U:! Type) {
 interface LessWith(U:! Type) {
-  fn Less[me: Self](other: U) -> bool;
+  fn Less[self: Self](other: U) -> bool;
 }
 }
 
 
 interface LessEqWith(U:! Type) {
 interface LessEqWith(U:! Type) {
-  fn LessEq[me: Self](other: U) -> bool;
+  fn LessEq[self: Self](other: U) -> bool;
 }
 }
 
 
 interface GreaterWith(U:! Type) {
 interface GreaterWith(U:! Type) {
-  fn Greater[me: Self](other: U) -> bool;
+  fn Greater[self: Self](other: U) -> bool;
 }
 }
 
 
 interface GreaterEqWith(U:! Type) {
 interface GreaterEqWith(U:! Type) {
-  fn GreaterEq[me: Self](other: U) -> bool;
+  fn GreaterEq[self: Self](other: U) -> bool;
 }
 }
 
 
 impl i32 as LessWith(Self) {
 impl i32 as LessWith(Self) {
-  fn Less[me: Self](other: Self) -> bool {
-    var comp: Ordering = me.(CompareWith(i32).Compare)(other);
+  fn Less[self: Self](other: Self) -> bool {
+    var comp: Ordering = self.(CompareWith(i32).Compare)(other);
     match (comp) {
     match (comp) {
       case Ordering.Less() => {
       case Ordering.Less() => {
         return true;
         return true;
@@ -203,8 +203,8 @@ impl i32 as LessWith(Self) {
 }
 }
 
 
 impl String as LessWith(Self) {
 impl String as LessWith(Self) {
-  fn Less[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(String).Compare)(other);
+  fn Less[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(String).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Less() => {
       case Ordering.Less() => {
         return true;
         return true;
@@ -215,8 +215,8 @@ impl String as LessWith(Self) {
 }
 }
 
 
 impl i32 as LessEqWith(Self) {
 impl i32 as LessEqWith(Self) {
-  fn LessEq[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(i32).Compare)(other);
+  fn LessEq[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(i32).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Less() => {
       case Ordering.Less() => {
         return true;
         return true;
@@ -230,8 +230,8 @@ impl i32 as LessEqWith(Self) {
 }
 }
 
 
 impl String as LessEqWith(Self) {
 impl String as LessEqWith(Self) {
-  fn LessEq[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(String).Compare)(other);
+  fn LessEq[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(String).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Less() => {
       case Ordering.Less() => {
         return true;
         return true;
@@ -245,8 +245,8 @@ impl String as LessEqWith(Self) {
 }
 }
 
 
 impl i32 as GreaterWith(Self) {
 impl i32 as GreaterWith(Self) {
-  fn Greater[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(i32).Compare)(other);
+  fn Greater[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(i32).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Greater() => {
       case Ordering.Greater() => {
         return true;
         return true;
@@ -257,8 +257,8 @@ impl i32 as GreaterWith(Self) {
 }
 }
 
 
 impl String as GreaterWith(Self) {
 impl String as GreaterWith(Self) {
-  fn Greater[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(String).Compare)(other);
+  fn Greater[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(String).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Greater() => {
       case Ordering.Greater() => {
         return true;
         return true;
@@ -269,8 +269,8 @@ impl String as GreaterWith(Self) {
 }
 }
 
 
 impl i32 as GreaterEqWith(Self) {
 impl i32 as GreaterEqWith(Self) {
-  fn GreaterEq[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(i32).Compare)(other);
+  fn GreaterEq[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(i32).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Greater() => {
       case Ordering.Greater() => {
         return true;
         return true;
@@ -284,8 +284,8 @@ impl i32 as GreaterEqWith(Self) {
 }
 }
 
 
 impl String as GreaterEqWith(Self) {
 impl String as GreaterEqWith(Self) {
-  fn GreaterEq[me: Self](other: Self) -> bool {
-    var comp: Ordering =  me.(CompareWith(String).Compare)(other);
+  fn GreaterEq[self: Self](other: Self) -> bool {
+    var comp: Ordering =  self.(CompareWith(String).Compare)(other);
     match(comp){
     match(comp){
       case Ordering.Greater() => {
       case Ordering.Greater() => {
         return true;
         return true;
@@ -305,13 +305,13 @@ impl String as GreaterEqWith(Self) {
 interface Negate {
 interface Negate {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self]() -> Result;
+  fn Op[self: Self]() -> Result;
 }
 }
 
 
 interface AddWith(U:! Type) {
 interface AddWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Add {
 constraint Add {
   extends AddWith(Self) where .Result = Self;
   extends AddWith(Self) where .Result = Self;
@@ -320,7 +320,7 @@ constraint Add {
 interface SubWith(U:! Type) {
 interface SubWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Sub {
 constraint Sub {
   extends SubWith(Self) where .Result = Self;
   extends SubWith(Self) where .Result = Self;
@@ -329,7 +329,7 @@ constraint Sub {
 interface MulWith(U:! Type) {
 interface MulWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Mul {
 constraint Mul {
   extends MulWith(Self) where .Result = Self;
   extends MulWith(Self) where .Result = Self;
@@ -338,7 +338,7 @@ constraint Mul {
 interface DivWith(U:! Type) {
 interface DivWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Div {
 constraint Div {
   extends DivWith(Self) where .Result = Self;
   extends DivWith(Self) where .Result = Self;
@@ -347,7 +347,7 @@ constraint Div {
 interface ModWith(U:! Type) {
 interface ModWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint Mod {
 constraint Mod {
   extends ModWith(Self) where .Result = Self;
   extends ModWith(Self) where .Result = Self;
@@ -355,22 +355,22 @@ constraint Mod {
 
 
 // Note, these impls use the builtin addition for i32.
 // Note, these impls use the builtin addition for i32.
 external impl i32 as Negate where .Result = i32 {
 external impl i32 as Negate where .Result = i32 {
-  fn Op[me: i32]() -> i32 { return -me; }
+  fn Op[self: i32]() -> i32 { return -self; }
 }
 }
 external impl i32 as AddWith(i32) where .Result = i32 {
 external impl i32 as AddWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 { return me + other; }
+  fn Op[self: i32](other: i32) -> i32 { return self + other; }
 }
 }
 external impl i32 as SubWith(i32) where .Result = i32 {
 external impl i32 as SubWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 { return me - other; }
+  fn Op[self: i32](other: i32) -> i32 { return self - other; }
 }
 }
 external impl i32 as MulWith(i32) where .Result = i32 {
 external impl i32 as MulWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 { return me * other; }
+  fn Op[self: i32](other: i32) -> i32 { return self * other; }
 }
 }
 external impl i32 as DivWith(i32) where .Result = i32 {
 external impl i32 as DivWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 { return me / other; }
+  fn Op[self: i32](other: i32) -> i32 { return self / other; }
 }
 }
 external impl i32 as ModWith(i32) where .Result = i32 {
 external impl i32 as ModWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 { return me % other; }
+  fn Op[self: i32](other: i32) -> i32 { return self % other; }
 }
 }
 
 
 // ---------------------------------
 // ---------------------------------
@@ -381,14 +381,14 @@ external impl i32 as ModWith(i32) where .Result = i32 {
 interface BitComplement {
 interface BitComplement {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self]() -> Result;
+  fn Op[self: Self]() -> Result;
 }
 }
 
 
 // Binary `&`.
 // Binary `&`.
 interface BitAndWith(U:! Type) {
 interface BitAndWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitAnd {
 constraint BitAnd {
   extends BitAndWith(Self) where .Result = Self;
   extends BitAndWith(Self) where .Result = Self;
@@ -398,7 +398,7 @@ constraint BitAnd {
 interface BitOrWith(U:! Type) {
 interface BitOrWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitOr {
 constraint BitOr {
   extends BitOrWith(Self) where .Result = Self;
   extends BitOrWith(Self) where .Result = Self;
@@ -408,7 +408,7 @@ constraint BitOr {
 interface BitXorWith(U:! Type) {
 interface BitXorWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint BitXor {
 constraint BitXor {
   extends BitXorWith(Self) where .Result = Self;
   extends BitXorWith(Self) where .Result = Self;
@@ -418,7 +418,7 @@ constraint BitXor {
 interface LeftShiftWith(U:! Type) {
 interface LeftShiftWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint LeftShift {
 constraint LeftShift {
   extends LeftShiftWith(Self) where .Result = Self;
   extends LeftShiftWith(Self) where .Result = Self;
@@ -428,40 +428,40 @@ constraint LeftShift {
 interface RightShiftWith(U:! Type) {
 interface RightShiftWith(U:! Type) {
   // TODO: = Self
   // TODO: = Self
   let Result:! Type;
   let Result:! Type;
-  fn Op[me: Self](other: U) -> Result;
+  fn Op[self: Self](other: U) -> Result;
 }
 }
 constraint RightShift {
 constraint RightShift {
   extends RightShiftWith(Self) where .Result = Self;
   extends RightShiftWith(Self) where .Result = Self;
 }
 }
 
 
 external impl i32 as BitComplement where .Result = i32 {
 external impl i32 as BitComplement where .Result = i32 {
-  fn Op[me: i32]() -> i32 {
-    return __intrinsic_int_bit_complement(me);
+  fn Op[self: i32]() -> i32 {
+    return __intrinsic_int_bit_complement(self);
   }
   }
 }
 }
 external impl i32 as BitAndWith(i32) where .Result = i32 {
 external impl i32 as BitAndWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 {
-    return __intrinsic_int_bit_and(me, other);
+  fn Op[self: i32](other: i32) -> i32 {
+    return __intrinsic_int_bit_and(self, other);
   }
   }
 }
 }
 external impl i32 as BitOrWith(i32) where .Result = i32 {
 external impl i32 as BitOrWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 {
-    return __intrinsic_int_bit_or(me, other);
+  fn Op[self: i32](other: i32) -> i32 {
+    return __intrinsic_int_bit_or(self, other);
   }
   }
 }
 }
 external impl i32 as BitXorWith(i32) where .Result = i32 {
 external impl i32 as BitXorWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 {
-    return __intrinsic_int_bit_xor(me, other);
+  fn Op[self: i32](other: i32) -> i32 {
+    return __intrinsic_int_bit_xor(self, other);
   }
   }
 }
 }
 external impl i32 as LeftShiftWith(i32) where .Result = i32 {
 external impl i32 as LeftShiftWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 {
-    return __intrinsic_int_left_shift(me, other);
+  fn Op[self: i32](other: i32) -> i32 {
+    return __intrinsic_int_left_shift(self, other);
   }
   }
 }
 }
 external impl i32 as RightShiftWith(i32) where .Result = i32 {
 external impl i32 as RightShiftWith(i32) where .Result = i32 {
-  fn Op[me: i32](other: i32) -> i32 {
-    return __intrinsic_int_right_shift(me, other);
+  fn Op[self: i32](other: i32) -> i32 {
+    return __intrinsic_int_right_shift(self, other);
   }
   }
 }
 }
 
 
@@ -481,16 +481,16 @@ class Optional(T:! Type) {
     return {.element = OptionalElement(T).Element(value)};
     return {.element = OptionalElement(T).Element(value)};
   }
   }
 
 
-  fn HasValue[me: Self]() -> bool {
-    match(me.element) {
+  fn HasValue[self: Self]() -> bool {
+    match(self.element) {
       case OptionalElement(T).None() => { return false; }
       case OptionalElement(T).None() => { return false; }
     }
     }
     return true;
     return true;
   }
   }
 
 
-  fn Get[me: Self]() -> T {
+  fn Get[self: Self]() -> T {
     var y: T;
     var y: T;
-    match(me.element) {
+    match(self.element) {
       case OptionalElement(T).Element(x: T) => {
       case OptionalElement(T).Element(x: T) => {
         return x;
         return x;
       }
       }
@@ -522,10 +522,10 @@ fn Rand(low: i32, high: i32) -> i32{
 }
 }
 
 
 class Heap {
 class Heap {
-  fn New[T:! Type, me: Self](x : T) -> T* {
+  fn New[T:! Type, self: Self](x : T) -> T* {
     return __intrinsic_new(x);
     return __intrinsic_new(x);
   }
   }
-  fn Delete[T:! Type, me: Self](p : T*) {
+  fn Delete[T:! Type, self: Self](p : T*) {
     __intrinsic_delete(p);
     __intrinsic_delete(p);
   }
   }
 }
 }

+ 20 - 18
explorer/fuzzing/ast_to_proto.cpp

@@ -584,21 +584,22 @@ static auto DeclarationToProto(const Declaration& declaration)
       const auto& function = cast<DestructorDeclaration>(declaration);
       const auto& function = cast<DestructorDeclaration>(declaration);
       auto* function_proto = declaration_proto.mutable_destructor();
       auto* function_proto = declaration_proto.mutable_destructor();
       if (function.is_method()) {
       if (function.is_method()) {
-        switch (function.me_pattern().kind()) {
+        switch (function.self_pattern().kind()) {
           case PatternKind::AddrPattern:
           case PatternKind::AddrPattern:
-            *function_proto->mutable_me_pattern() =
-                PatternToProto(cast<AddrPattern>(function.me_pattern()));
+            *function_proto->mutable_self_pattern() =
+                PatternToProto(cast<AddrPattern>(function.self_pattern()));
             break;
             break;
           case PatternKind::BindingPattern:
           case PatternKind::BindingPattern:
-            *function_proto->mutable_me_pattern() =
-                PatternToProto(cast<BindingPattern>(function.me_pattern()));
+            *function_proto->mutable_self_pattern() =
+                PatternToProto(cast<BindingPattern>(function.self_pattern()));
             break;
             break;
           default:
           default:
-            // Parser shouldn't allow me_pattern to be anything other than
+            // Parser shouldn't allow self_pattern to be anything other than
             // AddrPattern or BindingPattern
             // AddrPattern or BindingPattern
-            CARBON_FATAL() << "me_pattern in method declaration can be either "
-                              "AddrPattern or BindingPattern. Actual pattern: "
-                           << function.me_pattern();
+            CARBON_FATAL()
+                << "self_pattern in method declaration can be either "
+                   "AddrPattern or BindingPattern. Actual pattern: "
+                << function.self_pattern();
             break;
             break;
         }
         }
       }
       }
@@ -619,21 +620,22 @@ static auto DeclarationToProto(const Declaration& declaration)
             GenericBindingToProto(*binding);
             GenericBindingToProto(*binding);
       }
       }
       if (function.is_method()) {
       if (function.is_method()) {
-        switch (function.me_pattern().kind()) {
+        switch (function.self_pattern().kind()) {
           case PatternKind::AddrPattern:
           case PatternKind::AddrPattern:
-            *function_proto->mutable_me_pattern() =
-                PatternToProto(cast<AddrPattern>(function.me_pattern()));
+            *function_proto->mutable_self_pattern() =
+                PatternToProto(cast<AddrPattern>(function.self_pattern()));
             break;
             break;
           case PatternKind::BindingPattern:
           case PatternKind::BindingPattern:
-            *function_proto->mutable_me_pattern() =
-                PatternToProto(cast<BindingPattern>(function.me_pattern()));
+            *function_proto->mutable_self_pattern() =
+                PatternToProto(cast<BindingPattern>(function.self_pattern()));
             break;
             break;
           default:
           default:
-            // Parser shouldn't allow me_pattern to be anything other than
+            // Parser shouldn't allow self_pattern to be anything other than
             // AddrPattern or BindingPattern
             // AddrPattern or BindingPattern
-            CARBON_FATAL() << "me_pattern in method declaration can be either "
-                              "AddrPattern or BindingPattern. Actual pattern: "
-                           << function.me_pattern();
+            CARBON_FATAL()
+                << "self_pattern in method declaration can be either "
+                   "AddrPattern or BindingPattern. Actual pattern: "
+                << function.self_pattern();
             break;
             break;
         }
         }
       }
       }

+ 18 - 18
explorer/fuzzing/fuzzer_corpus/631d05bfebd6b0cd3a47061fc6efea2d776d1b5f → explorer/fuzzing/fuzzer_corpus/00725179de0aa71c7343d00281a8b4e881755cd1

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -189,9 +189,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -242,7 +242,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -270,7 +270,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -298,9 +298,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -350,7 +350,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -373,7 +373,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -437,9 +437,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -480,7 +480,7 @@ compilation_unit {
               return_expression_statement {
               return_expression_statement {
                 expression {
                 expression {
                   identifier {
                   identifier {
-                    name: "me"
+                    name: "self"
                   }
                   }
                 }
                 }
               }
               }
@@ -491,9 +491,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -534,7 +534,7 @@ compilation_unit {
               return_expression_statement {
               return_expression_statement {
                 expression {
                 expression {
                   identifier {
                   identifier {
-                    name: "me"
+                    name: "self"
                   }
                   }
                 }
                 }
               }
               }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/651fffb6d15a8e1c5f58862c49fa95d4eb950df9 → explorer/fuzzing/fuzzer_corpus/0628004dd8a25e850a804fb21da38644e9734e1d

@@ -77,9 +77,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -122,7 +122,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 20 - 20
explorer/fuzzing/fuzzer_corpus/2b883d07bdf4c2db174e4ffa42993d1ffad01815 → explorer/fuzzing/fuzzer_corpus/0645e2adb589c5d5c2ea84e31b87db1ee74034ee

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -258,9 +258,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -310,7 +310,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -333,7 +333,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -406,9 +406,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -462,7 +462,7 @@ compilation_unit {
                                       field: "x"
                                       field: "x"
                                       object {
                                       object {
                                         identifier {
                                         identifier {
-                                          name: "me"
+                                          name: "self"
                                         }
                                         }
                                       }
                                       }
                                     }
                                     }
@@ -500,7 +500,7 @@ compilation_unit {
                                       field: "y"
                                       field: "y"
                                       object {
                                       object {
                                         identifier {
                                         identifier {
-                                          name: "me"
+                                          name: "self"
                                         }
                                         }
                                       }
                                       }
                                     }
                                     }
@@ -535,9 +535,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -590,7 +590,7 @@ compilation_unit {
                                       field: "x"
                                       field: "x"
                                       object {
                                       object {
                                         identifier {
                                         identifier {
-                                          name: "me"
+                                          name: "self"
                                         }
                                         }
                                       }
                                       }
                                     }
                                     }
@@ -623,7 +623,7 @@ compilation_unit {
                                       field: "y"
                                       field: "y"
                                       object {
                                       object {
                                         identifier {
                                         identifier {
-                                          name: "me"
+                                          name: "self"
                                         }
                                         }
                                       }
                                       }
                                     }
                                     }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/f3b273f5d4718498b6d06baef8fa44b7a14476be → explorer/fuzzing/fuzzer_corpus/0b574f5827b34d81e951ea5477244a2ec1d23b8c

@@ -51,9 +51,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -84,7 +84,7 @@ compilation_unit {
                       name: "n"
                       name: "n"
                       expression {
                       expression {
                         identifier {
                         identifier {
-                          name: "me"
+                          name: "self"
                         }
                         }
                       }
                       }
                     }
                     }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/329852da9d25572d3551a281f4fce0852ece2534 → explorer/fuzzing/fuzzer_corpus/0d4c01e620d71b76277d1e1f20d4238766eb6932

@@ -45,9 +45,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Equal"
           name: "Equal"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -96,7 +96,7 @@ compilation_unit {
                             field: "x"
                             field: "x"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -121,7 +121,7 @@ compilation_unit {
                             field: "y"
                             field: "y"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/653708e15ee3faf059b918f581abff432d21cdaf → explorer/fuzzing/fuzzer_corpus/0d6963786d58523dfc5e68326f6efd08fd1b2ea4

@@ -50,9 +50,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Equal"
               name: "Equal"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -98,7 +98,7 @@ compilation_unit {
                             field: "value"
                             field: "value"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/61906ca73c6e3deb1f1650ae9a5f7470464c7116 → explorer/fuzzing/fuzzer_corpus/0e06d7c74d2b9659b8ce114a93e3a4fbc1d22a5b

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 7 - 7
explorer/fuzzing/fuzzer_corpus/07281c243ec05c00152d6c076768adf1243065e6 → explorer/fuzzing/fuzzer_corpus/0e4dd54cbc641eb28c41d49f2e94d185a83bb36f

@@ -34,9 +34,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -105,9 +105,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -176,9 +176,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -207,7 +207,7 @@ compilation_unit {
                         field: "n"
                         field: "n"
                         object {
                         object {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/bab53bf6f729c963fcb37cae13a3f74a68ffcab1 → explorer/fuzzing/fuzzer_corpus/117921e41437507de0b91e32012a76cdb9ba0c9a

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -391,9 +391,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -434,7 +434,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/123b2a5baad3b9975bd241845fd936e600c55aaa → explorer/fuzzing/fuzzer_corpus/1791a58953862700da2eb1b1372b10d82366a250

@@ -90,9 +90,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -148,7 +148,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/b08b2be746979e7162058fecc045d779f29ccafb → explorer/fuzzing/fuzzer_corpus/1a0ec7a6bc5b1202b3c7218ccf0b34374a79b601

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -242,9 +242,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -285,7 +285,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/44016232b2a7dad2f134b97acd279ed221246ced → explorer/fuzzing/fuzzer_corpus/26db64985a757f7b85a8dec0687537da313e3ab9

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -124,9 +124,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -173,7 +173,7 @@ compilation_unit {
                         op: Mul
                         op: Mul
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                         arguments {
                         arguments {

+ 8 - 8
explorer/fuzzing/fuzzer_corpus/09bfdb72621215dcf457b12c78d419e390e35ff3 → explorer/fuzzing/fuzzer_corpus/2707aba6bd4e18dee9a06c5b7a9d3888c95744aa

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Get"
           name: "Get"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -101,7 +101,7 @@ compilation_unit {
                     field: "data"
                     field: "data"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }
@@ -114,10 +114,10 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Put"
           name: "Put"
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -165,7 +165,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -192,9 +192,9 @@ compilation_unit {
               }
               }
             }
             }
           }
           }
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/ea0609a3d2aa3d758f47497050c93e247a0cbfd5 → explorer/fuzzing/fuzzer_corpus/2728279e53d9502d0660d640ba26c615dd8ebe13

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 9 - 9
explorer/fuzzing/fuzzer_corpus/6c13d857e3a677208e4f0879c63181e96b56927a → explorer/fuzzing/fuzzer_corpus/2ccfd82373462cdd54eb11ff6eb0c71d47bb07c5

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -162,9 +162,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -205,7 +205,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {
@@ -318,9 +318,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -373,7 +373,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -409,7 +409,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/0365a66b097b7c504a3b78ebe1cb3ca297ad8e14 → explorer/fuzzing/fuzzer_corpus/2d212c330ab39e4ad5cffeed456bae14a8385c09

@@ -50,9 +50,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -81,7 +81,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 8 - 8
explorer/fuzzing/fuzzer_corpus/8e46852a08cb3b0e3e97446339b7e86c8f7758b9 → explorer/fuzzing/fuzzer_corpus/3131bb7cd777c8112ea2f2221f1b4624d55b191e

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -77,9 +77,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "F"
               name: "F"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -130,7 +130,7 @@ compilation_unit {
                                   field: "n"
                                   field: "n"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -221,9 +221,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -257,7 +257,7 @@ compilation_unit {
                               field: "m"
                               field: "m"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/2ec468114a962bc61ddd735888caecb69d767a13 → explorer/fuzzing/fuzzer_corpus/3453c49a9e56c74c0a4f27ab89d926019282f8d4

@@ -50,9 +50,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -81,7 +81,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/eed9a8047e9e1d6baba1b3418cda8a46bc6dc98c → explorer/fuzzing/fuzzer_corpus/36a2d32d4f486e410ce1d93b17556a459902a8db

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -151,9 +151,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -204,7 +204,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -232,7 +232,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -260,9 +260,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -312,7 +312,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -335,7 +335,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/2f88d1825e7b0e71cb625b8ab1beaecd174cd0f8 → explorer/fuzzing/fuzzer_corpus/37152a1f5e181bd2c1fd48c3548547efa925c5a4

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -67,9 +67,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -205,9 +205,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -258,7 +258,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -286,7 +286,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -314,9 +314,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -366,7 +366,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -389,7 +389,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/463459b2095f2fe51a780ba4f241546683342030 → explorer/fuzzing/fuzzer_corpus/3e01369a9e8cf3f970c089945ec276bcbeede55c

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -258,9 +258,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -310,7 +310,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -333,7 +333,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/fea1ce88ab8d7768650399ad06d44177513c4e20 → explorer/fuzzing/fuzzer_corpus/3f7bb85bd8057570d53cd4c3fe81bfd439acdd0a

@@ -50,10 +50,10 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetSetX"
           name: "GetSetX"
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -113,7 +113,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -133,7 +133,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/6c1759300095598a38caba72e0ba091e3678602e → explorer/fuzzing/fuzzer_corpus/40db19330f5238fc82719e45fa0e8297974ed182

@@ -51,9 +51,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -82,7 +82,7 @@ compilation_unit {
                     field: "n"
                     field: "n"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/afcfa1c92cf7625ad7a5356c16810d25499a35c2 → explorer/fuzzing/fuzzer_corpus/47c1f4fc527c9a4a4c6cd4e313ac2e29555066cb

@@ -70,10 +70,10 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetSetX"
           name: "GetSetX"
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -133,7 +133,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -153,7 +153,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/3f36b86f130c66e151ab96490cfb530a5ea32f52 → explorer/fuzzing/fuzzer_corpus/48f9d3769404e19f8a70776360bade0822e2082c

@@ -34,9 +34,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -65,7 +65,7 @@ compilation_unit {
                         field: "n"
                         field: "n"
                         object {
                         object {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/36170fc5efef82cc7db909323cca1c914df5c3e8 → explorer/fuzzing/fuzzer_corpus/4d41ecad50244310db98271c3707cef0b04bc97b

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -84,9 +84,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -133,7 +133,7 @@ compilation_unit {
                         op: Mul
                         op: Mul
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                         arguments {
                         arguments {

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/7925d780a840fd84fe05274a99fc48ebc4197d0f → explorer/fuzzing/fuzzer_corpus/4fa346a44b96db2ad5cfe3c2ad505d893114843c

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -62,9 +62,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "F"
               name: "F"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/fb1419c561f37a9bcec76471a5d4a63dfdf9ddda → explorer/fuzzing/fuzzer_corpus/5090b9a0b3c3ffbc56868aec59170a189673a98a

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -258,9 +258,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -310,7 +310,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -333,7 +333,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/d6c33799ef1a296eb42a1f0b7aecb1cef098a605 → explorer/fuzzing/fuzzer_corpus/5269bae96f6771c6ae4ba67e36b7f66fda42daea

@@ -6,9 +6,9 @@ compilation_unit {
   declarations {
   declarations {
     function {
     function {
       name: "F"
       name: "F"
-      me_pattern {
+      self_pattern {
         binding_pattern {
         binding_pattern {
-          name: "me"
+          name: "self"
           type {
           type {
             expression_pattern {
             expression_pattern {
               expression {
               expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/3a474b4f07864125949f0ad5c1e9f1d2bdab5f61 → explorer/fuzzing/fuzzer_corpus/53ca8c76d3cb30196eeff9b8117a5bf5ecd5ffea

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/cf779a4c902fb75c8b1cf85acdbd1d3f0f0fe653 → explorer/fuzzing/fuzzer_corpus/548312593165d1b8bfa24117a94ab5dce977df4d

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Go"
           name: "Go"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -76,9 +76,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Go"
           name: "Go"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/8baa022df7b9c840038a529f9eb795b6b48a03be → explorer/fuzzing/fuzzer_corpus/563bee2ef50a868465e6161ebe820288f905cbb7

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Get"
           name: "Get"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 8 - 8
explorer/fuzzing/fuzzer_corpus/8bf2b8d725f56e603a8d82ea54a481a6f68be7fb → explorer/fuzzing/fuzzer_corpus/5751f95809ae96f25cc7a80764bf204a5ab173e6

@@ -22,9 +22,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -198,9 +198,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -229,7 +229,7 @@ compilation_unit {
                         field: "val"
                         field: "val"
                         object {
                         object {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -276,9 +276,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -309,7 +309,7 @@ compilation_unit {
                       name: "val"
                       name: "val"
                       expression {
                       expression {
                         identifier {
                         identifier {
-                          name: "me"
+                          name: "self"
                         }
                         }
                       }
                       }
                     }
                     }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/560fd1959c1732a2eec83ee7bcc6639f5fcd2d5c → explorer/fuzzing/fuzzer_corpus/57d2c890c2c3bf9d7e028a46d7ddce6deee5c2aa

@@ -36,9 +36,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 9 - 9
explorer/fuzzing/fuzzer_corpus/4ed62c38f4c6ad4bb83573935838dff3c9aad127 → explorer/fuzzing/fuzzer_corpus/587f9e61674de6917f39a998a4f94e932fa3d028

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -162,9 +162,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -205,7 +205,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {
@@ -331,9 +331,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -425,7 +425,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -461,7 +461,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/4fdbadb3f068229c55d2b62cf7ebd45faeb1143f → explorer/fuzzing/fuzzer_corpus/5880e23795708e905d50bc8e9e0d62ac9a5f42bc

@@ -24,10 +24,10 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetSetX"
           name: "GetSetX"
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -87,7 +87,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -107,7 +107,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/999821a3d97439a1236c401db4d87f3dae77b4f5 → explorer/fuzzing/fuzzer_corpus/5bbfea7599c4d80c75ef4780a6ed6df8bce2da8f

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/59d8a9bedcfef28a632a6b3bd855c7f441387135 → explorer/fuzzing/fuzzer_corpus/5bd05de92a0614fd1b2821395bedcc8eb548161d

@@ -45,9 +45,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Equal"
           name: "Equal"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -96,7 +96,7 @@ compilation_unit {
                             field: "x"
                             field: "x"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -121,7 +121,7 @@ compilation_unit {
                             field: "y"
                             field: "y"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 20 - 20
explorer/fuzzing/fuzzer_corpus/c808c2c70d0ad416b35ca653e6e908aa95fdcbdc → explorer/fuzzing/fuzzer_corpus/5c737d5839a3ca0db8b0f112dd693420a707b8e5

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -151,9 +151,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -204,7 +204,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -232,7 +232,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -260,9 +260,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -312,7 +312,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -335,7 +335,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -373,9 +373,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -426,7 +426,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -454,7 +454,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -482,9 +482,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -534,7 +534,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -557,7 +557,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/49b57fa298aea0184f8ab9aeda83c5f3e8f8ab13 → explorer/fuzzing/fuzzer_corpus/5e059c72b3fbba74b9c3cb7a21be19d36467f6f9

@@ -82,9 +82,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -132,7 +132,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/58ca4b8b4be539d1cd33fd1f41dab8fb7fddfe67 → explorer/fuzzing/fuzzer_corpus/5face9a218209d4da098180061d730d861b81e89

@@ -50,9 +50,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -81,7 +81,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/8d59ad4812195d59b1813caa8c6feac199c24ed8 → explorer/fuzzing/fuzzer_corpus/60cb95fa0986cc17e934a7014593f76fba70c461

@@ -34,9 +34,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/c3acb2d65aedcef3302759a6c379c04114c2a7bf → explorer/fuzzing/fuzzer_corpus/61082aaaa73d240be4b52a732f1631e158927cc7

@@ -77,9 +77,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -109,7 +109,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/ac6a41fa211e6c08161392ed1ea9d70aa9c4f6e5 → explorer/fuzzing/fuzzer_corpus/6516cff3041ce9f5f0ae1ec62ab391c1eb83dec6

@@ -57,9 +57,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -96,7 +96,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/2f0d66e7cdd3b7f810d91d332e5c7e3cc796fbfb → explorer/fuzzing/fuzzer_corpus/66ebec331ac305442c9fecdbc852080d09861c6e

@@ -21,9 +21,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "G"
           name: "G"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/62713efded33b4ad6640782143f04d99c8fd608c → explorer/fuzzing/fuzzer_corpus/6715a67f217226aa888ed4b6768d8206279dd6e3

@@ -51,9 +51,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -84,7 +84,7 @@ compilation_unit {
                       name: "n"
                       name: "n"
                       expression {
                       expression {
                         identifier {
                         identifier {
-                          name: "me"
+                          name: "self"
                         }
                         }
                       }
                       }
                     }
                     }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/cab6edeb1c182fa58bb76d0482be0fb50985ffd3 → explorer/fuzzing/fuzzer_corpus/6b0e214022e8279a0f00ac842fea663a7d7bc56e

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -77,9 +77,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "F"
               name: "F"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -130,7 +130,7 @@ compilation_unit {
                                   field: "n"
                                   field: "n"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/e73179def3233b31d1d7e3432e17d7fe72827c2a → explorer/fuzzing/fuzzer_corpus/72dc9d2c26aed0b96a46e93c8e3003cfda8ade56

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -151,9 +151,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -204,7 +204,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -232,7 +232,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -260,9 +260,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -312,7 +312,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -335,7 +335,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 6 - 6
explorer/fuzzing/fuzzer_corpus/ef2a9d01cf810f7877657f6df0ee1c8f781b3ae8 → explorer/fuzzing/fuzzer_corpus/7739c384b82e7dd2630d7c342173d00b40e4e77c

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -186,9 +186,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -239,7 +239,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -267,7 +267,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 6 - 6
explorer/fuzzing/fuzzer_corpus/7bd9386f3d50152ec0aea2d05acfb75e52e8bbc8 → explorer/fuzzing/fuzzer_corpus/795592079e82d349ba64cf6618596bc9abf88272

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -62,7 +62,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -151,9 +151,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -187,7 +187,7 @@ compilation_unit {
                               field: "m"
                               field: "m"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/7290cd3740061ca743340081004588be481950a0 → explorer/fuzzing/fuzzer_corpus/7ce654c7dbc1242d117e03ee292315c464c0e50e

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -452,9 +452,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -495,7 +495,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/df5874ce72c8eb16f502658832ffd18bbef93e8f → explorer/fuzzing/fuzzer_corpus/7df6280ae4f28302e5e218fd59674f4df02fbf0a

@@ -36,9 +36,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/b9584eaa92b5a9a6dfcd5d9c5ab31436c2eaab56 → explorer/fuzzing/fuzzer_corpus/83b0b7edd81d74202ec5b6029ec10514cc76b05a

@@ -57,9 +57,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -96,7 +96,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/859ea021e725bf8c1ea850d2594f7277361415dc → explorer/fuzzing/fuzzer_corpus/83fe5e68f200c54bdbe2bef8b6368e81f3bf9544

@@ -30,9 +30,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Equal"
           name: "Equal"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 8 - 8
explorer/fuzzing/fuzzer_corpus/d27a1a2892fb18e817bd5f9e19722e5a1696ff2e → explorer/fuzzing/fuzzer_corpus/84f58bae012424a5461e9bd7c33efd8cac43a70f

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/53dc2439c30911b52bfbc9bfbe799c7e4687c7d9 → explorer/fuzzing/fuzzer_corpus/8cc3347e8e6ae3631e051b66067b6763f223f2a0

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 10 - 10
explorer/fuzzing/fuzzer_corpus/2b837161326c7b882bbdd46eeab9e54ad90f714d → explorer/fuzzing/fuzzer_corpus/91d28b3eb682e6191e35c9292d009c5ca616074a

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -258,9 +258,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/ef0e8f35497f5c70881c2f187e8c2fe11e259524 → explorer/fuzzing/fuzzer_corpus/91e9c32f3c3bc1ea0693f919f098828ad7860e28

@@ -22,9 +22,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -184,9 +184,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/f3e2caaa2ea293093d127d2dd6f43c0827100b77 → explorer/fuzzing/fuzzer_corpus/94c9bbbf4dad5466e7b504f2268c73ea1c078da3

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -149,9 +149,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -202,7 +202,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -230,7 +230,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -258,9 +258,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -310,7 +310,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -333,7 +333,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 11 - 11
explorer/fuzzing/fuzzer_corpus/88162709275c9980ab413687953204f6058c4bc2 → explorer/fuzzing/fuzzer_corpus/95a9c60ab5e4c36a851c95daf9f4ab05d231616e

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Get"
           name: "Get"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -101,7 +101,7 @@ compilation_unit {
                     field: "data"
                     field: "data"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }
@@ -114,10 +114,10 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Put"
           name: "Put"
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -165,7 +165,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -206,10 +206,10 @@ compilation_unit {
               }
               }
             }
             }
           }
           }
-          me_pattern {
+          self_pattern {
             addr_pattern {
             addr_pattern {
               binding_pattern {
               binding_pattern {
-                name: "me"
+                name: "self"
                 type {
                 type {
                   expression_pattern {
                   expression_pattern {
                     expression {
                     expression {
@@ -257,7 +257,7 @@ compilation_unit {
                         op: Deref
                         op: Deref
                         arguments {
                         arguments {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }
@@ -284,9 +284,9 @@ compilation_unit {
               }
               }
             }
             }
           }
           }
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/0136dad99e8d30078c7bc3d04e0f5092cb11bba6 → explorer/fuzzing/fuzzer_corpus/96f08313767988395fc4ff5ee5004de1f859bcf3

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -52,9 +52,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -151,9 +151,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -204,7 +204,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -232,7 +232,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -260,9 +260,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -312,7 +312,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -335,7 +335,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 2 - 2
explorer/fuzzing/fuzzer_corpus/4b393503fcb60d124fc7f9e348c0fd876703c97f → explorer/fuzzing/fuzzer_corpus/96fba84df7af5f15b9b893854390d1c5948f69b6

@@ -48,9 +48,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Make"
           name: "Make"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/c80f0cdec56c9c80a75af74577046f6f42ea264e → explorer/fuzzing/fuzzer_corpus/9a4ba2e3d195dc6c6227fe1601d3e060a6e7f6aa

@@ -51,9 +51,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Convert"
           name: "Convert"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -82,7 +82,7 @@ compilation_unit {
                     field: "n"
                     field: "n"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/d0855246f8a9ed518dd7c303b8613029a7219d11 → explorer/fuzzing/fuzzer_corpus/9a788bace10906aa7b48858da3e4da9a0f25e82a

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/acd454a580934f272d848c8130dd11eb2acebb7e → explorer/fuzzing/fuzzer_corpus/9cba43f25b464b5858b7c390a2579220e467624a

@@ -64,9 +64,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -101,7 +101,7 @@ compilation_unit {
                                 field: "v1"
                                 field: "v1"
                                 object {
                                 object {
                                   identifier {
                                   identifier {
-                                    name: "me"
+                                    name: "self"
                                   }
                                   }
                                 }
                                 }
                               }
                               }
@@ -111,7 +111,7 @@ compilation_unit {
                                 field: "v2"
                                 field: "v2"
                                 object {
                                 object {
                                   identifier {
                                   identifier {
-                                    name: "me"
+                                    name: "self"
                                   }
                                   }
                                 }
                                 }
                               }
                               }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/a486a13761ef2a4f2aee0c606a8f0f8909455f5b → explorer/fuzzing/fuzzer_corpus/9d75ba5391f79aac733cc4129010928b3684c9c9

@@ -22,9 +22,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -192,9 +192,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -223,7 +223,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/8f567ed115d73c525dd84102f7dc83b761f43717 → explorer/fuzzing/fuzzer_corpus/9f30c25aa9b6303e94e12c457c2e126c95bbbf91

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -122,9 +122,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "F"
               name: "F"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -161,7 +161,7 @@ compilation_unit {
                             field: "n"
                             field: "n"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/a29d5fdb3bd77cbf61e5f07718cb825da28ad192 → explorer/fuzzing/fuzzer_corpus/a241138ba16f277e89d9e6e345073179328b043c

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -67,9 +67,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -218,9 +218,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Add"
               name: "Add"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -271,7 +271,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -299,7 +299,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -327,9 +327,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Scale"
               name: "Scale"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -379,7 +379,7 @@ compilation_unit {
                                   field: "x"
                                   field: "x"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }
@@ -402,7 +402,7 @@ compilation_unit {
                                   field: "y"
                                   field: "y"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/a00b940d7948547679a79e9adb531b95d63b935e → explorer/fuzzing/fuzzer_corpus/a259463d1805998765e3da5a692fdce91fdfe003

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -67,9 +67,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -232,9 +232,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -285,7 +285,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -313,7 +313,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -341,9 +341,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -393,7 +393,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -416,7 +416,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 12 - 12
explorer/fuzzing/fuzzer_corpus/4a091f159e80a39b3356cf1328c1b4481da0c2a8 → explorer/fuzzing/fuzzer_corpus/a758174457d5b22eb2a94c9cc72e4341dfa97ff0

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -67,9 +67,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -244,9 +244,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -333,7 +333,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -361,7 +361,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -389,9 +389,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Scale"
           name: "Scale"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -465,7 +465,7 @@ compilation_unit {
                               field: "x"
                               field: "x"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }
@@ -488,7 +488,7 @@ compilation_unit {
                               field: "y"
                               field: "y"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/e966e46ab441ed7b8d38414abeafd8e8f191d572 → explorer/fuzzing/fuzzer_corpus/a7d494461ef98c3ec480cfbe332b94c53123a2ca

@@ -69,9 +69,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Op"
           name: "Op"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -121,7 +121,7 @@ compilation_unit {
                               field: "n"
                               field: "n"
                               object {
                               object {
                                 identifier {
                                 identifier {
-                                  name: "me"
+                                  name: "self"
                                 }
                                 }
                               }
                               }
                             }
                             }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/4227c83c1c22d8b5959a50c36e7f48bef8f80c57 → explorer/fuzzing/fuzzer_corpus/aaa6ab93c6b3c8e212cd59f1d9fea90258723519

@@ -64,9 +64,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -96,7 +96,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/393e58a1743cf2f0b3d90112ce1591e420209994 → explorer/fuzzing/fuzzer_corpus/af25c1403b2f590b2f02aca103b3d3aaf754c21f

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -58,7 +58,7 @@ compilation_unit {
                             field: "H"
                             field: "H"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -104,9 +104,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "H"
           name: "H"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {

+ 5 - 5
explorer/fuzzing/fuzzer_corpus/0a171cb7acaed31daaaa6f8671f3664368ce831d → explorer/fuzzing/fuzzer_corpus/b6373f76cc92fb1fe208dc91648cf91401135f24

@@ -9,9 +9,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "F"
           name: "F"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -77,9 +77,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "F"
               name: "F"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -130,7 +130,7 @@ compilation_unit {
                                   field: "n"
                                   field: "n"
                                   object {
                                   object {
                                     identifier {
                                     identifier {
-                                      name: "me"
+                                      name: "self"
                                     }
                                     }
                                   }
                                   }
                                 }
                                 }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/697a7ee475236d847755ce89e8f690e4e015d153 → explorer/fuzzing/fuzzer_corpus/be78316bb9ec1686ddfa3c5643d8f5b9d898ad7d

@@ -64,9 +64,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -98,7 +98,7 @@ compilation_unit {
                             field: "v1"
                             field: "v1"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -108,7 +108,7 @@ compilation_unit {
                             field: "v2"
                             field: "v2"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 7 - 7
explorer/fuzzing/fuzzer_corpus/4dcc61c04749ea65b656ec38bbb35f67726cc641 → explorer/fuzzing/fuzzer_corpus/bfef4e635dfb263c727586a8beb90b3e1e7d45bc

@@ -50,9 +50,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -81,7 +81,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }
@@ -94,9 +94,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetXY"
           name: "GetXY"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -137,7 +137,7 @@ compilation_unit {
                             field: "GetX"
                             field: "GetX"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -153,7 +153,7 @@ compilation_unit {
                         field: "y"
                         field: "y"
                         object {
                         object {
                           identifier {
                           identifier {
-                            name: "me"
+                            name: "self"
                           }
                           }
                         }
                         }
                       }
                       }

+ 3 - 3
explorer/fuzzing/fuzzer_corpus/9f8104c454c3520bd68025e71d4d3fd148a96c0a → explorer/fuzzing/fuzzer_corpus/c4f7cc23c6d83486f2901f99e48c65d815b3b919

@@ -77,9 +77,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "GetX"
           name: "GetX"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -122,7 +122,7 @@ compilation_unit {
                     field: "x"
                     field: "x"
                     object {
                     object {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                   }
                   }

+ 4 - 4
explorer/fuzzing/fuzzer_corpus/c4857afa26c2cd7eca7654b0d283170094e9d601 → explorer/fuzzing/fuzzer_corpus/c7287f3ba5df5bacd5a9f2d922af57f635dfe245

@@ -64,9 +64,9 @@ compilation_unit {
           members {
           members {
             function {
             function {
               name: "Convert"
               name: "Convert"
-              me_pattern {
+              self_pattern {
                 binding_pattern {
                 binding_pattern {
-                  name: "me"
+                  name: "self"
                   type {
                   type {
                     expression_pattern {
                     expression_pattern {
                       expression {
                       expression {
@@ -98,7 +98,7 @@ compilation_unit {
                             field: "v1"
                             field: "v1"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -108,7 +108,7 @@ compilation_unit {
                             field: "v2"
                             field: "v2"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }

+ 13 - 13
explorer/fuzzing/fuzzer_corpus/5de25e63d76841ad22c466e5bc864e4bc78e1906 → explorer/fuzzing/fuzzer_corpus/c9eaac22587d9772d74df77cdb8c648e0fc49363

@@ -24,9 +24,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -159,9 +159,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Clone"
           name: "Clone"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -221,7 +221,7 @@ compilation_unit {
                           field: "x"
                           field: "x"
                           object {
                           object {
                             identifier {
                             identifier {
-                              name: "me"
+                              name: "self"
                             }
                             }
                           }
                           }
                         }
                         }
@@ -234,7 +234,7 @@ compilation_unit {
                           field: "y"
                           field: "y"
                           object {
                           object {
                             identifier {
                             identifier {
-                              name: "me"
+                              name: "self"
                             }
                             }
                           }
                           }
                         }
                         }
@@ -250,9 +250,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "SumXY"
           name: "SumXY"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -300,7 +300,7 @@ compilation_unit {
                             field: "x"
                             field: "x"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -314,7 +314,7 @@ compilation_unit {
                             field: "y"
                             field: "y"
                             object {
                             object {
                               identifier {
                               identifier {
-                                name: "me"
+                                name: "self"
                               }
                               }
                             }
                             }
                           }
                           }
@@ -414,9 +414,9 @@ compilation_unit {
       members {
       members {
         function {
         function {
           name: "Add"
           name: "Add"
-          me_pattern {
+          self_pattern {
             binding_pattern {
             binding_pattern {
-              name: "me"
+              name: "self"
               type {
               type {
                 expression_pattern {
                 expression_pattern {
                   expression {
                   expression {
@@ -457,7 +457,7 @@ compilation_unit {
                     op: Add
                     op: Add
                     arguments {
                     arguments {
                       identifier {
                       identifier {
-                        name: "me"
+                        name: "self"
                       }
                       }
                     }
                     }
                     arguments {
                     arguments {

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است