Fariborz Jahanian
f3287bf871
Patch to store ivars into interface class object.
...
llvm-svn: 41961
2007-09-14 21:08:27 +00:00
Fariborz Jahanian
aefb23092c
Semantic analysis for objective-c ivars.
...
llvm-svn: 41954
2007-09-14 16:27:55 +00:00
Fariborz Jahanian
6812cbb230
Patch for collecting ivars before running action on them.
...
llvm-svn: 41932
2007-09-13 20:56:13 +00:00
Fariborz Jahanian
cfb31fab5e
Patch for building method declaration nodes. Also fixed a segfault in cocoa.m due
...
to use of @property.
llvm-svn: 41880
2007-09-12 18:23:47 +00:00
Steve Naroff
acb1e7478f
Some small tweaks to the recent Objc support...
...
llvm-svn: 41803
2007-09-10 20:51:04 +00:00
Fariborz Jahanian
33d037441e
Early patch to collect objective-c methods inserts them in
...
class object.
llvm-svn: 41801
2007-09-10 20:33:04 +00:00
Steve Naroff
09bf815f89
The goal of this commit is to get just enough Sema support to recognize Objective-C classes
...
as types. That said, the AST nodes ObjcInterfaceDecl, ObjcInterfaceType, and ObjcClassDecl are *very*
preliminary.
The good news is we no longer need -parse-noop (aka MinimalActions) to parse cocoa.m.
llvm-svn: 41752
2007-09-06 21:24:23 +00:00
Steve Naroff
ca85d1dc07
Start implementing Actions interface for ObjC classes, instance variables, and methods.
...
Lot's of small changes to the parser.
llvm-svn: 41732
2007-09-05 23:30:30 +00:00
Fariborz Jahanian
bd25f7d4a5
Patch for parsing objective-c style method calls.
...
llvm-svn: 41731
2007-09-05 23:08:20 +00:00
Fariborz Jahanian
7db004df78
1. Fix parsing of method prototype involving c-style argument declarations.
...
2. Fixes all allowable key-words used as selectors.
3. Template to do the messaging parse.
4. A test case for all allowable selector names.
llvm-svn: 41723
2007-09-05 19:52:07 +00:00
Fariborz Jahanian
7eccba3b8e
Fixed a typo pointed out by Anders Calrsson.
...
llvm-svn: 41716
2007-09-04 21:42:12 +00:00
Fariborz Jahanian
d8e12d3df3
Patch to parse objective-c's @compatibility_alias directive.
...
llvm-svn: 41709
2007-09-04 19:26:51 +00:00
Fariborz Jahanian
53cacaec46
Patch to parse @implementation prologue, method definitions,
...
objc2's @synthesize and @dynamic.
llvm-svn: 41667
2007-09-01 00:26:16 +00:00
Fariborz Jahanian
9fca6dfad3
Author: F. Jahanian
...
Log:
Implement parsing of objective-c's new @property declaration.
Modified:
include/clang/Basic/DiagnosticKinds.def
include/clang/Parse/Parser.h
Parse/ParseObjc.cpp
Parse/Parser.cpp
llvm-svn: 41644
2007-08-31 16:11:31 +00:00
Chris Lattner
6678284a73
cleanup context-sensitive objc keyword recognition. Patch by Fariborz Jahanian.
...
llvm-svn: 41583
2007-08-29 22:54:08 +00:00
Steve Naroff
4e1f80d255
- Cleanup "hack" comment and fix typos.
...
- Use getLang().ObjC2 when appropriate.
llvm-svn: 41333
2007-08-23 19:56:30 +00:00
Steve Naroff
7c34817902
Add helper functions Token::isObjCAtKeyword() and Token::getObjCKeywordID().
...
Convert all clients to the new cleaner, more robust API.
llvm-svn: 41330
2007-08-23 18:16:40 +00:00
Anders Carlsson
cb8f832c26
As suggested by Chris, use MatchRHSPunctuation instead of manually looking for a right parenthesis when parsing @encode() and @protocol().
...
llvm-svn: 41321
2007-08-23 15:31:37 +00:00
Anders Carlsson
e01493d47b
Parse ObjC @protocol expressions.
...
llvm-svn: 41320
2007-08-23 15:25:28 +00:00
Steve Naroff
7e901fdf86
With this commit, we now successfully parse "Cocoa.h"!
...
llvm-svn: 41303
2007-08-22 23:18:22 +00:00
Steve Naroff
0b6a01a449
Add support for parsing protocols.
...
Now we can parse quite a bit of "Foundation.h" (a couple bugs remain).
llvm-svn: 41300
2007-08-22 22:17:26 +00:00
Steve Naroff
f1bc45b1d1
Finish up method prototype parsing.
...
Next step...starting installing class names into the type namespace (so we can start parsing Cocoa headers).
llvm-svn: 41283
2007-08-22 18:35:33 +00:00
Steve Naroff
99264b4b04
Add support for parsing method prototypes (and other stuff required by @interface).
...
Still need to finish Parser::ParseObjCMethodDecl(). Before I do, I need to do a minor
refactoring of ParseDeclarationOrFunctionDefinition(), to disallow function definitions.
At the moment, @inteface allows function defs (which is incorrect).
llvm-svn: 41275
2007-08-22 16:35:03 +00:00
Anders Carlsson
c5a81ebb1f
Parse @encode expressions.
...
llvm-svn: 41273
2007-08-22 15:14:15 +00:00
Steve Naroff
00433d3d37
Implement parsing for objc instance variables.
...
Next step, method...
llvm-svn: 41251
2007-08-21 21:17:12 +00:00
Anders Carlsson
76f4a902d7
Implement parsing and code generation of Objective-C string literals.
...
llvm-svn: 41238
2007-08-21 17:43:55 +00:00
Steve Naroff
1eb1ad6c36
Start parsing ObjC classes/categories!
...
Next step, refactor Parser::ParseStructUnionBody() so that struct declarations can
be shared with Objective-C (for declaring instance variables).
llvm-svn: 41200
2007-08-20 21:31:48 +00:00
Chris Lattner
23b7eb677d
Finally bite the bullet and make the major change: split the clang namespace
...
out of the llvm namespace. This makes the clang namespace be a sibling of
llvm instead of being a child.
The good thing about this is that it makes many things unambiguous. The
bad things is that many things in the llvm namespace (notably data structures
like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport
should be split out of llvm into their own namespace in the future, which will fix
this issue.
llvm-svn: 39659
2007-06-15 23:05:46 +00:00
Chris Lattner
94c22cd5b9
rename ParsedClassDeclaration -> ParsedObjcClassDeclaration.
...
llvm-svn: 39183
2006-11-19 02:35:21 +00:00
Chris Lattner
bd638926e2
remove diag helper that implicitly reports the diagnostic at the current
...
token: it is better for the code to be explicit.
llvm-svn: 39158
2006-11-10 05:19:25 +00:00
Chris Lattner
b26b665742
rename these methods so that they read correctly.
...
llvm-svn: 39148
2006-11-08 06:10:32 +00:00
Chris Lattner
da59c2f161
Move objc productions to their own .cpp file.
...
llvm-svn: 39124
2006-11-05 02:08:13 +00:00