--- /dev/null
+/**\r
+ * An extension (field).\r
+ * @exports ProtoBuf.Reflect.Extension\r
+ * @constructor\r
+ * @param {!ProtoBuf.Builder} builder Builder reference\r
+ * @param {!ProtoBuf.Reflect.T} parent Parent object\r
+ * @param {string} name Object name\r
+ * @param {!ProtoBuf.Reflect.Message.Field} field Extension field\r
+ */\r
+var Extension = function(builder, parent, name, field) {\r
+ T.call(this, builder, parent, name);\r
+\r
+ /**\r
+ * Extended message field.\r
+ * @type {!ProtoBuf.Reflect.Message.Field}\r
+ * @expose\r
+ */\r
+ this.field = field;\r
+};\r
+\r
+// Extends T\r
+Extension.prototype = Object.create(T.prototype);\r