Skip to content
  1. Jan 09, 2009
    • Daniel Dunbar's avatar
      Fix crash on null deference when searching for readwrite properties in · f4c6616d
      Daniel Dunbar authored
      categories.
       - Also, simplify nesting via early return.
      
      llvm-svn: 61968
      f4c6616d
    • Douglas Gregor's avatar
      Addressed the issue in <rdar://problem/6479085>, where we failed to · c25d7a7f
      Douglas Gregor authored
      rewrite @class declarations that showed up within linkage
      specifications because those @class declarations never made it any
      place where the rewriter could find them.
      
      Moved all of the ObjC*Decl nodes over to ScopedDecls, so that they can
      live in the appropriate top-level or transparent DeclContext near the
      top level, e.g., TranslationUnitDecl or LinkageSpecDecl. Objective-C
      declarations now show up in a traversal of the declarations in a
      DeclContext (they didn't before!). This way, the rewriter finds all
      Objective-C declarations within linkage specifications.
      
      llvm-svn: 61966
      c25d7a7f
  2. Jan 08, 2009
    • Ted Kremenek's avatar
      Fix ObjCInterfaceDecl::Destroy and ObjCProtocolDecl::Destroy to iterate and... · 0667123b
      Ted Kremenek authored
      Fix ObjCInterfaceDecl::Destroy and ObjCProtocolDecl::Destroy to iterate and destroy all contained ObjCMethodDecls in one sweep.  This fixes a use-after-free error found by valgrind.
      
      llvm-svn: 61943
      0667123b
    • Steve Naroff's avatar
      Removed ObjCContainerDecl::getPropertyMethods()...doesn't belong in the AST. · e538c5f3
      Steve Naroff authored
      Moved logic to Sema::ProcessPropertyDecl().
      
      llvm-svn: 61936
      e538c5f3
    • Steve Naroff's avatar
      Remove redundant method context (now that ObjCMethodDecl isa ScopedDecl). · 11b387fe
      Steve Naroff authored
      Convert clients to use the standard getDeclContext() API.
      
      Doug, thanks for the review!
      
      llvm-svn: 61935
      11b387fe
    • Steve Naroff's avatar
      This is a large/messy diff that unifies the ObjC AST's with DeclContext. · 35c62ae6
      Steve Naroff authored
      - ObjCContainerDecl's (ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl), ObjCCategoryImpl, & ObjCImplementation are all DeclContexts.
      - ObjCMethodDecl is now a ScopedDecl (so it can play nicely with DeclContext).
      - ObjCContainerDecl now does iteration/lookup using DeclContext infrastructure (no more linear search:-)
      - Removed ASTContext argument to DeclContext::lookup(). It wasn't being used and complicated it's use from an ObjC AST perspective.
      - Added Sema::ProcessPropertyDecl() and removed Sema::diagnosePropertySetterGetterMismatch().
      - Simplified Sema::ActOnAtEnd() considerably. Still more work to do.
      - Fixed an incorrect casting assumption in Sema::getCurFunctionOrMethodDecl(), now that ObjCMethodDecl is a ScopedDecl.
      - Removed addPropertyMethods from ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl.
      
      This passes all the tests on my machine. Since many of the changes are central to the way ObjC finds it's methods, I expect some fallout (and there are still a handful of FIXME's). Nevertheless, this should be a step in the right direction.
      
      llvm-svn: 61929
      35c62ae6
  3. Jan 07, 2009
  4. Dec 22, 2008
  5. Dec 18, 2008
  6. Dec 17, 2008
  7. Dec 16, 2008
  8. Dec 15, 2008
  9. Dec 13, 2008
  10. Dec 11, 2008
    • Douglas Gregor's avatar
      Unifies the name-lookup mechanisms used in various parts of the AST · 91f84216
      Douglas Gregor authored
      and separates lexical name lookup from qualified name lookup. In
      particular:
        * Make DeclContext the central data structure for storing and
          looking up declarations within existing declarations, e.g., members
          of structs/unions/classes, enumerators in C++0x enums, members of
          C++ namespaces, and (later) members of Objective-C
          interfaces/implementations. DeclContext uses a lazily-constructed
          data structure optimized for fast lookup (array for small contexts,
          hash table for larger contexts). 
      
        * Implement C++ qualified name lookup in terms of lookup into
          DeclContext.
      
        * Implement C++ unqualified name lookup in terms of
          qualified+unqualified name lookup (since unqualified lookup is not
          purely lexical in C++!)
      
        * Limit the use of the chains of declarations stored in
          IdentifierInfo to those names declared lexically.
      
        * Eliminate CXXFieldDecl, collapsing its behavior into
          FieldDecl. (FieldDecl is now a ScopedDecl).
      
        * Make RecordDecl into a DeclContext and eliminates its
          Members/NumMembers fields (since one can just iterate through the
          DeclContext to get the fields).
      
      llvm-svn: 60878
      91f84216
  11. Dec 09, 2008
  12. Dec 08, 2008
  13. Dec 07, 2008
  14. Dec 05, 2008
  15. Dec 02, 2008
  16. Nov 25, 2008
  17. Nov 24, 2008
    • Chris Lattner's avatar
      Rename NamedDecl::getIdentifierName() to ::getNameAsCString() and make it · 86d7d913
      Chris Lattner authored
      assert if the name is not an identifier.  Update callers to do the right
      thing and avoid this method in unsafe cases.  This also fixes an objc
      warning that was missing a space, and migrates a couple more to taking
      IdentifierInfo and QualTypes instead of std::strings.
      
      llvm-svn: 59936
      86d7d913
    • Chris Lattner's avatar
      Rename Selector::getName() to Selector::getAsString(), and add · e4b95698
      Chris Lattner authored
      a new NamedDecl::getAsString() method.
      
      Change uses of Selector::getName() to just pass in a Selector 
      where possible (e.g. to diagnostics) instead of going through
      an std::string.
      
      This also adds new formatters for objcinstance and objcclass
      as described in the dox.
      
      llvm-svn: 59933
      e4b95698
  18. Nov 17, 2008
  19. Aug 27, 2008
  20. Aug 26, 2008
  21. Aug 20, 2008
Loading