Skip to content
  1. Sep 26, 2007
  2. Sep 25, 2007
  3. Sep 22, 2007
  4. Sep 21, 2007
  5. Sep 20, 2007
  6. Sep 19, 2007
    • Steve Naroff's avatar
      · 2cd263ff
      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
      2cd263ff
    • Steve Naroff's avatar
      · 59155be0
      Steve Naroff authored
      Remove #include of config.h, it is no longer needed.
      
      llvm-svn: 42126
      59155be0
    • Steve Naroff's avatar
      Remove alloca import... · 467e619a
      Steve Naroff authored
      llvm-svn: 42117
      467e619a
    • Steve Naroff's avatar
      · d54978ba
      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
      d54978ba
  7. Sep 18, 2007
  8. Sep 17, 2007
    • Fariborz Jahanian's avatar
      Patch to add objective-c's @protocl type declaration. · 39d641f5
      Fariborz Jahanian authored
      llvm-svn: 42060
      39d641f5
    • Steve Naroff's avatar
      · f0f2afce
      Steve Naroff authored
      Finish defining Action API for message expressions.
      
      llvm-svn: 42059
      f0f2afce
    • Steve Naroff's avatar
      · 486760ae
      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
      486760ae
    • Steve Naroff's avatar
      · 73d534a2
      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
      73d534a2
  9. Sep 16, 2007
  10. Sep 15, 2007
    • Steve Naroff's avatar
      · 30d242c9
      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
      30d242c9
    • Steve Naroff's avatar
      · 2e688fde
      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
      2e688fde
    • Steve Naroff's avatar
      · db47ee20
      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
      db47ee20
  11. Sep 14, 2007
  12. Sep 13, 2007
    • Steve Naroff's avatar
      · 9def2b15
      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
      9def2b15
    • Fariborz Jahanian's avatar
      Patch for collecting ivars before running action on them. · 6812cbb2
      Fariborz Jahanian authored
      llvm-svn: 41932
      6812cbb2
    • Steve Naroff's avatar
      · 9324db12
      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
      9324db12
  13. Sep 12, 2007
Loading