assertions

This commit is contained in:
David Renshaw 2014-10-02 12:19:34 -04:00
parent 6ce41d20bd
commit c0da82a6b8
2 changed files with 10 additions and 10 deletions

View file

@ -604,10 +604,10 @@ private:
return DiscriminantChecks { return DiscriminantChecks {
kj::str(spaces(indent), kj::str(spaces(indent),
" if (which() != ", scope, "Which.", upperCase, ") return false;\n"), " if (which() != ", scope, "Which.", upperCase, ") return false;\n"),
kj::str(), // XXX kj::str(
//kj::str( spaces(indent),
// " KJ_IREQUIRE(which() == ", scope, upperCase, ",\n" " assert which() == ", scope, "Which.", upperCase, ":\n",
// " \"Must check which() before get()ing a union member.\");\n"), spaces(indent), " \"Must check which() before get()ing a union member.\";\n"),
kj::str( kj::str(
spaces(indent), " _builder.setShortField(", discrimOffset, ", (short)", spaces(indent), " _builder.setShortField(", discrimOffset, ", (short)",
scope, "Which.", upperCase, ".ordinal());\n"), scope, "Which.", upperCase, ".ordinal());\n"),
@ -835,6 +835,7 @@ private:
kj::strTree( kj::strTree(
kj::mv(unionDiscrim.readerIsDecl), kj::mv(unionDiscrim.readerIsDecl),
spaces(indent), " public final ", type, " get", titleCase, "() {\n", spaces(indent), " public final ", type, " get", titleCase, "() {\n",
unionDiscrim.check,
(typeBody.which() == schema::Type::ENUM ? (typeBody.which() == schema::Type::ENUM ?
makeEnumGetter(structSchema.getDependency(typeBody.getEnum().getTypeId()).asEnum(), makeEnumGetter(structSchema.getDependency(typeBody.getEnum().getTypeId()).asEnum(),
kj::str("_reader"), offset, indent + 2) : kj::str("_reader"), offset, indent + 2) :
@ -847,6 +848,7 @@ private:
kj::strTree( kj::strTree(
kj::mv(unionDiscrim.builderIsDecl), kj::mv(unionDiscrim.builderIsDecl),
spaces(indent), " public final ", type, " get", titleCase, "() {\n", spaces(indent), " public final ", type, " get", titleCase, "() {\n",
unionDiscrim.check,
(typeBody.which() == schema::Type::ENUM ? (typeBody.which() == schema::Type::ENUM ?
makeEnumGetter(structSchema.getDependency(typeBody.getEnum().getTypeId()).asEnum(), makeEnumGetter(structSchema.getDependency(typeBody.getEnum().getTypeId()).asEnum(),
kj::str("_builder"), offset, indent + 2) : kj::str("_builder"), offset, indent + 2) :
@ -923,6 +925,7 @@ private:
spaces(indent), " }\n", spaces(indent), " }\n",
spaces(indent), " public ", type, ".Reader get", titleCase, "() {\n", spaces(indent), " public ", type, ".Reader get", titleCase, "() {\n",
unionDiscrim.check,
spaces(indent), " return ", type, spaces(indent), " return ", type,
".factory.fromStructReader(_reader.getPointerField(", offset,").getStruct());\n", ".factory.fromStructReader(_reader.getPointerField(", offset,").getStruct());\n",
spaces(indent), " }\n", "\n"), spaces(indent), " }\n", "\n"),
@ -930,6 +933,7 @@ private:
kj::strTree( kj::strTree(
kj::mv(unionDiscrim.builderIsDecl), kj::mv(unionDiscrim.builderIsDecl),
spaces(indent), " public final ", type, ".Builder get", titleCase, "() {\n", spaces(indent), " public final ", type, ".Builder get", titleCase, "() {\n",
unionDiscrim.check,
spaces(indent), " return ", type, spaces(indent), " return ", type,
".factory.fromStructBuilder(_builder.getPointerField(", offset, ").getStruct(", ".factory.fromStructBuilder(_builder.getPointerField(", offset, ").getStruct(",
type, ".STRUCT_SIZE", "));\n", type, ".STRUCT_SIZE", "));\n",

View file

@ -181,9 +181,7 @@ final class WireHelpers {
SegmentBuilder segment, SegmentBuilder segment,
int elementCount, int elementCount,
byte elementSize) { byte elementSize) {
if (elementSize == FieldSize.INLINE_COMPOSITE) { assert elementSize == FieldSize.INLINE_COMPOSITE : "Should have called initStructListPointer instead";
throw new InternalError("Should have called initStructListPointer instead");
}
int dataSize = FieldSize.dataBitsPerElement(elementSize); int dataSize = FieldSize.dataBitsPerElement(elementSize);
int pointerCount = FieldSize.pointersPerElement(elementSize); int pointerCount = FieldSize.pointersPerElement(elementSize);
@ -230,9 +228,7 @@ final class WireHelpers {
public static ListBuilder getWritableListPointer(int origRefOffset, public static ListBuilder getWritableListPointer(int origRefOffset,
SegmentBuilder origSegment, SegmentBuilder origSegment,
byte elementSize) { byte elementSize) {
if (elementSize == FieldSize.INLINE_COMPOSITE) { assert elementSize == FieldSize.INLINE_COMPOSITE : "Use getStructList{Element,Field} for structs";
throw new InternalError("Use getStructList{Element,Field} for structs");
}
long origRef = WirePointer.get(origSegment.buffer, origRefOffset); long origRef = WirePointer.get(origSegment.buffer, origRefOffset);
int origRefTarget = WirePointer.target(origRefOffset, origRef); int origRefTarget = WirePointer.target(origRefOffset, origRef);