Revising format of initialization values in generated script docs.

Fixed the obvious things: reduced the space taken up by empty tables
and allowed record values to span multiple lines (one for each record field).
This commit is contained in:
Jon Siwek 2011-04-01 15:21:15 -05:00
parent 2d17ca0942
commit 758172120b
3 changed files with 59 additions and 19 deletions

View file

@ -576,14 +576,7 @@ void Val::Describe(ODesc* d) const
void Val::DescribeReST(ODesc* d) const
{
if ( type->InternalType() == TYPE_INTERNAL_OTHER )
Describe(d);
else
{
d->Add("``");
ValDescribeReST(d);
d->Add("``");
}
ValDescribeReST(d);
}
void Val::ValDescribe(ODesc* d) const
@ -629,7 +622,15 @@ void Val::ValDescribe(ODesc* d) const
void Val::ValDescribeReST(ODesc* d) const
{
ValDescribe(d);
switch ( type->InternalType() ) {
case TYPE_INTERNAL_OTHER:
Describe(d);
break;
default:
d->Add("``");
ValDescribe(d);
d->Add("``");
}
}
MutableVal::~MutableVal()
@ -2946,6 +2947,34 @@ void RecordVal::Describe(ODesc* d) const
d->Add("]");
}
void RecordVal::DescribeReST(ODesc* d) const
{
const val_list* vl = AsRecord();
int n = vl->length();
d->Add("{");
d->PushIndent();
loop_over_list(*vl, i)
{
if ( i > 0 )
d->NL();
d->Add(record_type->FieldName(i));
d->Add("=");
Val* v = (*vl)[i];
if ( v )
v->Describe(d);
else
d->Add("<uninitialized>");
}
d->PopIndent();
d->Add("}");
}
IMPLEMENT_SERIAL(RecordVal, SER_RECORD_VAL);
bool RecordVal::DoSerialize(SerialInfo* info) const