Exemple #1
0
 public void AddMemoryPort(MemPort port)
 {
     if (IsConditional)
     {
         ResideIn.AddMemoryPort(port);
     }
     else
     {
         NameToIO.Add(port.Name, port);
     }
 }
Exemple #2
0
        public bool TryGetIOInternal(string ioName, bool lookUp, out IContainerIO container)
        {
            if (NameToIO.TryGetValue(ioName, out FIRIO innerIO))
            {
                container = innerIO;
                return(true);
            }

            if (InternalIO.TryGetValue(ioName, out FIRIO io))
            {
                container = io;
                return(true);
            }

            if (lookUp)
            {
                foreach (var condNode in Nodes.OfType <Conditional>())
                {
                    foreach (var condMod in condNode.CondMods)
                    {
                        if (condMod.Mod.TryGetIO(ioName, out container))
                        {
                            return(true);
                        }
                    }
                }
            }

            if (IsConditional && ResideIn.TryGetIOInternal(ioName, false, out container))
            {
                return(true);
            }

            container = null;
            return(false);
        }