protected override MutableObject Mutate(MutableObject mutable) { foreach (var entry in AnnotationText.GetEntries(mutable)) { var annotationString = AnnotationText.GetValue(entry); var stringParts = annotationString.Split(' '); if (stringParts[0].ToLower().CompareTo("allocate") != 0) { Debug.Log("The string " + annotationString + " isn't an allocate!"); AddressTarget.SetValue((uint)0, entry); SizeTarget.SetValue(1, entry); continue; } SizeTarget.SetValue(int.Parse(stringParts[1]), entry); try { AddressTarget.SetValue(uint.Parse(stringParts[4].Split('x')[1], System.Globalization.NumberStyles.HexNumber), entry); } catch { Debug.Log("What?"); } } return(mutable); }
protected override void OnProcessOutputSchema(MutableObject newSchema) { foreach (var entry in AnnotationText.GetEntries(newSchema)) { AddressTarget.SetValue((uint)0, entry); } Router.TransmitAllSchema(newSchema); }