void m_initialize(Asn1Reader asn) { asn.BuildOffsetMap(); RootNode = new Asn1Node(asn, this); if (asn.NextOffset == 0) { return; } buildTree(asn, RootNode, this); }
public static Task <Asn1TreeNode> BuildTree(Byte[] rawData) { return(Task.Factory.StartNew(() => { Asn1Reader asn = new Asn1Reader(rawData); asn.BuildOffsetMap(); Asn1Lite root = new Asn1Lite(asn); Asn1TreeNode parent = new Asn1TreeNode(root); if (asn.NextOffset == 0) { return parent; } List <Asn1TreeNode> list = new List <Asn1TreeNode> { parent }; buildTree(asn, parent); return list[0]; })); }