private void ConvertStructField(PegNode fieldNode, BfsStructField field)
{
PegNode node = fieldNode.child_;
if (GetNodeId(node) == EBinaryFileSchemaParser.skip)
{
field.Skip = true;
field.SkipSourceRange = GetSourceRange(node);
node = node.next_;
}
if (GetNodeId(node) == EBinaryFileSchemaParser.conditional)
{
field.Conditional = ConvertExpression(node.child_);
field.ConditionalSourceRange = GetSourceRange(node);
node = node.next_;
}
if (GetNodeId(node) == EBinaryFileSchemaParser.fieldname)
{
field.Name = GetNodeText(node);
node = node.next_;
}
//else throw new AstConvertException("Expected a fieldname node");
if (GetNodeId(node) == EBinaryFileSchemaParser.type)
field.FieldType = ConvertType(node);
//else throw new AstConvertException("Type expected");
}