/// <summary> /// Constructor that creates the inheritance tree by means of introspection /// </summary> /// <param name="name">The name of the class</param> /// <param name="introspectiveType">The real introspective type</param> public BCLClassType(string name, Type introspectiveType) : base(name) { introspection = new Introspection(this, introspectiveType); introspection.createBaseClassAndInterfacesTree(); }
/// <summary> /// Gets the type associated to the name specified in the argument. /// </summary> /// <param name="name">Name of the type.</param> /// <param name="fileName">File name.</param> /// <param name="line">Line number.</param> /// <param name="column">Column number.</param> /// <returns>Concrete type linked to type expression.</returns> public TypeExpression GetType(string name, Location location) { if (name == null) { return(null); } // If tmpName exists, return the type if (this.table.ContainsKey(name)) { return(this.table[name]); } // Try to find the type (class or interface) in the BCL (mscorlib.dll) Type type = Type.GetType(name, false); if (type != null) { TypeExpression te = Introspection.createBCLUserType(name, type, location); AddType(name, te, location); return(te); } return(null); }