public static Core.Type ResolveStruct( Core.Session session, Grammar.ASTNodeName nameNode, IList <Core.UseDirective> useDirectives, bool mustBeResolved) { var name = NameResolver.Resolve(nameNode); var foundDecls = session.GetDeclsWithUseDirectives(name, nameNode.path.isRooted, useDirectives); if (!session.ValidateSingleDecl(foundDecls, name, nameNode.GetSpan())) { return(new Core.TypeError()); } if (!session.ValidateAsType(foundDecls[0], name, nameNode.GetSpan())) { return(new Core.TypeError()); } return(Core.TypeStruct.Of(foundDecls[0].index)); }