Renamed ExtendMessage to Extend.
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
index dfc694f..6524ed1 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_localExtensionsFrom_Test.java
@@ -43,7 +43,7 @@
   // extend Person {}
   @Test public void should_return_extensions_of_message() {
     Message m = xtext.find("Person", " {", Message.class);
-    List<ExtendMessage> extensions = new ArrayList<ExtendMessage>(finder.localExtensionsOf(m));
+    List<Extend> extensions = new ArrayList<Extend>(finder.localExtensionsOf(m));
     Message referred = extensions.get(0).getMessage().getType();
     assertSame(m, referred);
   }
diff --git a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
index 037ff2d..f3f045c 100644
--- a/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
+++ b/com.google.eclipse.protobuf.test/src/com/google/eclipse/protobuf/model/util/ModelFinder_messageFrom_Test.java
@@ -20,7 +20,7 @@
 import com.google.eclipse.protobuf.protobuf.*;
 
 /**
- * Tests for <code>{@link ModelFinder#messageFrom(ExtendMessage)}</code>.
+ * Tests for <code>{@link ModelFinder#messageFrom(Extend)}</code>.
  *
  * @author alruiz@google.com (Alex Ruiz)
  */
@@ -42,13 +42,13 @@
   //
   // extend Person {}
   @Test public void should_return_message_from_extension() {
-    ExtendMessage extension = xtext.find("Person", " {}", ExtendMessage.class);
+    Extend extension = xtext.find("Person", " {}", Extend.class);
     Message message = finder.messageFrom(extension);
     assertThat(message.getName(), equalTo("Person"));
   }
 
   @Test public void should_return_null_if_extension_is_not_referring_to_message() {
-    ExtendMessage extension = mock(ExtendMessage.class);
+    Extend extension = mock(Extend.class);
     when(extension.getMessage()).thenReturn(null);
     assertNull(finder.messageFrom(extension));
   }
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
index 60f312d..6a6dcd9 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/editor/syntaxcoloring/ProtobufSemanticHighlightingCalculator.java
@@ -55,8 +55,8 @@
         highlight((ComplexType) element, acceptor);
         continue;
       }
-      if (element instanceof ExtendMessage) {
-        highlight((ExtendMessage) element, acceptor);
+      if (element instanceof Extend) {
+        highlight((Extend) element, acceptor);
         continue;
       }
       if (element instanceof Service) {
@@ -65,7 +65,7 @@
     }
   }
 
-  private void highlight(ExtendMessage extend, IHighlightedPositionAcceptor acceptor) {
+  private void highlight(Extend extend, IHighlightedPositionAcceptor acceptor) {
     highlightFirstFeature(extend, EXTEND_MESSAGE__MESSAGE, acceptor, MESSAGE_ID);
     for (MessageElement element : extend.getElements()) {
       highlight(element, acceptor);
@@ -102,8 +102,8 @@
       highlight((ComplexType) element, acceptor);
       return;
     }
-    if (element instanceof ExtendMessage) {
-      highlight((ExtendMessage) element, acceptor);
+    if (element instanceof Extend) {
+      highlight((Extend) element, acceptor);
     }
   }
 
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
index 85bc753..b4499ce 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Images.java
@@ -41,7 +41,7 @@
   private static final Map<Class<?>, String> IMAGES_BY_TYPE = new HashMap<Class<?>, String>();
   static {
     IMAGES_BY_TYPE.put(Enum.class, "enum.gif");
-    IMAGES_BY_TYPE.put(ExtendMessage.class, "extend.gif");
+    IMAGES_BY_TYPE.put(Extend.class, "extend.gif");
     IMAGES_BY_TYPE.put(Extensions.class, "extensions.gif");
     IMAGES_BY_TYPE.put(Group.class, "group.gif");
     IMAGES_BY_TYPE.put(Import.class, "import.gif");
diff --git a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
index a88aaa0..ae4e1df 100644
--- a/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
+++ b/com.google.eclipse.protobuf.ui/src/com/google/eclipse/protobuf/ui/labeling/Labels.java
@@ -38,8 +38,8 @@
       Option option = (Option) o;
       return labelFor(option);
     }
-    if (o instanceof ExtendMessage) {
-      ExtendMessage extend = (ExtendMessage) o;
+    if (o instanceof Extend) {
+      Extend extend = (Extend) o;
       return labelFor(extend);
     }
     if (o instanceof Extensions) {
@@ -98,7 +98,7 @@
     }
   }
 
-  private Object labelFor(ExtendMessage e) {
+  private Object labelFor(Extend e) {
     return messageName(e.getMessage());
   }
 
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
index ce6f408..47dcb5e 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/Protobuf.xtext
@@ -21,7 +21,7 @@
   'syntax' '=' name=STRING ';';
 
 ProtobufElement:
-  Package | Import | Option | ComplexType | ExtendMessage | Service;
+  Package | Import | Option | ComplexType | Extend | Service;
 
 Package:
   'package' name=QualifiedName ';';
@@ -47,7 +47,7 @@
   '}' (';')?;
 
 MessageElement:
-  Option | Extensions | ComplexType | Property | ExtendMessage;
+  Option | Extensions | ComplexType | Property | Extend;
 
 Extensions:
   'extensions' ranges+=Range (',' ranges+=Range)* ';';
@@ -65,7 +65,7 @@
   '}' (';')?;
 
 GroupElement:
-  Option | Property | Group | Enum | ExtendMessage;
+  Option | Property | Group | Enum | Extend;
 
 Property:
   modifier=Modifier type=AbstractTypeRef name=Name '=' index=(LONG | HEX)
@@ -176,7 +176,7 @@
 terminal NUMBER:
   '0'..'9';
 
-ExtendMessage:
+Extend:
   'extend' message=MessageRef '{'
   elements+=MessageElement*
   '}' (';')?;
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
index 23e3b14..df316a9 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/model/util/ModelFinder.java
@@ -37,13 +37,13 @@
    * @param m the given message.
    * @return all the <strong>local</strong> extensions of the given message, or an empty collection if none is found.
    */
-  public Collection<ExtendMessage> localExtensionsOf(Message m) {
+  public Collection<Extend> localExtensionsOf(Message m) {
     return extensionsOf(m, rootOf(m));
   }
   
-  public Collection<ExtendMessage> extensionsOf(Message m, Protobuf root) {
-    Set<ExtendMessage> extensions = new HashSet<ExtendMessage>();
-    for (ExtendMessage extension : getAllContentsOfType(root, ExtendMessage.class)) {
+  public Collection<Extend> extensionsOf(Message m, Protobuf root) {
+    Set<Extend> extensions = new HashSet<Extend>();
+    for (Extend extension : getAllContentsOfType(root, Extend.class)) {
       Message referred = messageFrom(extension);
       if (m.equals(referred)) extensions.add(extension);
     }
@@ -55,7 +55,7 @@
    * @param e the given extension.
    * @return the message from the given extension, or {@code null} if the extension is not referring to a message.
    */
-  public Message messageFrom(ExtendMessage e) {
+  public Message messageFrom(Extend e) {
     MessageRef ref = e.getMessage();
     return ref == null ? null : ref.getType();
   }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
index 5aaeca3..eacb2ed 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionFieldScopeFinder.java
@@ -119,7 +119,7 @@
       Message propertyType = modelFinder.messageTypeOf((Property) e);
       if (propertyType == null) return emptyList();
       Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-      for (ExtendMessage extend : modelFinder.localExtensionsOf(propertyType)) {
+      for (Extend extend : modelFinder.localExtensionsOf(propertyType)) {
         for (MessageElement element : extend.getElements()) {
           if (!(element instanceof IndexedElement)) continue;
           IndexedElement current = (IndexedElement) element;
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
index 33523c6..97ddcbc 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/CustomOptionScopeFinder.java
@@ -38,7 +38,7 @@
     OptionType optionType = optionTypeFrom(criteria);
     if (!isExtendingOptionMessage(target, optionType)) return emptySet();
     Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-    ExtendMessage extend = (ExtendMessage) target;
+    Extend extend = (Extend) target;
     for (MessageElement e : extend.getElements()) {
       descriptions.addAll(qualifiedNamesDescriptions.qualifiedNamesForOption(e));
     }
@@ -49,7 +49,7 @@
     OptionType optionType = optionTypeFrom(criteria);
     if (!isExtendingOptionMessage(target, optionType)) return emptySet();
     Set<IEObjectDescription> descriptions = new HashSet<IEObjectDescription>();
-    ExtendMessage extend = (ExtendMessage) target;
+    Extend extend = (Extend) target;
     for (MessageElement e : extend.getElements()) {
       List<QualifiedName> names = localNamesProvider.namesForOption(e);
       int nameCount = names.size();
@@ -68,8 +68,8 @@
   }
 
   private boolean isExtendingOptionMessage(Object o, OptionType optionType) {
-    if (!(o instanceof ExtendMessage)) return false;
-    Message message = modelFinder.messageFrom((ExtendMessage) o);
+    if (!(o instanceof Extend)) return false;
+    Message message = modelFinder.messageFrom((Extend) o);
     if (message == null) return false;
     return optionType.messageName().equals(message.getName());
   }
diff --git a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
index ad804d5..c4e8de8 100644
--- a/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
+++ b/com.google.eclipse.protobuf/src/com/google/eclipse/protobuf/scoping/FieldNotationScopeFinder.java
@@ -92,7 +92,7 @@
     Message propertyType = modelFinder.messageTypeOf(p);
     // check first in descriptor.proto
     
-    for (ExtendMessage extend : modelFinder.extensionsOf(propertyType, modelFinder.rootOf(p))) {
+    for (Extend extend : modelFinder.extensionsOf(propertyType, modelFinder.rootOf(p))) {
       for (MessageElement element : extend.getElements()) {
         if (!(element instanceof Property)) continue;
         descriptions.addAll(qualifiedNameDescriptions.qualifiedNames(element));