1. 26 Aug, 2015 1 commit
    • Add deep copying support for typed AST nodes · d7a25243
      Olli Etuaho authored
      Resubmit with inconsistent override warnings fixed.
      
      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: I7964976f5dac7dfd745b8c6612ca06fb01d271c4
      Reviewed-on: https://chromium-review.googlesource.com/295080Tested-by: 's avatarOlli Etuaho <oetuaho@nvidia.com>
      Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
      Reviewed-by: 's avatarZhenyao Mo <zmo@chromium.org>
  2. 25 Aug, 2015 7 commits
  3. 24 Aug, 2015 9 commits
  4. 21 Aug, 2015 9 commits
  5. 20 Aug, 2015 9 commits
  6. 19 Aug, 2015 5 commits