| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
- Change enum name to Kind.
- Change enum constants to English strings.
Also, fix getPropertyImplementation (which probably should be renamed)
llvm-svn: 55354
|
|
|
|
| |
llvm-svn: 55353
|
|
|
|
|
|
|
| |
- Also, fix Parser to construct proper SetterName selector (should be
lifted out of parser though).
llvm-svn: 55352
|
|
|
|
|
|
|
| |
- Drop MethodAttrs parameter to ObjCMethodDecl
- Call ProcessDeclAttributeList for interface & method decls.
llvm-svn: 55068
|
|
|
|
|
|
| |
This fixes an ownership issue where FieldDecls could be owned both by an ObjCInterfaceDecl and a RecordDecl.
llvm-svn: 55037
|
|
|
|
|
|
|
|
| |
- Drop Expr.h,RecordLayout.h from ASTContext.h (for DeclBase.h and
SourceLocation.h)
- Move ASTContext constructor into implementation
llvm-svn: 54627
|
|
|
|
|
|
|
|
| |
front instead of setting it afterwards.
This change also fixes a subtle bug where the access control of an ivar would be initialized to garbage if we didn't have an explicit visibility specifier (e.g., @private).
llvm-svn: 53955
|
|
|
|
|
|
| |
simplifying code along the way and fixing a problem and memory leak or two.
llvm-svn: 53876
|
|
|
|
|
|
|
| |
various objc lists over to it. First up, the protocol list
on ObjCInterfaceDecl.
llvm-svn: 53856
|
|
|
|
|
|
| |
be consistent with ObjCInterfaceDecl.
llvm-svn: 53852
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the standard "set these as the list of protocols" interface instead of a
strange "set this as the size and then set each one to the value" interface.
The problem with the later is that it a) is completely different from
everything else, b) is awkward, and c) doesn't handle the case when a
referenced protocol is invalid: it set it to null.
This meant that all clients downstream would have to handle null protocols
in the protocol list, and empirically they didn't. Fix this by not setting
invalid protocols in the referenced protocol list, fixing the crash on
test/Sema/objc-interface-1.m
While I'm at it, clean up some locations so that we produce:
t.m:1:25: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
~~~~~~~~~~~~~~~~~~~~~ ^
instead of:
t.m:1:1: error: cannot find interface declaration for 'NSObject', superclass of 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
llvm-svn: 53846
|
|
|
|
|
|
|
| |
- Make sure ObjCIvarDecl propagates the bitfield width.
- RewriteObjC::SynthesizeIvarOffsetComputation(): Avoid using the __OFFSETOF__ mumbo jumbo for bitfields (since it isn't legal C). This fixes <rdar://problem/5986079> clang ObjC rewriter: bitfields and ivar access don't mix.
llvm-svn: 53694
|
|
|
|
| |
llvm-svn: 52063
|
|
|
|
|
|
| |
its memory and the memory of the Decls it owns.
llvm-svn: 52059
|
|
|
|
|
|
| |
reclaim its memory and the memory of the Decls it owns.
llvm-svn: 52055
|
|
|
|
|
|
|
| |
ObjCPropertyDecls, have TranslationUnit destroy ObjCPropertyDecls. This is a
horrible hack, and must be removed eventually.
llvm-svn: 52051
|
|
|
|
|
|
|
|
| |
have Destroy methods of ObjcMethodDecl and ObjCInterfaceDecl which recursively
destroy their owned Decls and Stmts. There are a few cases where it is not
clear what to do (FIXMEs included in the patch).
llvm-svn: 52050
|
|
|
|
|
|
|
|
| |
Sema::ActOnMemberReferenceExpr.
In addition to fixing the crasher, this commit fixes further improves property lookup (by searching protocols of qualified interfaces..."NSObject <prot>").
llvm-svn: 52001
|
|
|
|
|
|
| |
Fixes <rdar://problem/5984338> clang on xcode: property implementation must have its declaration in interface 'PBXOpenQuicklyModule'
llvm-svn: 51925
|
|
|
|
| |
llvm-svn: 50945
|
|
|
|
|
|
|
| |
an implementation. This fixes couple of failing prperty tests
caused by my previous patch.
llvm-svn: 50830
|
|
|
|
|
|
|
| |
properties. Couple of property tests will fail with this patch.
Will fix them next.
llvm-svn: 50818
|
|
|
|
|
|
| |
properties declared in the protocol.
llvm-svn: 50662
|
|
|
|
|
|
|
| |
protocols into class's property list and performing semantics
on them for while doing so.
llvm-svn: 50587
|
|
|
|
|
|
| |
to print declaration from its AST.
llvm-svn: 50117
|
|
|
|
|
|
| |
derived class.
llvm-svn: 50074
|
|
|
|
|
|
|
|
| |
Added iterators, methods to find property and categories.
Use them in doing semantic analysis on property implementation
declarations. Fixed typos.
llvm-svn: 50050
|
|
|
|
|
|
|
| |
Added assertion if unexpected property decls are found where they don't belong.
Consolidated property decl. printing by using a helper function.
llvm-svn: 49862
|
|
|
|
| |
llvm-svn: 49819
|
|
|
|
|
|
| |
just as they are declared in objc classes.
llvm-svn: 49817
|
|
|
|
| |
llvm-svn: 49699
|
|
|
|
| |
llvm-svn: 49565
|
|
|
|
| |
llvm-svn: 49553
|
|
|
|
| |
llvm-svn: 49262
|
|
|
|
|
|
|
|
|
|
| |
-Renamed ContextDecl -> DeclContext
-Removed DeclContext pointer from FieldDecl
-EnumDecl inherits from DeclContext, instead of TagDecl
Patch by Argiris Kirtzidis!
llvm-svn: 49261
|
|
|
|
| |
llvm-svn: 49257
|
|
|
|
|
|
|
|
|
|
|
| |
-Added ContextDecl (no TranslationUnitDecl)
-ScopedDecl class has a ContextDecl member
-FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily
-FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context.
-Moved Decl class to a "DeclBase.h" along with ContextDecl class
-CurContext is handled by Sema
llvm-svn: 49208
|
|
|
|
|
|
| |
like the rest of the classes.
llvm-svn: 48434
|
|
|
|
|
|
| |
the allocation in the class, not in sema.
llvm-svn: 48433
|
|
|
|
| |
llvm-svn: 48432
|
|
|
|
| |
llvm-svn: 48428
|
|
|
|
|
|
|
|
| |
specified. Previously, the ctor would allocate memory for the list and then
it would get filled in later. Move the allocation+filling in to be more
consistent with other stuff, e.g. the addMethods method.
llvm-svn: 48427
|
|
|
|
| |
llvm-svn: 48426
|
|
|
|
| |
llvm-svn: 48423
|
|
|
|
| |
llvm-svn: 48410
|
|
|
|
| |
llvm-svn: 48408
|
|
|
|
| |
llvm-svn: 48406
|
|
|
|
| |
llvm-svn: 48405
|
|
llvm-svn: 48404
|