|  | //===- lib/MC/MCNullStreamer.cpp - Dummy Streamer Implementation ----------===// | 
|  | // | 
|  | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
|  | // See https://llvm.org/LICENSE.txt for license information. | 
|  | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
|  | // | 
|  | //===----------------------------------------------------------------------===// | 
|  |  | 
|  | #include "llvm/ADT/StringRef.h" | 
|  | #include "llvm/MC/MCInst.h" | 
|  | #include "llvm/MC/MCStreamer.h" | 
|  | #include "llvm/MC/MCSymbol.h" | 
|  |  | 
|  | using namespace llvm; | 
|  |  | 
|  | namespace { | 
|  |  | 
|  | class MCNullStreamer : public MCStreamer { | 
|  | public: | 
|  | MCNullStreamer(MCContext &Context) : MCStreamer(Context) {} | 
|  |  | 
|  | /// @name MCStreamer Interface | 
|  | /// @{ | 
|  |  | 
|  | bool hasRawTextSupport() const override { return true; } | 
|  | void EmitRawTextImpl(StringRef String) override {} | 
|  |  | 
|  | bool EmitSymbolAttribute(MCSymbol *Symbol, | 
|  | MCSymbolAttr Attribute) override { | 
|  | return true; | 
|  | } | 
|  |  | 
|  | void EmitCommonSymbol(MCSymbol *Symbol, uint64_t Size, | 
|  | unsigned ByteAlignment) override {} | 
|  | void EmitZerofill(MCSection *Section, MCSymbol *Symbol = nullptr, | 
|  | uint64_t Size = 0, unsigned ByteAlignment = 0, | 
|  | SMLoc Loc = SMLoc()) override {} | 
|  | void EmitGPRel32Value(const MCExpr *Value) override {} | 
|  | void BeginCOFFSymbolDef(const MCSymbol *Symbol) override {} | 
|  | void EmitCOFFSymbolStorageClass(int StorageClass) override {} | 
|  | void EmitCOFFSymbolType(int Type) override {} | 
|  | void EndCOFFSymbolDef() override {} | 
|  | }; | 
|  |  | 
|  | } | 
|  |  | 
|  | MCStreamer *llvm::createNullStreamer(MCContext &Context) { | 
|  | return new MCNullStreamer(Context); | 
|  | } |