Index: twisted/python/reflect.py
===================================================================
--- twisted/python/reflect.py	(revision 33529)
+++ twisted/python/reflect.py	(working copy)
@@ -33,6 +33,7 @@
 from twisted.python.deprecate import deprecated
 from twisted.python.deprecate import _fullyQualifiedName as fullyQualifiedName
 from twisted.python.versions import Version
+from twisted.python import deprecate
 
 
 
@@ -44,6 +45,9 @@
     where you don't want to name a variable, but you do want to set
     some attributes; for example, C{X()(y=z,a=b)}.
     """
+
+    deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "Settable")
+
     def __init__(self, **kw):
         self(**kw)
 
@@ -75,6 +79,8 @@
 
     """
 
+    deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "AccessorType")
+
     def __init__(self, name, bases, d):
         type.__init__(self, name, bases, d)
         accessors = {}
@@ -138,6 +144,7 @@
     # caused by it.
     #  -- itamar
 
+    deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "PropertyAccessor")
     __metaclass__ = AccessorType
 
     def reallySet(self, k, v):
@@ -159,6 +166,8 @@
     This implementation is for Python 2.1.
     """
 
+    deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "Accessor")
+
     def __setattr__(self, k,v):
         kstring='set_%s'%k
         if hasattr(self.__class__,kstring):
@@ -199,7 +208,7 @@
 
 # just in case
 OriginalAccessor = Accessor
-
+deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "OriginalAccessor")
 
 class Summer(Accessor):
     """
@@ -214,6 +223,8 @@
     incremented, similiarly for the debit versions.
     """
 
+    deprecate.deprecatedModuleAttribute(Version("Twisted", 12, 1, 0), "", "twisted.python.reflect", "Summer")
+
     def reallySet(self, k,v):
         "This method does the work."
         for sum in self.sums:
Index: twisted/topfiles/5451.removal
===================================================================
--- twisted/topfiles/5451.removal	(revision 0)
+++ twisted/topfiles/5451.removal	(revision 0)
@@ -0,0 +1 @@
+twisted.python.reflect's Settable, AccessorType, PropertyAccessor, Accessor, OriginalAccessor and Summer are now deprecated.
\ No newline at end of file
Index: twisted/test/test_reflect.py
===================================================================
--- twisted/test/test_reflect.py	(revision 33529)
+++ twisted/test/test_reflect.py	(working copy)
@@ -781,3 +781,57 @@
         self.callDeprecated(
             (Version("Twisted", 11, 0, 0), "inspect.getmro"),
             reflect.accumulateBases, DeprecationTestCase, l, None)
+
+    def test_settable(self):
+        """
+        Test deprecation of L{reflect.Settable}
+        """
+        settable = reflect.Settable()
+        warnings = self.flushWarnings([self.test_settable])
+        self.assertSubstring("twisted.python.reflect.Settable was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
+
+    def test_accessorType(self):
+        """
+        Test deprecation of L{reflect.AccessorType}
+        """
+        accessorType = reflect.AccessorType('', (), {})
+        warnings = self.flushWarnings([self.test_accessorType])
+        self.assertSubstring("twisted.python.reflect.AccessorType was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
+
+    def test_propertyAccessor(self):
+        """
+        Test deprecation of L{reflect.PropertyAccessor}
+        """
+        accessorType = reflect.PropertyAccessor()
+        warnings = self.flushWarnings([self.test_propertyAccessor])
+        self.assertSubstring("twisted.python.reflect.PropertyAccessor was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
+
+    def test_accessor(self):
+        """
+        Test deprecation of L{reflect.Accessor}
+        """
+        accessorType = reflect.Accessor()
+        warnings = self.flushWarnings([self.test_accessor])
+        self.assertSubstring("twisted.python.reflect.Accessor was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
+
+    def test_originalAccessor(self):
+        """
+        Test deprecation of L{reflect.OriginalAccessor}
+        """
+        from twisted.python.reflect import OriginalAccessor
+        warnings = self.flushWarnings([self.test_originalAccessor])
+        self.assertSubstring("twisted.python.reflect.OriginalAccessor was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
+
+    def test_summer(self):
+        """
+        Test deprecation of L{reflect.Summer}
+        """
+        accessorType = reflect.Summer()
+        warnings = self.flushWarnings([self.test_summer])
+        self.assertSubstring("twisted.python.reflect.Summer was deprecated in Twisted 12.1.0", warnings[0]['message'])
+        self.assertEqual(len(warnings),1)
\ No newline at end of file
