1. 20 Aug, 2015 1 commit
    • Add deep copying support for typed AST nodes · d0d59aa4
      Olli Etuaho authored
      Removing dynamic indexing of vectors and matrices will require copying
      the indexed nodes in case they are written. Any type of l-value node that
      doesn't have side effects may need to be copied. Add a copying function
      for all typed node classes so that this copying can be performed.
      
      Private copy constructors are used to implement the deepCopy function in
      order to make maintenance easier. With copy constructors, each subclass
      only needs to take care of copying its own members, and not the base
      class members, which reduces the possibility of errors. Copy constructors
      are disabled for all node classes that don't support deep copying by
      inheriting TIntermNode from angle::NonCopyable.
      
      Assignment operator is disabled for all node classes through inheriting
      angle::NonCopyable. This applies also to classes that now get the private
      copy constructor.
      
      Explicit copy constructor and assignment operator declarations are added
      to some classes which show up in node member variables to make code
      clearer.
      
      BUG=angleproject:1116
      TEST=angle_unittests
      
      Change-Id: Ia757b69397837f8309f0e7511c0cd24ca2c7a721
      Reviewed-on: https://chromium-review.googlesource.com/293931Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
  2. 19 Aug, 2015 5 commits
  3. 18 Aug, 2015 16 commits
  4. 17 Aug, 2015 8 commits
  5. 14 Aug, 2015 7 commits
  6. 13 Aug, 2015 3 commits