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); }