Exemple #1
0
Error TypeDumpVisitor::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) {
  uint16_t Mods = static_cast<uint16_t>(Mod.getModifiers());
  printTypeIndex("ModifiedType", Mod.getModifiedType());
  W->printFlags("Modifiers", Mods, makeArrayRef(TypeModifierNames));

  return Error::success();
}
Exemple #2
0
TypeIndex TypeTableBuilder::writeKnownType(const ModifierRecord &Record) {
  TypeRecordBuilder Builder(Record.getKind());

  Builder.writeTypeIndex(Record.getModifiedType());
  Builder.writeUInt16(static_cast<uint16_t>(Record.getModifiers()));

  return writeRecord(Builder);
}
Error TypeNameComputer::visitKnownRecord(CVType &CVR, ModifierRecord &Mod) {
  uint16_t Mods = static_cast<uint16_t>(Mod.getModifiers());

  if (Mods & uint16_t(ModifierOptions::Const))
    Name.append("const ");
  if (Mods & uint16_t(ModifierOptions::Volatile))
    Name.append("volatile ");
  if (Mods & uint16_t(ModifierOptions::Unaligned))
    Name.append("__unaligned ");
  Name.append(Types.getTypeName(Mod.getModifiedType()));
  return Error::success();
}
Exemple #4
0
void CVTypeDumperImpl::visitModifier(TypeLeafKind Leaf, ModifierRecord &Mod) {
    uint16_t Mods = static_cast<uint16_t>(Mod.getModifiers());
    printTypeIndex("ModifiedType", Mod.getModifiedType());
    W.printFlags("Modifiers", Mods, makeArrayRef(TypeModifierNames));

    StringRef ModifiedName = getTypeName(Mod.getModifiedType());
    SmallString<256> TypeName;
    if (Mods & uint16_t(ModifierOptions::Const))
        TypeName.append("const ");
    if (Mods & uint16_t(ModifierOptions::Volatile))
        TypeName.append("volatile ");
    if (Mods & uint16_t(ModifierOptions::Unaligned))
        TypeName.append("__unaligned ");
    TypeName.append(ModifiedName);
    Name = CVTD.saveName(TypeName);
}