[cfe-commits] r96447 - in /cfe/trunk: include/clang/AST/Attr.h include/clang/Basic/DiagnosticSemaKinds.td include/clang/Parse/AttributeList.h lib/AST/AttrImpl.cpp lib/Frontend/PCHReaderDecl.cpp lib/Frontend/PCHWriter.cpp lib/Parse/AttributeList.cpp lib/Sema/SemaDeclAttr.cpp

Chris Lattner clattner at apple.com
Tue Feb 16 21:06:55 PST 2010


On Feb 16, 2010, at 6:37 PM, Ted Kremenek wrote:

> Author: kremenek
> Date: Tue Feb 16 20:37:45 2010
> New Revision: 96447
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=96447&view=rev
> Log:
> Add IBAction attribute to keep the IBOutlet attribute company.

Nifty.

> 
> -  // The IBOutlet attribute only applies to instance variables of Objective-C
> -  // classes.
> -  if (isa<ObjCIvarDecl>(d) || isa<ObjCPropertyDecl>(d))
> -    d->addAttr(::new (S.Context) IBOutletAttr());
> +  // The IBOutlet/IBAction attributes only apply to instance variables of
> +  // Objective-C classes.
> +  if (isa<ObjCIvarDecl>(d) || isa<ObjCPropertyDecl>(d)) {
> +    switch (Attr.getKind()) {
> +      case AttributeList::AT_IBAction:
> +        d->addAttr(::new (S.Context) IBActionAttr());
> +        break;
> +      case AttributeList::AT_IBOutlet:
> +        d->addAttr(::new (S.Context) IBOutletAttr());
> +        break;
> +      default:
> +        llvm_unreachable("Invalid IB attribute");
> +    }

Can't this just be a simple if?  Why the switch in an if?






More information about the cfe-commits mailing list