/// <summary> /// Fetch Type Declaration, and tests if it's equal or derived from a specific TypeNode /// Fails if declaration is not of a Type /// </summary> public TypeNode FetchType(String name, System.Type expected) { TypeNode type = FetchType(name); if (type == null || !type.ISA(expected)) { throw new InvalidIdentifier("Invalid type '" + type + "'. Required '" + expected + "'"); } return(type); }