/// <summary> /// Serializes the binding state to the given writer. /// </summary> public static void SerializeBindingSymbols([NotNull] SpecBindingSymbols bindingSymbols, [NotNull] BuildXLWriter writer) { SerializeSymbols(bindingSymbols.DeclaredSymbols, writer); SerializeSymbols(bindingSymbols.ReferencedSymbols, writer); writer.Write(bindingSymbols.DeclaredSymbolsFingerprint); writer.Write(bindingSymbols.ReferencedSymbolsFingerprint); }
private static SpecBindingSymbols Copy(SpecBindingSymbols symbols, SymbolTable symbolTable) { using (var ms = new MemoryStream()) { BuildXLWriter writer = new BuildXLWriter(true, ms, true, true); FrontEndSnapshotSerializer.SerializeBindingSymbols(symbols, writer); ms.Position = 0; BuildXLReader reader = new BuildXLReader(true, ms, true); return(FrontEndSnapshotSerializer.DeserializeBindingFingerprint(reader)); } }
private SpecBindingSymbols CreateFingerprint(string code) { var source = ParseAndEnsureNodeIsNotNull(code); return(SpecBindingSymbols.Create(source, keepSymbols: true)); }