Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e10c6da41e 
								
							 
						 
						
							
							
								
								Factor a complex predicate out to a helper method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 46365 
							
						 
						
							2008-01-25 19:25:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8f6970663a 
								
							 
						 
						
							
							
								
								split the second half of ParseObjCMessageExpression into a new  
							
							 
							
							... 
							
							
							
							ParseObjCMessageExpressionBody method.
llvm-svn: 46363 
							
						 
						
							2008-01-25 18:59:06 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								c644ee4992 
								
							 
						 
						
							
							
								
								Warn (as gcc does) when  @end  does not close anything.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45834 
							
						 
						
							2008-01-10 17:58:07 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								1b0ea82459 
								
							 
						 
						
							
							
								
								Substituted all instances of the string "Objc" for "ObjC".  This fixes  
							
							 
							
							... 
							
							
							
							some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715 
							
						 
						
							2008-01-07 19:49:32 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								3622e5954b 
								
							 
						 
						
							
							
								
								Minor changes as suggested by Chris L.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45598 
							
						 
						
							2008-01-04 23:04:08 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								732b8c2dc5 
								
							 
						 
						
							
							
								
								Patch to parse/build AST ObjC2's foreach statement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45539 
							
						 
						
							2008-01-03 17:55:25 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8361552af9 
								
							 
						 
						
							
							
								
								New declarations/defs for Objc2's foreach-statement. This is work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45511 
							
						 
						
							2008-01-02 22:54:34 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								5e57e1890d 
								
							 
						 
						
							
							
								
								Prevent crash on incorrect objc messaging expression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45489 
							
						 
						
							2008-01-02 18:09:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5b12ab8c93 
								
							 
						 
						
							
							
								
								Don't attribute in file headers anymore.  See llvmdev for the  
							
							 
							
							... 
							
							
							
							discussion of this change.
llvm-svn: 45410 
							
						 
						
							2007-12-29 19:59:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5e530bcee3 
								
							 
						 
						
							
							
								
								- Use Tok.isObjCAtKeyword instead of Tok.getIdentifierInfo()->getObjCKeywordID().  
							
							 
							
							... 
							
							
							
							The later fails if the token is not an identifier.
 - Replace tabs with spaces.
 - Various other cleanups.
Patch by Nico Weber!
llvm-svn: 45368 
							
						 
						
							2007-12-27 19:57:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								52a6f82d0f 
								
							 
						 
						
							
							
								
								use new interface.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44978 
							
						 
						
							2007-12-13 02:05:09 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								4d1288a67e 
								
							 
						 
						
							
							
								
								Concatenation of objc strings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44964 
							
						 
						
							2007-12-12 23:55:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								61511e12e0 
								
							 
						 
						
							
							
								
								move function to a more logical location, add its grammar productions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44923 
							
						 
						
							2007-12-12 06:56:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e002fbea56 
								
							 
						 
						
							
							
								
								Add ObjC parser support for concatenated ObjC strings.  Note that  
							
							 
							
							... 
							
							
							
							this is passed to sema and ignored there, so the second part of the
string will not make it into the AST.  Passing to Fariborz to finish
Sema + AST construction.
llvm-svn: 44898 
							
						 
						
							2007-12-12 01:04:12 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								251a943ce9 
								
							 
						 
						
							
							
								
								Fixed a parsing bug whereby @optional/@required keyword is not followed by  
							
							 
							
							... 
							
							
							
							a method declaration.
llvm-svn: 44870 
							
						 
						
							2007-12-11 18:34:51 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								152dd812b2 
								
							 
						 
						
							
							
								
								Make sure Parser::ParseObjCSelectorExpression() handles unary selectors (with no arguments) properly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44636 
							
						 
						
							2007-12-05 22:21:29 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								e3ffc2f4a9 
								
							 
						 
						
							
							
								
								Finish up variadic methods/messages.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44172 
							
						 
						
							2007-11-15 13:05:42 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								d8ea1ac576 
								
							 
						 
						
							
							
								
								Implement support for variadic methods (work in progress).  
							
							 
							
							... 
							
							
							
							llvm-svn: 44171 
							
						 
						
							2007-11-15 12:35:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bb31a42fef 
								
							 
						 
						
							
							
								
								Handle "bool" in all places that touch _Bool.  
							
							 
							
							... 
							
							
							
							This fixes code like "if((bool)x) {}" for example.
Patch by Nate Begeman.
llvm-svn: 44159 
							
						 
						
							2007-11-15 05:25:19 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								7b8fa4746a 
								
							 
						 
						
							
							
								
								Rewrite method definition bodies. Also renamed a method to distinguish between method declarations and definitions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44080 
							
						 
						
							2007-11-13 23:01:27 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d98a734bd6 
								
							 
						 
						
							
							
								
								'super' nailed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44025 
							
						 
						
							2007-11-12 20:13:27 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								cd002f5a0e 
								
							 
						 
						
							
							
								
								Add an error diagnostic to Parse::ParseObjCMessageExpression().  
							
							 
							
							... 
							
							
							
							This now exposes the following bug...
******************** TEST 'Sema/message.m' FAILED! ********************
Command: 
 clang -fsyntax-only -verify Sema/message.m
Output:
Errors seen but not expected:
  Line 9: invalid receiver to message expression
******************** TEST 'Sema/message.m' FAILED! ********************
As far as I can tell, all messages to method agruments fail.
The method arguments are built by Sema::ObjcActOnStartOfMethodDef().
llvm-svn: 44022 
							
						 
						
							2007-11-12 19:18:37 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								b313fc3203 
								
							 
						 
						
							
							
								
								Replace 2 method definition actions (ActOnFunctionDefBody, ActOnMethodDefBody) with 1 method definition action (ActOnFinishFunctionBody). I can't think of any reason that we would need two action hooks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 44000 
							
						 
						
							2007-11-11 23:20:51 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								bb87572d70 
								
							 
						 
						
							
							
								
								Replace 3 method definition functions (ObjcParseMethodDefinition, ParseObjCInstanceMethodDefinition, ParseObjCClassMethodDefinition) with 1 method definition function (ParseObjCMethodDefinition).  
							
							 
							
							... 
							
							
							
							Less code/confusion.
llvm-svn: 43999 
							
						 
						
							2007-11-11 19:54:21 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								cac26f4f5f 
								
							 
						 
						
							
							
								
								This is the last 5% of the solution to teaching Sema::ActOnInstanceMessage() about private methods (r43989).  
							
							 
							
							... 
							
							
							
							While the diff is large, the idea is very simple. When we parse method definitions (in an @implementation), we need to add them incrementally (rather than wait until the @end).
Other details...
- Renamed Sema::ActOnAddMethodsToObjcDecl() to Sema::ActOnAtEnd(). The methods are now optional arguments.
- Removed Parser::AllImplMethods (a nice cleanup).
- Added location info to ObjcImplementationDecl (since we will need it very soon:-)
- Modified message.m test to no longer allow the bogus diagnostic.
llvm-svn: 43995 
							
						 
						
							2007-11-11 17:19:15 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								16e3123071 
								
							 
						 
						
							
							
								
								pretty priting for method definitions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43986 
							
						 
						
							2007-11-10 20:59:13 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								85e1d0d807 
								
							 
						 
						
							
							
								
								Represent method definitions as separate AST nodes. Pretty print will come next.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43979 
							
						 
						
							2007-11-10 16:31:34 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7a017215eb 
								
							 
						 
						
							
							
								
								Some code clean up in the form of name changes for functions which  
							
							 
							
							... 
							
							
							
							process method definitions.
llvm-svn: 43967 
							
						 
						
							2007-11-09 22:27:59 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								b5605179c4 
								
							 
						 
						
							
							
								
								Added class context to method declarations. Provide "interface *" type  
							
							 
							
							... 
							
							
							
							to 'self' method of instance methods.
llvm-svn: 43957 
							
						 
						
							2007-11-09 19:52:12 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								56ff146ec4 
								
							 
						 
						
							
							
								
								First patch toward rewriting of method definitions. This is work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43915 
							
						 
						
							2007-11-08 23:49:49 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								adfbbc3330 
								
							 
						 
						
							
							
								
								AST for objective-c's @throw statement and its pretty-printing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43802 
							
						 
						
							2007-11-07 02:00:49 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f76f2b0c1c 
								
							 
						 
						
							
							
								
								Patch for objc2's property ASTs, as well as pretty-priting the ASTs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43778 
							
						 
						
							2007-11-06 22:01:00 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								a397efd915 
								
							 
						 
						
							
							
								
								Implement rewrite rules for ObjC string constants.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43665 
							
						 
						
							2007-11-03 11:27:19 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8815795049 
								
							 
						 
						
							
							
								
								pretty-print @try/@catch/@finally from AST as the validation of AST.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43649 
							
						 
						
							2007-11-02 18:16:07 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f859ef293c 
								
							 
						 
						
							
							
								
								AST for  @try  statement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43640 
							
						 
						
							2007-11-02 15:39:31 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								71234d8a9e 
								
							 
						 
						
							
							
								
								AST for  @finally  statement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43629 
							
						 
						
							2007-11-02 00:18:53 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								9e63b98de7 
								
							 
						 
						
							
							
								
								AST build for  @catch  clause (this is work in progress).  
							
							 
							
							... 
							
							
							
							llvm-svn: 43628 
							
						 
						
							2007-11-01 23:59:59 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								65590b2504 
								
							 
						 
						
							
							
								
								Bunch of class declarations for objective-c's @try-catch statement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43623 
							
						 
						
							2007-11-01 21:12:44 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7a9c47480d 
								
							 
						 
						
							
							
								
								1) More additions for objective-c's qualifier type.  
							
							 
							
							... 
							
							
							
							2) Fixed a test failure (which should have failed all along!).
llvm-svn: 43589 
							
						 
						
							2007-10-31 23:53:01 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								9c4fdddd0c 
								
							 
						 
						
							
							
								
								Fix two rewriter bugs:  
							
							 
							
							... 
							
							
							
							- For @class , don't generate multiple typedefs.
- Handle the following edge case interface...
@interface NSMiddleSpecifier : NSObject {}
@end
...which was incorrectly being rewritten to...
struct _interface_NSMiddleSpecifier {
        struct _interface_NSObject _NSObject;
};
{}
llvm-svn: 43582 
							
						 
						
							2007-10-31 22:11:35 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d822d68b74 
								
							 
						 
						
							
							
								
								More infrastructure to recognize objective-c's type qualifiers (in,inout, etc.)  
							
							 
							
							... 
							
							
							
							llvm-svn: 43580 
							
						 
						
							2007-10-31 21:59:43 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								5448cf6d61 
								
							 
						 
						
							
							
								
								- Add location info to category/protocol AST's  
							
							 
							
							... 
							
							
							
							- Rewrite categories.
llvm-svn: 43501 
							
						 
						
							2007-10-30 13:30:57 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								4cd61acc33 
								
							 
						 
						
							
							
								
								Remove a couple FIXME's for rewriting ObjC interfaces (which are now being rewritten properly).  
							
							 
							
							... 
							
							
							
							llvm-svn: 43494 
							
						 
						
							2007-10-30 03:43:13 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								c54840433f 
								
							 
						 
						
							
							
								
								More support for rewriting ObjC intefaces. Still some edge cases to handle...  
							
							 
							
							... 
							
							
							
							llvm-svn: 43493 
							
						 
						
							2007-10-30 02:23:23 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								e093339601 
								
							 
						 
						
							
							
								
								Remove a bunch of TODO's that have been done for quite some time...  
							
							 
							
							... 
							
							
							
							llvm-svn: 43476 
							
						 
						
							2007-10-29 21:39:29 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								33a1e80dd1 
								
							 
						 
						
							
							
								
								This commit contains lot's of small tweaks to how we pass around and store SourceLocation's for interfaces/protocols/categories/implementations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43475 
							
						 
						
							2007-10-29 21:38:07 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								161a92b976 
								
							 
						 
						
							
							
								
								Start rewriting ObjC interfaces. As a start, we comment out all the methods. This involved refining how the parser/AST passes/manages SourceLocations for ObjcMethodDecl's.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43404 
							
						 
						
							2007-10-26 20:53:56 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								24032f1ac2 
								
							 
						 
						
							
							
								
								add NL at end of file  
							
							 
							
							... 
							
							
							
							llvm-svn: 43178 
							
						 
						
							2007-10-19 15:38:32 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								a32aaefadc 
								
							 
						 
						
							
							
								
								Implementation of AST for @protocol expression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43075 
							
						 
						
							2007-10-17 16:58:11 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								6bd1d612ac 
								
							 
						 
						
							
							
								
								Fix location processing of @selector: the range should include the @ sign.  
							
							 
							
							... 
							
							
							
							llvm-svn: 43051 
							
						 
						
							2007-10-16 23:21:02 +00:00