Use quiche_export instead of spdy_export.

gfe-relnote: n/a, no functional change.
PiperOrigin-RevId: 290871897
Change-Id: I18ffd08003b0fae075c5206560b44b03e62e51c6
diff --git a/spdy/core/hpack/hpack_constants.h b/spdy/core/hpack/hpack_constants.h
index d3f9d8d..e82a994 100644
--- a/spdy/core/hpack/hpack_constants.h
+++ b/spdy/core/hpack/hpack_constants.h
@@ -9,7 +9,7 @@
 #include <cstdint>
 #include <vector>
 
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 
 // All section references below are to
 // https://httpwg.org/specs/rfc7540.html and
@@ -71,22 +71,22 @@
 const HpackPrefix kHeaderTableSizeUpdateOpcode = {0b001, 3};
 
 // RFC 7541, Appendix B: Huffman Code.
-SPDY_EXPORT_PRIVATE const std::vector<HpackHuffmanSymbol>&
+QUICHE_EXPORT_PRIVATE const std::vector<HpackHuffmanSymbol>&
 HpackHuffmanCodeVector();
 
 // RFC 7541, Appendix A: Static Table Definition.
-SPDY_EXPORT_PRIVATE const std::vector<HpackStaticEntry>&
+QUICHE_EXPORT_PRIVATE const std::vector<HpackStaticEntry>&
 HpackStaticTableVector();
 
 // Returns a HpackHuffmanTable instance initialized with |kHpackHuffmanCode|.
 // The instance is read-only, has static lifetime, and is safe to share amoung
 // threads. This function is thread-safe.
-SPDY_EXPORT_PRIVATE const HpackHuffmanTable& ObtainHpackHuffmanTable();
+QUICHE_EXPORT_PRIVATE const HpackHuffmanTable& ObtainHpackHuffmanTable();
 
 // Returns a HpackStaticTable instance initialized with |kHpackStaticTable|.
 // The instance is read-only, has static lifetime, and is safe to share amoung
 // threads. This function is thread-safe.
-SPDY_EXPORT_PRIVATE const HpackStaticTable& ObtainHpackStaticTable();
+QUICHE_EXPORT_PRIVATE const HpackStaticTable& ObtainHpackStaticTable();
 
 // RFC 7541, 8.1.2.1: Pseudo-headers start with a colon.
 const char kPseudoHeaderPrefix = ':';
diff --git a/spdy/core/hpack/hpack_decoder_adapter.h b/spdy/core/hpack/hpack_decoder_adapter.h
index 1d5c7b2..429d3b1 100644
--- a/spdy/core/hpack/hpack_decoder_adapter.h
+++ b/spdy/core/hpack/hpack_decoder_adapter.h
@@ -18,18 +18,18 @@
 #include "net/third_party/quiche/src/http2/hpack/decoder/hpack_decoder_tables.h"
 #include "net/third_party/quiche/src/http2/hpack/hpack_string.h"
 #include "net/third_party/quiche/src/http2/hpack/http2_hpack_constants.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_header_table.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_header_block.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_headers_handler_interface.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 namespace test {
 class HpackDecoderAdapterPeer;
 }  // namespace test
 
-class SPDY_EXPORT_PRIVATE HpackDecoderAdapter {
+class QUICHE_EXPORT_PRIVATE HpackDecoderAdapter {
  public:
   friend test::HpackDecoderAdapterPeer;
   HpackDecoderAdapter();
@@ -86,7 +86,7 @@
   size_t EstimateMemoryUsage() const;
 
  private:
-  class SPDY_EXPORT_PRIVATE ListenerAdapter
+  class QUICHE_EXPORT_PRIVATE ListenerAdapter
       : public http2::HpackDecoderListener,
         public http2::HpackDecoderTablesDebugListener {
    public:
diff --git a/spdy/core/hpack/hpack_encoder.h b/spdy/core/hpack/hpack_encoder.h
index 115908b..c3d3a19 100644
--- a/spdy/core/hpack/hpack_encoder.h
+++ b/spdy/core/hpack/hpack_encoder.h
@@ -14,11 +14,11 @@
 #include <utility>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_header_table.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_output_stream.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 // An HpackEncoder encodes header sets as outlined in
 // http://tools.ietf.org/html/rfc7541.
@@ -31,7 +31,7 @@
 class HpackEncoderPeer;
 }  // namespace test
 
-class SPDY_EXPORT_PRIVATE HpackEncoder {
+class QUICHE_EXPORT_PRIVATE HpackEncoder {
  public:
   using Representation =
       std::pair<quiche::QuicheStringPiece, quiche::QuicheStringPiece>;
@@ -58,7 +58,7 @@
   // whether or not the encoding was successful.
   bool EncodeHeaderSet(const SpdyHeaderBlock& header_set, std::string* output);
 
-  class SPDY_EXPORT_PRIVATE ProgressiveEncoder {
+  class QUICHE_EXPORT_PRIVATE ProgressiveEncoder {
    public:
     virtual ~ProgressiveEncoder() {}
 
diff --git a/spdy/core/hpack/hpack_entry.h b/spdy/core/hpack/hpack_entry.h
index d36bce4..750c7e6 100644
--- a/spdy/core/hpack/hpack_entry.h
+++ b/spdy/core/hpack/hpack_entry.h
@@ -9,8 +9,8 @@
 #include <cstdint>
 #include <string>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 // All section references below are to
 // http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-08
@@ -19,7 +19,7 @@
 
 // A structure for an entry in the static table (3.3.1)
 // and the header table (3.3.2).
-class SPDY_EXPORT_PRIVATE HpackEntry {
+class QUICHE_EXPORT_PRIVATE HpackEntry {
  public:
   // The constant amount added to name().size() and value().size() to
   // get the size of an HpackEntry as defined in 5.1.
diff --git a/spdy/core/hpack/hpack_header_table.h b/spdy/core/hpack/hpack_header_table.h
index 3f532ac..88ef6d7 100644
--- a/spdy/core/hpack/hpack_header_table.h
+++ b/spdy/core/hpack/hpack_header_table.h
@@ -10,10 +10,10 @@
 #include <deque>
 #include <memory>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_entry.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_containers.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_macros.h"
 
 // All section references below are to http://tools.ietf.org/html/rfc7541.
@@ -25,7 +25,7 @@
 }  // namespace test
 
 // A data structure for the static table (2.3.1) and the dynamic table (2.3.2).
-class SPDY_EXPORT_PRIVATE HpackHeaderTable {
+class QUICHE_EXPORT_PRIVATE HpackHeaderTable {
  public:
   friend class test::HpackHeaderTablePeer;
 
@@ -60,10 +60,10 @@
   // which case |*_index_| can be trivially extended to map to list iterators.
   using EntryTable = std::deque<HpackEntry>;
 
-  struct SPDY_EXPORT_PRIVATE EntryHasher {
+  struct QUICHE_EXPORT_PRIVATE EntryHasher {
     size_t operator()(const HpackEntry* entry) const;
   };
-  struct SPDY_EXPORT_PRIVATE EntriesEq {
+  struct QUICHE_EXPORT_PRIVATE EntriesEq {
     bool operator()(const HpackEntry* lhs, const HpackEntry* rhs) const;
   };
   using UnorderedEntrySet = SpdyHashSet<HpackEntry*, EntryHasher, EntriesEq>;
diff --git a/spdy/core/hpack/hpack_huffman_table.h b/spdy/core/hpack/hpack_huffman_table.h
index abf8caa..b7c2649 100644
--- a/spdy/core/hpack/hpack_huffman_table.h
+++ b/spdy/core/hpack/hpack_huffman_table.h
@@ -9,9 +9,9 @@
 #include <cstdint>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_constants.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -24,7 +24,7 @@
 // HpackHuffmanTable encodes string literals using a constructed canonical
 // Huffman code. Once initialized, an instance is read only and may be accessed
 // only through its const interface.
-class SPDY_EXPORT_PRIVATE HpackHuffmanTable {
+class QUICHE_EXPORT_PRIVATE HpackHuffmanTable {
  public:
   friend class test::HpackHuffmanTablePeer;
 
diff --git a/spdy/core/hpack/hpack_output_stream.h b/spdy/core/hpack/hpack_output_stream.h
index 9b64554..f7e71f1 100644
--- a/spdy/core/hpack/hpack_output_stream.h
+++ b/spdy/core/hpack/hpack_output_stream.h
@@ -9,9 +9,9 @@
 #include <map>
 #include <string>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_constants.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 // All section references below are to
 // http://tools.ietf.org/html/draft-ietf-httpbis-header-compression-08
@@ -20,7 +20,7 @@
 
 // An HpackOutputStream handles all the low-level details of encoding
 // header fields.
-class SPDY_EXPORT_PRIVATE HpackOutputStream {
+class QUICHE_EXPORT_PRIVATE HpackOutputStream {
  public:
   HpackOutputStream();
   HpackOutputStream(const HpackOutputStream&) = delete;
diff --git a/spdy/core/hpack/hpack_static_table.h b/spdy/core/hpack/hpack_static_table.h
index f354a12..05cc24a 100644
--- a/spdy/core/hpack/hpack_static_table.h
+++ b/spdy/core/hpack/hpack_static_table.h
@@ -5,8 +5,8 @@
 #ifndef QUICHE_SPDY_CORE_HPACK_HPACK_STATIC_TABLE_H_
 #define QUICHE_SPDY_CORE_HPACK_HPACK_STATIC_TABLE_H_
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_header_table.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -16,7 +16,7 @@
 // encoding and decoding contexts.  Once initialized, an instance is read only
 // and may be accessed only through its const interface.  Such an instance may
 // be shared accross multiple HPACK contexts.
-class SPDY_EXPORT_PRIVATE HpackStaticTable {
+class QUICHE_EXPORT_PRIVATE HpackStaticTable {
  public:
   HpackStaticTable();
   ~HpackStaticTable();
diff --git a/spdy/core/http2_frame_decoder_adapter.h b/spdy/core/http2_frame_decoder_adapter.h
index f3ccdff..2bbb9f1 100644
--- a/spdy/core/http2_frame_decoder_adapter.h
+++ b/spdy/core/http2_frame_decoder_adapter.h
@@ -12,6 +12,7 @@
 #include <string>
 
 #include "net/third_party/quiche/src/http2/decoder/http2_frame_decoder.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_optional.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_decoder_adapter.h"
@@ -32,7 +33,7 @@
 namespace http2 {
 
 // Adapts SpdyFramer interface to use Http2FrameDecoder.
-class SPDY_EXPORT_PRIVATE Http2DecoderAdapter
+class QUICHE_EXPORT_PRIVATE Http2DecoderAdapter
     : public http2::Http2FrameDecoderListener {
  public:
   // HTTP2 states.
@@ -344,7 +345,7 @@
 //      been delivered for the control frame.
 // During step 2, if the visitor is not interested in accepting the header data,
 // it should return a no-op implementation of SpdyHeadersHandlerInterface.
-class SPDY_EXPORT_PRIVATE SpdyFramerVisitorInterface {
+class QUICHE_EXPORT_PRIVATE SpdyFramerVisitorInterface {
  public:
   virtual ~SpdyFramerVisitorInterface() {}
 
@@ -495,7 +496,7 @@
   virtual bool OnUnknownFrame(SpdyStreamId stream_id, uint8_t frame_type) = 0;
 };
 
-class SPDY_EXPORT_PRIVATE ExtensionVisitorInterface {
+class QUICHE_EXPORT_PRIVATE ExtensionVisitorInterface {
  public:
   virtual ~ExtensionVisitorInterface() {}
 
diff --git a/spdy/core/spdy_alt_svc_wire_format.h b/spdy/core/spdy_alt_svc_wire_format.h
index 6c3e7af..4d25450 100644
--- a/spdy/core/spdy_alt_svc_wire_format.h
+++ b/spdy/core/spdy_alt_svc_wire_format.h
@@ -14,9 +14,9 @@
 #include <string>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_containers.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -24,11 +24,11 @@
 class SpdyAltSvcWireFormatPeer;
 }  // namespace test
 
-class SPDY_EXPORT_PRIVATE SpdyAltSvcWireFormat {
+class QUICHE_EXPORT_PRIVATE SpdyAltSvcWireFormat {
  public:
   using VersionVector = SpdyInlinedVector<uint32_t, 8>;
 
-  struct SPDY_EXPORT_PRIVATE AlternativeService {
+  struct QUICHE_EXPORT_PRIVATE AlternativeService {
     std::string protocol_id;
     std::string host;
 
diff --git a/spdy/core/spdy_frame_builder.h b/spdy/core/spdy_frame_builder.h
index eb90ddb..4853d44 100644
--- a/spdy/core/spdy_frame_builder.h
+++ b/spdy/core/spdy_frame_builder.h
@@ -9,12 +9,12 @@
 #include <cstdint>
 #include <memory>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
 #include "net/third_party/quiche/src/spdy/core/zero_copy_output_buffer.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_bug_tracker.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_endianness_util.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -29,7 +29,7 @@
 // to a frame instance.  The SpdyFrameBuilder grows its internal memory buffer
 // dynamically to hold the sequence of primitive values.   The internal memory
 // buffer is exposed as the "data" of the SpdyFrameBuilder.
-class SPDY_EXPORT_PRIVATE SpdyFrameBuilder {
+class QUICHE_EXPORT_PRIVATE SpdyFrameBuilder {
  public:
   // Initializes a SpdyFrameBuilder with a buffer of given size
   explicit SpdyFrameBuilder(size_t size);
diff --git a/spdy/core/spdy_frame_builder_test.cc b/spdy/core/spdy_frame_builder_test.cc
index 73ee8e8..0deca77 100644
--- a/spdy/core/spdy_frame_builder_test.cc
+++ b/spdy/core/spdy_frame_builder_test.cc
@@ -6,17 +6,17 @@
 
 #include <memory>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/spdy/core/array_output_buffer.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_framer.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_test.h"
 
 namespace spdy {
 
 namespace test {
 
-class SPDY_EXPORT_PRIVATE SpdyFrameBuilderPeer {
+class QUICHE_EXPORT_PRIVATE SpdyFrameBuilderPeer {
  public:
   static char* GetWritableBuffer(SpdyFrameBuilder* builder, size_t length) {
     return builder->GetWritableBuffer(length);
diff --git a/spdy/core/spdy_frame_reader.h b/spdy/core/spdy_frame_reader.h
index a7136ca..0ed5be4 100644
--- a/spdy/core/spdy_frame_reader.h
+++ b/spdy/core/spdy_frame_reader.h
@@ -7,8 +7,8 @@
 
 #include <cstdint>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -26,7 +26,7 @@
 // trusted and it is up to the caller to throw away the failed instance and
 // handle the error as appropriate. None of the Read*() methods should ever be
 // called after failure, as they will also fail immediately.
-class SPDY_EXPORT_PRIVATE SpdyFrameReader {
+class QUICHE_EXPORT_PRIVATE SpdyFrameReader {
  public:
   // Caller must provide an underlying buffer to work on.
   SpdyFrameReader(const char* data, const size_t len);
diff --git a/spdy/core/spdy_framer.h b/spdy/core/spdy_framer.h
index 95b7e20..f16e3bd 100644
--- a/spdy/core/spdy_framer.h
+++ b/spdy/core/spdy_framer.h
@@ -13,6 +13,7 @@
 #include <string>
 #include <utility>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/hpack/hpack_encoder.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_alt_svc_wire_format.h"
@@ -20,7 +21,6 @@
 #include "net/third_party/quiche/src/spdy/core/spdy_headers_handler_interface.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
 #include "net/third_party/quiche/src/spdy/core/zero_copy_output_buffer.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -32,7 +32,7 @@
 
 }  // namespace test
 
-class SPDY_EXPORT_PRIVATE SpdyFrameSequence {
+class QUICHE_EXPORT_PRIVATE SpdyFrameSequence {
  public:
   virtual ~SpdyFrameSequence() {}
 
@@ -47,7 +47,7 @@
   virtual const SpdyFrameIR& GetIR() const = 0;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyFramer {
+class QUICHE_EXPORT_PRIVATE SpdyFramer {
  public:
   enum CompressionOption {
     ENABLE_COMPRESSION,
@@ -237,7 +237,7 @@
   //     // Write failed;
   //   }
   // }
-  class SPDY_EXPORT_PRIVATE SpdyFrameIterator : public SpdyFrameSequence {
+  class QUICHE_EXPORT_PRIVATE SpdyFrameIterator : public SpdyFrameSequence {
    public:
     // Creates an iterator with the provided framer.
     // Does not take ownership of |framer|.
@@ -280,7 +280,8 @@
   // Iteratively converts a SpdyHeadersIR (with a possibly huge
   // SpdyHeaderBlock) into an appropriate sequence of SpdySerializedFrames, and
   // write to the output.
-  class SPDY_EXPORT_PRIVATE SpdyHeaderFrameIterator : public SpdyFrameIterator {
+  class QUICHE_EXPORT_PRIVATE SpdyHeaderFrameIterator
+      : public SpdyFrameIterator {
    public:
     // Does not take ownership of |framer|. Take ownership of |headers_ir|.
     SpdyHeaderFrameIterator(SpdyFramer* framer,
@@ -300,7 +301,7 @@
   // Iteratively converts a SpdyPushPromiseIR (with a possibly huge
   // SpdyHeaderBlock) into an appropriate sequence of SpdySerializedFrames, and
   // write to the output.
-  class SPDY_EXPORT_PRIVATE SpdyPushPromiseFrameIterator
+  class QUICHE_EXPORT_PRIVATE SpdyPushPromiseFrameIterator
       : public SpdyFrameIterator {
    public:
     // Does not take ownership of |framer|. Take ownership of |push_promise_ir|.
@@ -321,7 +322,7 @@
 
   // Converts a SpdyFrameIR into one Spdy frame (a sequence of length 1), and
   // write it to the output.
-  class SPDY_EXPORT_PRIVATE SpdyControlFrameIterator
+  class QUICHE_EXPORT_PRIVATE SpdyControlFrameIterator
       : public SpdyFrameSequence {
    public:
     SpdyControlFrameIterator(SpdyFramer* framer,
diff --git a/spdy/core/spdy_header_block.h b/spdy/core/spdy_header_block.h
index a625393..5ab74e4 100644
--- a/spdy/core/spdy_header_block.h
+++ b/spdy/core/spdy_header_block.h
@@ -13,10 +13,10 @@
 #include <utility>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_header_storage.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_containers.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_macros.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_string_utils.h"
 
@@ -38,11 +38,11 @@
 //
 // This implementation does not make much of an effort to minimize wasted space.
 // It's expected that keys are rarely deleted from a SpdyHeaderBlock.
-class SPDY_EXPORT_PRIVATE SpdyHeaderBlock {
+class QUICHE_EXPORT_PRIVATE SpdyHeaderBlock {
  private:
   // Stores a list of value fragments that can be joined later with a
   // key-dependent separator.
-  class SPDY_EXPORT_PRIVATE HeaderValue {
+  class QUICHE_EXPORT_PRIVATE HeaderValue {
    public:
     HeaderValue(SpdyHeaderStorage* storage,
                 quiche::QuicheStringPiece key,
@@ -99,7 +99,7 @@
   // QuicheStringPiece>, even though the underlying MapType::value_type is
   // different. Dereferencing the iterator will result in memory allocation for
   // multi-value headers.
-  class SPDY_EXPORT_PRIVATE iterator {
+  class QUICHE_EXPORT_PRIVATE iterator {
    public:
     // The following type definitions fulfill the requirements for iterator
     // implementations.
@@ -192,7 +192,7 @@
   // nearly a drop-in replacement for
   // SpdyLinkedHashMap<std::string, std::string>.
   // It reads data from or writes data to a SpdyHeaderStorage.
-  class SPDY_EXPORT_PRIVATE ValueProxy {
+  class QUICHE_EXPORT_PRIVATE ValueProxy {
    public:
     ~ValueProxy();
 
diff --git a/spdy/core/spdy_header_storage.h b/spdy/core/spdy_header_storage.h
index af1775a..aace3c0 100644
--- a/spdy/core/spdy_header_storage.h
+++ b/spdy/core/spdy_header_storage.h
@@ -1,9 +1,9 @@
 #ifndef QUICHE_SPDY_CORE_SPDY_HEADER_STORAGE_H_
 #define QUICHE_SPDY_CORE_SPDY_HEADER_STORAGE_H_
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_simple_arena.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -16,7 +16,7 @@
 // Write operations always append to the last block. If there is not enough
 // space to perform the write, a new block is allocated, and any unused space
 // is wasted.
-class SPDY_EXPORT_PRIVATE SpdyHeaderStorage {
+class QUICHE_EXPORT_PRIVATE SpdyHeaderStorage {
  public:
   SpdyHeaderStorage();
 
@@ -51,7 +51,7 @@
 
 // Writes |fragments| to |dst|, joined by |separator|. |dst| must be large
 // enough to hold the result. Returns the number of bytes written.
-SPDY_EXPORT_PRIVATE size_t
+QUICHE_EXPORT_PRIVATE size_t
 Join(char* dst,
      const std::vector<quiche::QuicheStringPiece>& fragments,
      quiche::QuicheStringPiece separator);
diff --git a/spdy/core/spdy_headers_handler_interface.h b/spdy/core/spdy_headers_handler_interface.h
index cff4922..8709977 100644
--- a/spdy/core/spdy_headers_handler_interface.h
+++ b/spdy/core/spdy_headers_handler_interface.h
@@ -7,14 +7,14 @@
 
 #include <stddef.h>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
 // This interface defines how an object that accepts header data should behave.
 // It is used by both SpdyHeadersBlockParser and HpackDecoder.
-class SPDY_EXPORT_PRIVATE SpdyHeadersHandlerInterface {
+class QUICHE_EXPORT_PRIVATE SpdyHeadersHandlerInterface {
  public:
   virtual ~SpdyHeadersHandlerInterface() {}
 
diff --git a/spdy/core/spdy_pinnable_buffer_piece.h b/spdy/core/spdy_pinnable_buffer_piece.h
index 469c0d3..fe9639f 100644
--- a/spdy/core/spdy_pinnable_buffer_piece.h
+++ b/spdy/core/spdy_pinnable_buffer_piece.h
@@ -9,8 +9,8 @@
 
 #include <memory>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -20,7 +20,7 @@
 // Represents a piece of consumed buffer which may (or may not) own its
 // underlying storage. Users may "pin" the buffer at a later time to ensure
 // a SpdyPinnableBufferPiece owns and retains storage of the buffer.
-struct SPDY_EXPORT_PRIVATE SpdyPinnableBufferPiece {
+struct QUICHE_EXPORT_PRIVATE SpdyPinnableBufferPiece {
  public:
   SpdyPinnableBufferPiece();
   ~SpdyPinnableBufferPiece();
diff --git a/spdy/core/spdy_prefixed_buffer_reader.h b/spdy/core/spdy_prefixed_buffer_reader.h
index 2905698..91b9082 100644
--- a/spdy/core/spdy_prefixed_buffer_reader.h
+++ b/spdy/core/spdy_prefixed_buffer_reader.h
@@ -7,14 +7,14 @@
 
 #include <stddef.h>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_pinnable_buffer_piece.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
 // Reader class which simplifies reading contiguously from
 // from a disjoint buffer prefix & suffix.
-class SPDY_EXPORT_PRIVATE SpdyPrefixedBufferReader {
+class QUICHE_EXPORT_PRIVATE SpdyPrefixedBufferReader {
  public:
   SpdyPrefixedBufferReader(const char* prefix,
                            size_t prefix_length,
diff --git a/spdy/core/spdy_protocol.h b/spdy/core/spdy_protocol.h
index 5d96497..54723da 100644
--- a/spdy/core/spdy_protocol.h
+++ b/spdy/core/spdy_protocol.h
@@ -19,12 +19,12 @@
 #include <string>
 #include <utility>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_alt_svc_wire_format.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_bitmasks.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_header_block.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_bug_tracker.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 #include "net/third_party/quiche/src/spdy/platform/api/spdy_logging.h"
 
 namespace spdy {
@@ -82,7 +82,7 @@
 // defined as a string literal with a null terminator, the actual connection
 // preface is only the first |kHttp2ConnectionHeaderPrefixSize| bytes, which
 // excludes the null terminator.
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2ConnectionHeaderPrefix;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2ConnectionHeaderPrefix;
 const int kHttp2ConnectionHeaderPrefixSize = 24;
 
 // Wire values for HTTP2 frame types.
@@ -166,13 +166,13 @@
 
 // This explicit operator is needed, otherwise compiler finds
 // overloaded operator to be ambiguous.
-SPDY_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out,
-                                             SpdyKnownSettingsId id);
+QUICHE_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out,
+                                               SpdyKnownSettingsId id);
 
 // This operator is needed, because SpdyFrameType is an enum class,
 // therefore implicit conversion to underlying integer type is not allowed.
-SPDY_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out,
-                                             SpdyFrameType frame_type);
+QUICHE_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& out,
+                                               SpdyFrameType frame_type);
 
 using SettingsMap = std::map<SpdySettingsId, uint32_t>;
 
@@ -214,7 +214,7 @@
 const SpdyPriority kV3LowestPriority = 7;
 
 // Returns SPDY 3.x priority value clamped to the valid range of [0, 7].
-SPDY_EXPORT_PRIVATE SpdyPriority ClampSpdy3Priority(SpdyPriority priority);
+QUICHE_EXPORT_PRIVATE SpdyPriority ClampSpdy3Priority(SpdyPriority priority);
 
 // HTTP/2 stream weights are integers in range [1, 256], as specified in RFC
 // 7540 section 5.3.2. Default stream weight is defined in section 5.3.5.
@@ -223,19 +223,19 @@
 const int kHttp2DefaultStreamWeight = 16;
 
 // Returns HTTP/2 weight clamped to the valid range of [1, 256].
-SPDY_EXPORT_PRIVATE int ClampHttp2Weight(int weight);
+QUICHE_EXPORT_PRIVATE int ClampHttp2Weight(int weight);
 
 // Maps SPDY 3.x priority value in range [0, 7] to HTTP/2 weight value in range
 // [1, 256], where priority 0 (i.e. highest precedence) corresponds to maximum
 // weight 256 and priority 7 (lowest precedence) corresponds to minimum weight
 // 1.
-SPDY_EXPORT_PRIVATE int Spdy3PriorityToHttp2Weight(SpdyPriority priority);
+QUICHE_EXPORT_PRIVATE int Spdy3PriorityToHttp2Weight(SpdyPriority priority);
 
 // Maps HTTP/2 weight value in range [1, 256] to SPDY 3.x priority value in
 // range [0, 7], where minimum weight 1 corresponds to priority 7 (lowest
 // precedence) and maximum weight 256 corresponds to priority 0 (highest
 // precedence).
-SPDY_EXPORT_PRIVATE SpdyPriority Http2WeightToSpdy3Priority(int weight);
+QUICHE_EXPORT_PRIVATE SpdyPriority Http2WeightToSpdy3Priority(int weight);
 
 // Reserved ID for root stream of HTTP/2 stream dependency tree, as specified
 // in RFC 7540 section 5.3.1.
@@ -245,20 +245,20 @@
 
 // Returns true if a given on-the-wire enumeration of a frame type is defined
 // in a standardized HTTP/2 specification, false otherwise.
-SPDY_EXPORT_PRIVATE bool IsDefinedFrameType(uint8_t frame_type_field);
+QUICHE_EXPORT_PRIVATE bool IsDefinedFrameType(uint8_t frame_type_field);
 
 // Parses a frame type from an on-the-wire enumeration.
 // Behavior is undefined for invalid frame type fields; consumers should first
 // use IsValidFrameType() to verify validity of frame type fields.
-SPDY_EXPORT_PRIVATE SpdyFrameType ParseFrameType(uint8_t frame_type_field);
+QUICHE_EXPORT_PRIVATE SpdyFrameType ParseFrameType(uint8_t frame_type_field);
 
 // Serializes a frame type to the on-the-wire value.
-SPDY_EXPORT_PRIVATE uint8_t SerializeFrameType(SpdyFrameType frame_type);
+QUICHE_EXPORT_PRIVATE uint8_t SerializeFrameType(SpdyFrameType frame_type);
 
 // (HTTP/2) All standard frame types except WINDOW_UPDATE are
 // (stream-specific xor connection-level). Returns false iff we know
 // the given frame type does not align with the given streamID.
-SPDY_EXPORT_PRIVATE bool IsValidHTTP2FrameStreamId(
+QUICHE_EXPORT_PRIVATE bool IsValidHTTP2FrameStreamId(
     SpdyStreamId current_frame_stream_id,
     SpdyFrameType frame_type_field);
 
@@ -267,25 +267,25 @@
 
 // If |wire_setting_id| is the on-the-wire representation of a defined SETTINGS
 // parameter, parse it to |*setting_id| and return true.
-SPDY_EXPORT_PRIVATE bool ParseSettingsId(SpdySettingsId wire_setting_id,
-                                         SpdyKnownSettingsId* setting_id);
+QUICHE_EXPORT_PRIVATE bool ParseSettingsId(SpdySettingsId wire_setting_id,
+                                           SpdyKnownSettingsId* setting_id);
 
 // Returns a string representation of the |id| for logging/debugging. Returns
 // the |id| prefixed with "SETTINGS_UNKNOWN_" for unknown SETTINGS IDs. To parse
 // the |id| into a SpdyKnownSettingsId (if applicable), use ParseSettingsId().
-SPDY_EXPORT_PRIVATE std::string SettingsIdToString(SpdySettingsId id);
+QUICHE_EXPORT_PRIVATE std::string SettingsIdToString(SpdySettingsId id);
 
 // Parse |wire_error_code| to a SpdyErrorCode.
 // Treat unrecognized error codes as INTERNAL_ERROR
 // as recommended by the HTTP/2 specification.
-SPDY_EXPORT_PRIVATE SpdyErrorCode ParseErrorCode(uint32_t wire_error_code);
+QUICHE_EXPORT_PRIVATE SpdyErrorCode ParseErrorCode(uint32_t wire_error_code);
 
 // Serialize RST_STREAM or GOAWAY frame error code to string
 // for logging/debugging.
 const char* ErrorCodeToString(SpdyErrorCode error_code);
 
 // Serialize |type| to string for logging/debugging.
-SPDY_EXPORT_PRIVATE const char* WriteSchedulerTypeToString(
+QUICHE_EXPORT_PRIVATE const char* WriteSchedulerTypeToString(
     WriteSchedulerType type);
 
 // Minimum size of a frame, in octets.
@@ -333,16 +333,16 @@
 const size_t kPerHeaderHpackOverhead = 4;
 
 // Names of pseudo-headers defined for HTTP/2 requests.
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2AuthorityHeader;
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2MethodHeader;
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2PathHeader;
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2SchemeHeader;
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2ProtocolHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2AuthorityHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2MethodHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2PathHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2SchemeHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2ProtocolHeader;
 
 // Name of pseudo-header defined for HTTP/2 responses.
-SPDY_EXPORT_PRIVATE extern const char* const kHttp2StatusHeader;
+QUICHE_EXPORT_PRIVATE extern const char* const kHttp2StatusHeader;
 
-SPDY_EXPORT_PRIVATE size_t GetNumberRequiredContinuationFrames(size_t size);
+QUICHE_EXPORT_PRIVATE size_t GetNumberRequiredContinuationFrames(size_t size);
 
 // Variant type (i.e. tagged union) that is either a SPDY 3.x priority value,
 // or else an HTTP/2 stream dependency tuple {parent stream ID, weight,
@@ -443,7 +443,7 @@
 class SpdyFrameVisitor;
 
 // Intermediate representation for HTTP2 frames.
-class SPDY_EXPORT_PRIVATE SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyFrameIR {
  public:
   virtual ~SpdyFrameIR() {}
 
@@ -471,7 +471,7 @@
 
 // Abstract class intended to be inherited by IRs that have the option of a FIN
 // flag.
-class SPDY_EXPORT_PRIVATE SpdyFrameWithFinIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyFrameWithFinIR : public SpdyFrameIR {
  public:
   ~SpdyFrameWithFinIR() override {}
   bool fin() const override;
@@ -489,7 +489,7 @@
 
 // Abstract class intended to be inherited by IRs that contain a header
 // block. Implies SpdyFrameWithFinIR.
-class SPDY_EXPORT_PRIVATE SpdyFrameWithHeaderBlockIR
+class QUICHE_EXPORT_PRIVATE SpdyFrameWithHeaderBlockIR
     : public SpdyFrameWithFinIR {
  public:
   ~SpdyFrameWithHeaderBlockIR() override;
@@ -515,7 +515,7 @@
   SpdyHeaderBlock header_block_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyDataIR : public SpdyFrameWithFinIR {
+class QUICHE_EXPORT_PRIVATE SpdyDataIR : public SpdyFrameWithFinIR {
  public:
   // Performs a deep copy on data.
   SpdyDataIR(SpdyStreamId stream_id, quiche::QuicheStringPiece data);
@@ -589,7 +589,7 @@
   int padding_payload_len_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyRstStreamIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyRstStreamIR : public SpdyFrameIR {
  public:
   SpdyRstStreamIR(SpdyStreamId stream_id, SpdyErrorCode error_code);
   SpdyRstStreamIR(const SpdyRstStreamIR&) = delete;
@@ -610,7 +610,7 @@
   SpdyErrorCode error_code_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdySettingsIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdySettingsIR : public SpdyFrameIR {
  public:
   SpdySettingsIR();
   SpdySettingsIR(const SpdySettingsIR&) = delete;
@@ -635,7 +635,7 @@
   bool is_ack_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyPingIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyPingIR : public SpdyFrameIR {
  public:
   explicit SpdyPingIR(SpdyPingId id) : id_(id), is_ack_(false) {}
   SpdyPingIR(const SpdyPingIR&) = delete;
@@ -656,7 +656,7 @@
   bool is_ack_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyGoAwayIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyGoAwayIR : public SpdyFrameIR {
  public:
   // References description, doesn't copy it, so description must outlast
   // this SpdyGoAwayIR.
@@ -706,7 +706,7 @@
   const quiche::QuicheStringPiece description_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyHeadersIR : public SpdyFrameWithHeaderBlockIR {
+class QUICHE_EXPORT_PRIVATE SpdyHeadersIR : public SpdyFrameWithHeaderBlockIR {
  public:
   explicit SpdyHeadersIR(SpdyStreamId stream_id)
       : SpdyHeadersIR(stream_id, SpdyHeaderBlock()) {}
@@ -748,7 +748,7 @@
   int padding_payload_len_ = 0;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyWindowUpdateIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyWindowUpdateIR : public SpdyFrameIR {
  public:
   SpdyWindowUpdateIR(SpdyStreamId stream_id, int32_t delta)
       : SpdyFrameIR(stream_id) {
@@ -774,7 +774,7 @@
   int32_t delta_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyPushPromiseIR
+class QUICHE_EXPORT_PRIVATE SpdyPushPromiseIR
     : public SpdyFrameWithHeaderBlockIR {
  public:
   SpdyPushPromiseIR(SpdyStreamId stream_id, SpdyStreamId promised_stream_id)
@@ -813,7 +813,7 @@
   int padding_payload_len_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyContinuationIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyContinuationIR : public SpdyFrameIR {
  public:
   explicit SpdyContinuationIR(SpdyStreamId stream_id);
   SpdyContinuationIR(const SpdyContinuationIR&) = delete;
@@ -837,7 +837,7 @@
   bool end_headers_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyAltSvcIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyAltSvcIR : public SpdyFrameIR {
  public:
   explicit SpdyAltSvcIR(SpdyStreamId stream_id);
   SpdyAltSvcIR(const SpdyAltSvcIR&) = delete;
@@ -865,7 +865,7 @@
   SpdyAltSvcWireFormat::AlternativeServiceVector altsvc_vector_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdyPriorityIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyPriorityIR : public SpdyFrameIR {
  public:
   SpdyPriorityIR(SpdyStreamId stream_id,
                  SpdyStreamId parent_stream_id,
@@ -894,7 +894,7 @@
 };
 
 // Represents a frame of unrecognized type.
-class SPDY_EXPORT_PRIVATE SpdyUnknownIR : public SpdyFrameIR {
+class QUICHE_EXPORT_PRIVATE SpdyUnknownIR : public SpdyFrameIR {
  public:
   SpdyUnknownIR(SpdyStreamId stream_id,
                 uint8_t type,
@@ -931,7 +931,7 @@
   const std::string payload_;
 };
 
-class SPDY_EXPORT_PRIVATE SpdySerializedFrame {
+class QUICHE_EXPORT_PRIVATE SpdySerializedFrame {
  public:
   SpdySerializedFrame()
       : frame_(const_cast<char*>("")), size_(0), owns_buffer_(false) {}
@@ -1014,7 +1014,7 @@
 // having to know what type they are.  An instance of this interface can be
 // passed to a SpdyFrameIR's Visit method, and the appropriate type-specific
 // method of this class will be called.
-class SPDY_EXPORT_PRIVATE SpdyFrameVisitor {
+class QUICHE_EXPORT_PRIVATE SpdyFrameVisitor {
  public:
   virtual void VisitRstStream(const SpdyRstStreamIR& rst_stream) = 0;
   virtual void VisitSettings(const SpdySettingsIR& settings) = 0;
@@ -1044,7 +1044,7 @@
 // operates.
 //
 // Most HTTP2 implementations need not bother with this interface at all.
-class SPDY_EXPORT_PRIVATE SpdyFramerDebugVisitorInterface {
+class QUICHE_EXPORT_PRIVATE SpdyFramerDebugVisitorInterface {
  public:
   virtual ~SpdyFramerDebugVisitorInterface() {}
 
diff --git a/spdy/core/spdy_simple_arena.h b/spdy/core/spdy_simple_arena.h
index 4cd48ce..5cedfef 100644
--- a/spdy/core/spdy_simple_arena.h
+++ b/spdy/core/spdy_simple_arena.h
@@ -8,13 +8,13 @@
 #include <memory>
 #include <vector>
 
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 
 namespace spdy {
 
 // Allocates large blocks of memory, and doles them out in smaller chunks.
 // Not thread-safe.
-class SPDY_EXPORT_PRIVATE SpdySimpleArena {
+class QUICHE_EXPORT_PRIVATE SpdySimpleArena {
  public:
   class Status {
    private:
diff --git a/spdy/core/write_scheduler.h b/spdy/core/write_scheduler.h
index c2c048f..39d828a 100644
--- a/spdy/core/write_scheduler.h
+++ b/spdy/core/write_scheduler.h
@@ -10,8 +10,8 @@
 #include <tuple>
 #include <vector>
 
+#include "net/third_party/quiche/src/common/platform/api/quiche_export.h"
 #include "net/third_party/quiche/src/spdy/core/spdy_protocol.h"
-#include "net/third_party/quiche/src/spdy/platform/api/spdy_export.h"
 
 namespace spdy {
 
@@ -40,7 +40,7 @@
 // returned by PopNextReadyStream(); when returned by that method, the stream's
 // state changes to not ready.
 template <typename StreamIdType>
-class SPDY_EXPORT_PRIVATE WriteScheduler {
+class QUICHE_EXPORT_PRIVATE WriteScheduler {
  public:
   typedef StreamPrecedence<StreamIdType> StreamPrecedenceType;