Minor comment improvements.

llvm-svn: 40760
This commit is contained in:
Chris Lattner 2007-08-02 21:47:28 +00:00
parent 181b01bcfd
commit 680918a6fc
2 changed files with 19 additions and 6 deletions

View File

@ -583,6 +583,8 @@ bool Expr::isNullPointerConstant(ASTContext &Ctx) const {
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 @@ OCUVectorComponent::ComponentType OCUVectorComponent::getComponentType() const {
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);

View File

@ -463,7 +463,9 @@ public:
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 @@ class OCUVectorComponent : public Expr {
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 {