| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 54101
|
|
|
|
|
|
| |
last client of the old ParseObjCProtocolReferences, so it also removes it.
llvm-svn: 54094
|
|
|
|
| |
llvm-svn: 54093
|
|
|
|
|
|
|
| |
This temporarily duplicates ParseObjCProtocolReferences, but it
will be removed in the future.
llvm-svn: 54092
|
|
|
|
| |
llvm-svn: 54091
|
|
|
|
| |
llvm-svn: 54090
|
|
|
|
| |
llvm-svn: 54032
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of a specific smallvector size.
Fix protocol lists to pass down proper location info, so we get diagnostics
like this:
t.m:3:35: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
instead of this:
t.m:3:44: error: cannot find protocol definition for 'NSCopying', referenced by 'NSWhatever'
@interface NSWhatever : NSObject <NSCopying>
^
Add a new IdentifierLocPair typedef which is just a pair<IdentifierInfo*, SourceLocation>
llvm-svn: 53883
|
|
|
|
|
|
| |
simplifying code along the way and fixing a problem and memory leak or two.
llvm-svn: 53876
|
|
|
|
| |
llvm-svn: 53864
|
|
|
|
|
|
| |
References to forward definitions should be warnings.
llvm-svn: 53863
|
|
|
|
|
|
|
| |
various objc lists over to it. First up, the protocol list
on ObjCInterfaceDecl.
llvm-svn: 53856
|
|
|
|
|
|
| |
be consistent with ObjCInterfaceDecl.
llvm-svn: 53852
|
|
|
|
| |
llvm-svn: 53849
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 53141
|
|
|
|
|
|
| |
and getCurMethodDecl() that return the appropriate Decl through CurContext.
llvm-svn: 52852
|
|
|
|
|
|
| |
instead of CurFunctionDecl.
llvm-svn: 52719
|
|
|
|
|
|
| |
Patch by David Chisnall!
llvm-svn: 52422
|
|
|
|
|
|
| |
redefinition of 'XCElementToggler' as different kind of symbol
llvm-svn: 52024
|
|
|
|
| |
llvm-svn: 52006
|
|
|
|
|
|
|
|
|
| |
'void', expected 'int'.
- Changed Sema::ObjCActOnStartOfMethodDef() to more accurately type "self" in factory methods.
- Changed Sema::ActOnInstanceMessage() to use the new type to restrict the lookup.
llvm-svn: 52005
|
|
|
|
| |
llvm-svn: 51976
|
|
|
|
|
|
|
|
| |
decl spec).
Also added a FIXME related to how we represent @properties in the ObjCInterfaceDecl AST.
llvm-svn: 51450
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
(was IdentifierInfo * before). This will make method declartations whole
lot easier.
llvm-svn: 50747
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 50532
|
|
|
|
| |
llvm-svn: 50508
|
|
|
|
| |
llvm-svn: 50320
|
|
|
|
|
|
| |
its super class. This patch is incomplete.
llvm-svn: 50228
|
|
|
|
|
|
| |
to print declaration from its AST.
llvm-svn: 50117
|
|
|
|
|
|
|
| |
ivar of same name.
Better diagnostics to bring home this point.
llvm-svn: 50065
|
|
|
|
|
|
|
| |
More property semantics checking.
First test case for ObjC2's property implementation.
llvm-svn: 50057
|
|
|
|
|
|
|
|
| |
Added iterators, methods to find property and categories.
Use them in doing semantic analysis on property implementation
declarations. Fixed typos.
llvm-svn: 50050
|
|
|
|
| |
llvm-svn: 49883
|
|
|
|
|
|
|
| |
Mostly semantic checking in this patch. This is on going
and incomplete.
llvm-svn: 49882
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
just as they are declared in objc classes.
llvm-svn: 49817
|
|
|
|
| |
llvm-svn: 49699
|
|
|
|
| |
llvm-svn: 49565
|
|
|
|
| |
llvm-svn: 49553
|
|
|
|
|
|
|
| |
shadowing, instead of threading it through the AST. This patch contributed
by Argiris Kirtzidis!
llvm-svn: 49520
|
|
|
|
|
|
| |
argument handling. I'll fix up the c89 (void) thing next.
llvm-svn: 49459
|
|
|
|
|
|
|
|
| |
interaction for function parameters, fixing PR2046.
Patch by Doug Gregor!
llvm-svn: 49369
|
|
|
|
| |
llvm-svn: 49295
|
|
|
|
|
|
|
|
|
|
| |
-Renamed ContextDecl -> DeclContext
-Removed DeclContext pointer from FieldDecl
-EnumDecl inherits from DeclContext, instead of TagDecl
Patch by Argiris Kirtzidis!
llvm-svn: 49261
|
|
|
|
|
|
|
|
|
|
|
| |
-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
|