|  | @@ -66,7 +66,10 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          internal FieldDescriptorProto Proto { get; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        internal Extension Extension { get; }
 | 
	
		
			
				|  |  | +        /// <summary>
 | 
	
		
			
				|  |  | +        /// An extension identifier for this field, or <c>null</c> if this field isn't an extension.
 | 
	
		
			
				|  |  | +        /// </summary>
 | 
	
		
			
				|  |  | +        public Extension Extension { get; }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          internal FieldDescriptor(FieldDescriptorProto proto, FileDescriptor file,
 | 
	
		
			
				|  |  |                                   MessageDescriptor parent, int index, string propertyName, Extension extension)
 | 
	
	
		
			
				|  | @@ -201,19 +204,19 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  |          /// Returns <c>true</c> if this field is a packed, repeated field; <c>false</c> otherwise.
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  | -        public bool IsPacked
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | -            get
 | 
	
		
			
				|  |  | -            {
 | 
	
		
			
				|  |  | -                if (File.Syntax != Syntax.Proto3)
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    return Proto.Options?.Packed ?? false;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -                else
 | 
	
		
			
				|  |  | -                {
 | 
	
		
			
				|  |  | -                    return !Proto.Options.HasPacked || Proto.Options.Packed;
 | 
	
		
			
				|  |  | -                }
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +        public bool IsPacked
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            get
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                if (File.Syntax != Syntax.Proto3)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return Proto.Options?.Packed ?? false;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                else
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    return !Proto.Options.HasPacked || Proto.Options.Packed;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
	
		
			
				|  | @@ -393,7 +396,7 @@ namespace Google.Protobuf.Reflection
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          private IFieldAccessor CreateAccessor()
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  |              if (Extension != null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  return new ExtensionAccessor(this);
 |