You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.167
Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
parent
e19d552987
commit
b084638f15
@ -1,57 +0,0 @@
|
||||
//===- PrettyEnumDumper.cpp -------------------------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "PrettyEnumDumper.h"
|
||||
|
||||
#include "LinePrinter.h"
|
||||
#include "PrettyBuiltinDumper.h"
|
||||
#include "llvm-pdbutil.h"
|
||||
|
||||
#include "llvm/DebugInfo/PDB/PDBSymbolData.h"
|
||||
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
|
||||
#include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
|
||||
|
||||
using namespace llvm;
|
||||
using namespace llvm::pdb;
|
||||
|
||||
EnumDumper::EnumDumper(LinePrinter &P) : PDBSymDumper(true), Printer(P) {}
|
||||
|
||||
void EnumDumper::start(const PDBSymbolTypeEnum &Symbol) {
|
||||
WithColor(Printer, PDB_ColorItem::Keyword).get() << "enum ";
|
||||
WithColor(Printer, PDB_ColorItem::Type).get() << Symbol.getName();
|
||||
if (!opts::pretty::NoEnumDefs) {
|
||||
auto UnderlyingType = Symbol.getUnderlyingType();
|
||||
if (!UnderlyingType)
|
||||
return;
|
||||
if (UnderlyingType->getBuiltinType() != PDB_BuiltinType::Int ||
|
||||
UnderlyingType->getLength() != 4) {
|
||||
Printer << " : ";
|
||||
BuiltinDumper Dumper(Printer);
|
||||
Dumper.start(*UnderlyingType);
|
||||
}
|
||||
auto EnumValues = Symbol.findAllChildren<PDBSymbolData>();
|
||||
Printer << " {";
|
||||
Printer.Indent();
|
||||
if (EnumValues && EnumValues->getChildCount() > 0) {
|
||||
while (auto EnumValue = EnumValues->getNext()) {
|
||||
if (EnumValue->getDataKind() != PDB_DataKind::Constant)
|
||||
continue;
|
||||
Printer.NewLine();
|
||||
WithColor(Printer, PDB_ColorItem::Identifier).get()
|
||||
<< EnumValue->getName();
|
||||
Printer << " = ";
|
||||
WithColor(Printer, PDB_ColorItem::LiteralValue).get()
|
||||
<< EnumValue->getValue();
|
||||
}
|
||||
}
|
||||
Printer.Unindent();
|
||||
Printer.NewLine();
|
||||
Printer << "}";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user