Minor comment improvements.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40760 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/Expr.cpp b/AST/Expr.cpp
index 44e8271..20168b7 100644
--- a/AST/Expr.cpp
+++ b/AST/Expr.cpp
@@ -583,6 +583,8 @@
   return isIntegerConstantExpr(Val, Ctx, 0, true) && Val == 0;
 }
 
+/// getComponentType - Determine whether the components of this access are
+/// "point" "color" or "texture" elements.
 OCUVectorComponent::ComponentType OCUVectorComponent::getComponentType() const {
   // derive the component type, no need to waste space.
   const char *compStr = Accessor.getName();
@@ -593,6 +595,8 @@
   assert(0 && "getComponentType(): Illegal accessor");
 }
 
+/// containsDuplicateComponents - Return true if any element access is
+/// repeated.
 bool OCUVectorComponent::containsDuplicateComponents() const {
   const char *compStr = Accessor.getName();
   unsigned length = strlen(compStr);
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index 32f4053..1b5dbe7 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -463,7 +463,9 @@
   static bool classof(const MemberExpr *) { return true; }
 };
 
-/// OCUVectorComponent
+/// OCUVectorComponent - This represents access to specific components of a
+/// vector, and may occur on the left hand side or right hand side.  For example
+/// the following is legal:  "V.xy = V.zw" if V is a 4 element ocu vector.
 ///
 class OCUVectorComponent : public Expr {
   Expr *Base;
@@ -471,18 +473,25 @@
   SourceLocation AccessorLoc;
 public:
   enum ComponentType {
-    Point,
-    Color,
-    Texture
+    Point,   // xywz
+    Color,   // rgba
+    Texture  // uv
   };
   OCUVectorComponent(QualType ty, Expr *base, IdentifierInfo &accessor,
                      SourceLocation loc) : Expr(OCUVectorComponentClass, ty), 
                      Base(base), Accessor(accessor), AccessorLoc(loc) {}
                      
-  Expr *getBase() const { return Base; }
-  IdentifierInfo & getAccessor() const { return Accessor; }
+  const Expr *getBase() const { return Base; }
+  Expr *getBase() { return Base; }
+  
+  IdentifierInfo &getAccessor() const { return Accessor; }
+  
+  /// getComponentType - Determine whether the components of this access are
+  /// "point" "color" or "texture" elements.
   ComponentType getComponentType() const;
 
+  /// containsDuplicateComponents - Return true if any element access is
+  /// repeated.
   bool containsDuplicateComponents() const;
   
   virtual SourceRange getSourceRange() const {