Beispiel #1
0
        public static CILTypeSpecification GetValue(ParseTreeNode node)
        {
            CILClassName className = null;
            CILType      type      = null;

            var classNameParseTreeNode = node.GetFirstChildWithGrammarName(GrammarNames.className);

            if (classNameParseTreeNode != null)
            {
                className = ClassNameParseTreeNodeHelper.GetClassName(classNameParseTreeNode);
            }

            var typeParseTreeNode = node.GetFirstChildWithGrammarName(GrammarNames.type);

            if (typeParseTreeNode != null)
            {
                type = TypeParseTreeNodeHelper.GetType(typeParseTreeNode);
            }

            return(new CILTypeSpecification
            {
                ClassName = className,
                Type = type
            });
        }
Beispiel #2
0
 public CILantroType GetCustomType(CILClassName className)
 {
     if (CustomTypes.ContainsKey(className.UniqueName))
     {
         return(CustomTypes[className.UniqueName]);
     }
     return(null);
 }
Beispiel #3
0
        public static Type GetRuntimeType(CILClassName className)
        {
            if (string.IsNullOrEmpty(className.AssemblyName))
            {
                return(null);
            }

            var reflectedAssembly = Assembly.Load(className.AssemblyName);
            var reflectedType     = reflectedAssembly.GetType(className.ClassName);

            return(reflectedType);
        }