summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseObjc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Patch to implement gcc's cstyle arguments in objcFariborz Jahanian2010-04-081-4/+13
| | | | | | methods. wip. llvm-svn: 100734
* Implement code completion for Objective-C method declarations andDouglas Gregor2010-04-071-0/+12
| | | | | | | | | | | | | | | | definitions, e.g., after - or - (id) we'll find all of the "likely" instance methods that one would want to declare or define at this point. In the latter case, we only produce results whose return types match "id". llvm-svn: 100587
* Patch to not build ivar ASTs when they are ilegallyFariborz Jahanian2010-04-061-1/+2
| | | | | | declared in categories. llvm-svn: 100577
* Improve diagnosing when a method type does not start with '-'|'+'Fariborz Jahanian2010-04-021-27/+41
| | | | | | when parsing. Fixes radar 7822196. llvm-svn: 100248
* Issue better syntax error when objc's messagingFariborz Jahanian2010-03-311-2/+5
| | | | | | ares are not separated by ':' (radar 7030268). llvm-svn: 100040
* Reinstate my CodeModificationHint -> FixItHint renaming patch, withoutDouglas Gregor2010-03-311-2/+2
| | | | | | the C-only "optimization". llvm-svn: 100022
* Revert r100008, which inexplicably breaks the clang-i686-darwin10 builderDouglas Gregor2010-03-311-2/+2
| | | | llvm-svn: 100018
* Rename CodeModificationHint to FixItHint, since we've been using theDouglas Gregor2010-03-311-2/+2
| | | | | | | term "fix-it" everywhere and even *I* get tired of long names sometimes. No functionality change. llvm-svn: 100008
* Fixes access rues for ivars declared in classFariborz Jahanian2010-03-221-1/+1
| | | | | | implementations (radar 7547942). llvm-svn: 99198
* Don't consume tokens past the end-of-file in an @interface. FixesDouglas Gregor2010-03-161-0/+4
| | | | | | <rdar://problem/7735566>. llvm-svn: 98613
* Early support for declaring ivars in class extensions. wip.Fariborz Jahanian2010-02-221-4/+8
| | | | llvm-svn: 96819
* Allow GNU attributes to appear in an Objective-C method declarationTed Kremenek2010-02-181-4/+10
| | | | | | | before the selector name (but after the return type). Among other things, this allows IBAction to be implemented with an attribute. llvm-svn: 96623
* Issue a bettter diagnostics for incorrect property setter name.Fariborz Jahanian2010-02-151-1/+2
| | | | | | (radar 7647953). llvm-svn: 96284
* Clean up ownership of 'AttributeList' objects in Parser. ApparentlyTed Kremenek2010-02-111-6/+13
| | | | | | | | | | | | | | | | | | | | | we would just leak them all over the place, with no clear ownership of these objects at all. AttributeList objects would get leaked on both error and non-error paths. Note: I introduced the usage of llvm::OwningPtr<AttributeList> to manage these objects, which is particularly useful for methods with multiple return sites. In at least one method I used them even when they weren't strictly necessary because it clarified the ownership semantics and made the code easier to read. Should the excessive 'take()' and 'reset()' calls become a performance issue we can always re-evaluate. Note+1: I believe I have not introduced any double-frees, but it would be nice for someone to review this. This fixes <rdar://problem/7635046>. llvm-svn: 95847
* Simplify setting of DeclContext for @catch variableFariborz Jahanian2010-02-031-0/+1
| | | | | | (per Doug's comment). llvm-svn: 95169
* Fix DeclContext of an objective-c @catch variableFariborz Jahanian2010-02-031-0/+1
| | | | | | declaration. Fixes radar 7590273. llvm-svn: 95164
* Keep track of the source locations for each protocol reference inDouglas Gregor2010-01-161-0/+3
| | | | | | | | Objective-C classes, protocol definitions, forward protocol declarations, and categories. This information isn't actually used yet; that's coming next. llvm-svn: 93636
* Code-completion for @public, @protected, @private, @package.Douglas Gregor2010-01-131-0/+12
| | | | llvm-svn: 93361
* Whenever completing ordinary names for an Objective-C source, alsoDouglas Gregor2010-01-131-0/+8
| | | | | | | | | | | provide completions for @ keywords. Previously, we only provided @-completions after an @ was actually typed, which is useful but probably not the common case. Also, make sure a few Objective-C 2.0 completions only show up when Objective-C 2.0 support is enabled (the default). llvm-svn: 93354
* Change ObjCContainerDecl to contain the entire range for the '@end'Ted Kremenek2010-01-071-8/+11
| | | | | | | | | | | piece of the declaration. The '@' and the 'end' are separate tokens, and require two SourceLocations to accurately track. This change was motivated because ObjCContainerDecl::getSourceRange() would previously not return the entire range of the declaration (the 'end' would be left off). llvm-svn: 92891
* Check in a rudimentary FullExpr class that isn't used anywhere yet. Rename ↵Anders Carlsson2009-12-161-1/+1
| | | | | | Action::FullExpr to Action::MakeFullExpr to avoid name clashes. llvm-svn: 91494
* reduce nesting.Chris Lattner2009-12-071-3/+9
| | | | llvm-svn: 90769
* Code completion for Objective-C @ keywords that are statements or expressionsDouglas Gregor2009-12-071-1/+10
| | | | llvm-svn: 90757
* Code completion for Objective-C @ directivesDouglas Gregor2009-12-071-1/+15
| | | | llvm-svn: 90756
* remove some extraneous syntax: sourceloc implicitly converts to sourcerange.Chris Lattner2009-12-061-2/+2
| | | | llvm-svn: 90710
* Lift the ObjCPropertyCallback out of local scope to unbreak VS2005 builds.John McCall2009-12-031-55/+59
| | | | | | | Make it an inner class of Parser to assuage access control. No functionality change. llvm-svn: 90491
* Added rudimentary C++0x attribute support.Alexis Hunt2009-11-211-4/+4
| | | | | | | | | | | | | | The following attributes are currently supported in C++0x attribute lists (and in GNU ones as well): - align() - semantics believed to be conformant to n3000, except for redeclarations and what entities it may apply to - final - semantics believed to be conformant to CWG issue 817's proposed wording, except for redeclarations - noreturn - semantics believed to be conformant to n3000, except for redeclarations - carries_dependency - currently ignored (this is an optimization hint) llvm-svn: 89543
* Objective-C code completion within properties after "setter = " orDouglas Gregor2009-11-191-2/+15
| | | | | | "getter = ", to provide suitable method names. llvm-svn: 89334
* Improve code completion for Objective-C message sends, so that weDouglas Gregor2009-11-191-2/+18
| | | | | | | | | | | provide completion results before each keyword argument, e.g., [foo Method:arg WithArg1:arg1 WithArg2:arg2] We now complete before "WithArg1" and before "WithArg2", in addition to completing before "Method". llvm-svn: 89290
* Rename CodeCompleteObjCProperty to something more specific. No functionality ↵Douglas Gregor2009-11-181-1/+1
| | | | | | change. llvm-svn: 89267
* Code completion after @dynamicDouglas Gregor2009-11-181-6/+13
| | | | llvm-svn: 89265
* Code completion for Objective-C @synthesized.Douglas Gregor2009-11-181-4/+12
| | | | llvm-svn: 89259
* Improve diagnostics and recovery when parsing @synthesized definitionsDouglas Gregor2009-11-181-2/+10
| | | | llvm-svn: 89227
* Implement code completion for Objective-C category names in @interfaceDouglas Gregor2009-11-181-0/+10
| | | | | | and @implementation declarations. llvm-svn: 89223
* Code completion for Objective-C class names after @interface,Douglas Gregor2009-11-181-0/+19
| | | | | | | @implementation, and in the declaration of the superclass of an @interface. llvm-svn: 89207
* Code completion after @property, providing the names of forward-declared ↵Douglas Gregor2009-11-181-0/+5
| | | | | | properties llvm-svn: 89196
* Code completion for Objective-C properly listsDouglas Gregor2009-11-181-0/+6
| | | | llvm-svn: 89194
* Rename Objective-C message send completion functions to indicate that we're ↵Douglas Gregor2009-11-171-2/+2
| | | | | | referring to message sends llvm-svn: 89164
* Pass source locations of identifiers referenced by @class through ↵Ted Kremenek2009-11-171-2/+6
| | | | | | Action::ActOnForwardClassDeclaration(). llvm-svn: 89162
* Fixes a typo, reported by Doug.Fariborz Jahanian2009-11-171-1/+1
| | | | llvm-svn: 89107
* Handle case of missing '@end' in implementation contextFariborz Jahanian2009-11-161-1/+13
| | | | | | | | gracefully, on par with gcc, by: Issuing a warning, doing final sematinc check of its definitions and generating its meta-data. llvm-svn: 88934
* Add FIXIT hint for -Wsemicolon-before-method-bodyTed Kremenek2009-11-101-2/+4
| | | | llvm-svn: 86746
* Make -Wsemicolon-before-method-body opt-in (and part of -Wextra). Addresses ↵Ted Kremenek2009-11-101-1/+1
| | | | | | <rdar://problem/7381735>. llvm-svn: 86731
* Add basic code completion support for ObjC messages.Steve Naroff2009-11-071-0/+7
| | | | | | Still a work in progress... llvm-svn: 86323
* Fix a bogus objective-c warning with -pedantic.Fariborz Jahanian2009-11-061-0/+2
| | | | | | (radar 7370882). llvm-svn: 86291
* add some fixit hints.Chris Lattner2009-11-061-1/+2
| | | | llvm-svn: 86240
* Change our basic strategy for avoiding deprecation warnings when the decl useJohn McCall2009-11-041-2/+10
| | | | | | | | | | | | appears in a deprecated context. In the new strategy, we emit the warnings as usual unless we're currently parsing a declaration, where "declaration" is restricted to mean a decl group or a few special cases in Objective C. If we *are* parsing a declaration, we queue up the deprecation warnings until the declaration has been completely parsed, and then emit them only if the decl is not deprecated. We also standardize the bookkeeping for deprecation so as to avoid special cases. llvm-svn: 85998
* Switch ParseStructDeclaration to a callback-based API. This will makeJohn McCall2009-11-031-54/+80
| | | | | | it easier to track within Sema whether the parser is parsing a declaration. llvm-svn: 85855
* Issue warning if method body starts with a semicolon.Fariborz Jahanian2009-10-201-1/+4
| | | | | | | Fixes <rdar://problem/7308503> clang should disallow the trailing semicolon in method definitions llvm-svn: 84645
* Move clients to use IdentifierInfo::getNameStart() instead of getName()Daniel Dunbar2009-10-181-1/+1
| | | | llvm-svn: 84436
OpenPOWER on IntegriCloud