/// <summary> /// Binds this port to a signal. /// </summary> /// <param name="desc">descriptor of signal to bind</param> public void Bind(ISignalDescriptor desc) { _boundSignal = desc; }
private void InitializeSignal(ISignalDescriptor signal, IndentedTextWriter tw) { string sname = MakeIDName(signal.Name, signal); int i = 0; if (signal.ElementType.CILType.IsArray) { //tw.WriteLine("// " + sname); foreach (ISignalDescriptor elem in signal.GetSignals()) { if (elem.InitialValue != null) { tw.WriteLine(sname + "[" + i + "]" + ".write(" + SystemCifyConstant(elem.InitialValue) + ");"); } i++; } } else if (signal.InitialValue != null) { if (signal.ElementType.CILType.IsEnum) { string enumname = GetTypeDescriptorName(signal.ElementType); tw.WriteLine(sname + ".write(" + enumname + "::" + SystemCifyConstant(signal.InitialValue) + ");"); } else tw.WriteLine(sname + ".write(" + SystemCifyConstant(signal.InitialValue) + ");"); } }
private void DeclareSignalVecInstance(ISignalDescriptor sd, IndentedTextWriter tw) { string sname = MakeIDName(sd.Name, sd); tw.Write(sname + "(" + "\"" + sname + "\", " + sd.ElementType.TypeParams[0] + ")"); }