static IType CreateCodeBesideClass(DocumentInfo info, DocumentReferenceManager refman) { var v = new MemberListVisitor(info.AspNetDocument, refman); info.AspNetDocument.RootNode.AcceptVisit(v); var t = new DomType(info.ClassName); t.CompilationUnit = new CompilationUnit(info.AspNetDocument.FileName); var dom = refman.TypeCtx.ProjectDom; var baseType = dom.GetType(info.BaseType); foreach (var m in CodeBehind.GetDesignerMembers(v.Members.Values, baseType, null, dom, null)) { t.Add(new DomField(m.Name, Modifiers.Protected, m.Location, new DomReturnType(m.Type))); } return(t); }
static IUnresolvedTypeDefinition CreateCodeBesideClass(DocumentInfo info, DocumentReferenceManager refman) { var v = new MemberListVisitor(refman); info.AspNetDocument.RootNode.AcceptVisit(v); var t = new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedTypeDefinition(info.ClassName); var dom = refman.TypeCtx.Compilation; var baseType = ReflectionHelper.ParseReflectionName(info.BaseType).Resolve(dom); foreach (var m in CodeBehind.GetDesignerMembers(v.Members.Values, baseType, null)) { t.Members.Add(new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedField(t, m.Name) { Accessibility = Accessibility.Protected, ReturnType = m.Type.ToTypeReference() }); } return(t); }