- Sep 26, 2007
-
-
Fariborz Jahanian authored
that they conform(in type, name and numbers) to those declared in @interface. Test case highlights kind of checking we do here. llvm-svn: 42360
-
- Sep 25, 2007
-
-
Fariborz Jahanian authored
objective-c code with no @interface declaration. llvm-svn: 42319
-
Fariborz Jahanian authored
semantic checks for class and protocol declarations. Test cases are good indications of kind of checking being done in this patch. llvm-svn: 42311
-
- Sep 22, 2007
-
-
Chris Lattner authored
for *which* apfloat to use for a particular type. llvm-svn: 42234
-
Fariborz Jahanian authored
1. Handles saving and checking on protocols used in an @interface declaration 2. Checks and saves class's super class. 3. Adds semantic check to category declarations. llvm-svn: 42218
-
- Sep 21, 2007
-
-
Chris Lattner authored
values. Patch mostly by Gabor Greif for PR1682. llvm-svn: 42203
-
Fariborz Jahanian authored
protocols referenced in @protocol declarations. llvm-svn: 42191
-
- Sep 20, 2007
-
-
Fariborz Jahanian authored
ObjcInterfaceClass Objects. llvm-svn: 42172
-
Fariborz Jahanian authored
1. Detect used of undeclared/forward declared super class. 2. Detect duplicate definition of a class. llvm-svn: 42168
-
- Sep 19, 2007
-
-
Steve Naroff authored
Remove SelectorTable/SelectorInfo, simply store all selectors in the central IdentifierTable. Rationale: We currently have a separate table to unique ObjC selectors. Since I don't need all the instance data in IdentifierInfo, I thought this would save space (and make more sense conceptually). It turns out the cost of having duplicate entries for unary selectors (i.e. names without colons) outweighs the cost difference between the IdentifierInfo & SelectorInfo structures. Here is the data: Two tables: *** Selector/Identifier Stats: # Selectors/Identifiers: 51635 Bytes allocated: 1999824 One table: *** Identifier Table Stats: # Identifiers: 49500 Bytes allocated: 1990316 llvm-svn: 42139
-
Steve Naroff authored
Remove #include of config.h, it is no longer needed. llvm-svn: 42126
-
Steve Naroff authored
llvm-svn: 42117
-
Steve Naroff authored
Progress on message expressions... - Add ObjcMessageExpr AST node and associated constructors. - Add SourceLocation's to ActOnKeywordMessage/ActOnUnaryMessage API. - Instantiate message expressions... - Replace alloca usage with SmallString. Next step, installing a correct type, among other tweaks... llvm-svn: 42116
-
- Sep 18, 2007
-
-
Fariborz Jahanian authored
llvm-svn: 42104
-
Hartmut Kaiser authored
llvm-svn: 42089
-
Gabor Greif authored
llvm-svn: 42088
-
Fariborz Jahanian authored
Moves such argument as the last argument and uses defaul value. llvm-svn: 42073
-
Fariborz Jahanian authored
instead for @protocol method decls. llvm-svn: 42070
-
- Sep 17, 2007
-
-
Fariborz Jahanian authored
llvm-svn: 42060
-
Steve Naroff authored
Finish defining Action API for message expressions. llvm-svn: 42059
-
Steve Naroff authored
- Refactored ObjcKeywordInfo into ObjcKeywordInfo, ObjcKeywordDecl, and ObjcKeywordMessage. - Removed helper ObjcGetSelectorInfo(), moving the code directly into ObjcBuildMethodDeclaration(). - Many refinements to ParseObjCMessageExpression(). - Add ActOnMessageExpression(). Next step, finish the message actions and (finally) create/instantiate an ObjcMessageExpr AST. llvm-svn: 42050
-
Steve Naroff authored
Add support for ObjC keyword selectors. - Add SelectorInfo/SelectorTable classes, modeled after IdentifierInfo/IdentifierTable. - Add SelectorTable instance to ASTContext, created lazily through ASTContext::getSelectorInfo(). - Add SelectorInfo slot to ObjcMethodDecl. - Add helper function to derive a SelectorInfo from ObjcKeywordInfo. Misc: Got the Decl stats stuff up and running again...it was missing support for ObjC AST's. llvm-svn: 42023
-
- Sep 16, 2007
-
-
Chris Lattner authored
llvm-svn: 42014
-
Steve Naroff authored
- Allow classnames as the receiver (removing a FIXME from ParseObjCMessageExpression). - Added a FIXME to ParseObjCMessageExpression()...we need to return a message expr AST node! llvm-svn: 42001
-
Steve Naroff authored
llvm-svn: 42000
-
Steve Naroff authored
llvm-svn: 41997
-
Hartmut Kaiser authored
Silenced a couple of VC++ warnings. llvm-svn: 41994
-
Chris Lattner authored
Switch -parse-ast over to it. llvm-svn: 41991
-
- Sep 15, 2007
-
-
Steve Naroff authored
Start converting Action methods from Parse-prefix to ActOn-prefix. The previous naming scheme was confusing, since it resulted in both the Parser and Action modules having methods with the same name. In addition, the Action module never does any parsing... llvm-svn: 41986
-
Steve Naroff authored
Rename Action::ParseRecordBody() to ProcessFieldDecls(), and add a visibility argument. Remove Action::ObjcAddVisibilityToIvars(). No need for an extra API when it is trivial to add this info to the previous hook. In general, I want to start migrating away from having Actions prefixed with "Parse" (which is confusing, since the Action API doesn't do any parsing, per se). llvm-svn: 41973
-
Steve Naroff authored
Several improvement to Sema::ParseRecordBody()... - Adding a safer prologue. The previous prologue would accept a null and therefore assume we had an interface (which was incorrect). - Fixed FieldDecl's classof method. This allowed me to simplify some unnecessary casting. - When diagnosing errors, make sure the FieldDecl/EnclosingDecl are marked as invalid. In addition, don't delete the field...rather, add all fields to the enclosing decl. Memory management can/should be done elsewhere. This code was never "upgraded" to the recently added invalid decl strategy. llvm-svn: 41964
-
- Sep 14, 2007
-
-
Fariborz Jahanian authored
llvm-svn: 41961
-
Fariborz Jahanian authored
llvm-svn: 41954
-
Steve Naroff authored
Now that the dust has settled on the Decl refactoring, I noticed FieldDecl didn't need NextDeclarator. As a result, I'm removing it. Removing both slots (NextDeclarator/Next) end up reducing the size of fields/ivars by 40%. llvm-svn: 41948
-
Steve Naroff authored
Move Decl::NextDeclarator (w/ setters/getters) down to ScopedDecl/FieldDecl. Decl is now svelte:-) llvm-svn: 41935
-
- Sep 13, 2007
-
-
Steve Naroff authored
Phase 2 of making the Decl class more lightweight... Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl. Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later. llvm-svn: 41934
-
Fariborz Jahanian authored
llvm-svn: 41932
-
Steve Naroff authored
Add "ScopedDecl" AST, used by ValueDecl and TypeDecl. This allows us to sink the "Next" field, which isn't used by FieldDecl and ObjcIvarDecl. llvm-svn: 41931
-
- Sep 12, 2007
-
-
Steve Naroff authored
diagnostic for illegal initializers. llvm-svn: 41889
-
Fariborz Jahanian authored
to use of @property. llvm-svn: 41880
-