Exemplo n.º 1
0
        /// <summary>
        /// ASG node to LIM node
        /// if already not exists the LIM node then we'll create one if it's LIM compatible
        /// </summary>
        /// <param name="symbol">ASG node</param>
        /// <returns>LIM node</returns>
        public static Base ConvertToLimNode(this ISymbol symbol)
        {
            uint id;

            if (MainDeclaration.Instance.LocalMap.TryGetValue(symbol, out id))
            {
                return(MainDeclaration.Instance.LimFactory.getRef(id));
            }

            if (symbol.IsLimCompatibile())
            {
                return(symbol.Create());
            }

            return(null);
        }