public AstBlockMember[] ReadBlockMembers() { var len = Read7BitEncodedInt() - 1; if (len == -1) { return(null); } var result = new AstBlockMember[len]; for (int i = 0; i < len; i++) { result[i] = ReadBlockMember(); } return(result); }
public void WriteBlockMember(AstBlockMember a) { Write((byte)a.MemberType); switch (a.MemberType) { case AstMemberType.Field: WriteField(a as AstField); break; case AstMemberType.Constructor: WriteConstructor(a as AstConstructor); break; case AstMemberType.Finalizer: WriteFinalizer(a as AstFinalizer); break; case AstMemberType.Method: WriteMethod(a as AstMethod); break; case AstMemberType.Property: WriteProperty(a as AstProperty); break; case AstMemberType.Class: WriteClass(a as AstClass); break; case AstMemberType.Indexer: WriteIndexer(a as AstIndexer); break; case AstMemberType.Operator: WriteOperator(a as AstOperator); break; case AstMemberType.Converter: WriteConverter(a as AstConverter); break; case AstMemberType.Enum: WriteEnum(a as AstEnum); break; case AstMemberType.Delegate: WriteDelegate(a as AstDelegate); break; case AstMemberType.Event: WriteEvent(a as AstEvent); break; case AstMemberType.MetaProperty: WriteMetaProperty(a as AstMetaProperty); break; case AstMemberType.ApplyStatement: WriteApply(a as AstApply); break; case AstMemberType.Block: WriteBlock(a as AstBlock); break; case AstMemberType.NodeBlock: WriteNode(a as AstNode); break; default: throw new InvalidOperationException("Invalid member: " + a.MemberType); } }