public static AspNet_Page map_ControlBuilders(this AspNet_Page aspNetPage, BaseParser pageParser) { var rootBuilder = (ControlBuilder)pageParser.property("RootBuilder"); aspNetPage.CodeBlock = rootBuilder.mapControlBuilder(); return(aspNetPage); }
public static AspNet_Page map_Page(this AspNet_Page aspNetPage) { aspNetPage.map_Parser(aspNetPage.parser); aspNetPage.map_ControlBuilders(aspNetPage.parser); aspNetPage.map_CompiledSourceCode(); var pagesConfig = (System.Web.Configuration.PagesSection)aspNetPage.parser.property("PagesConfig"); aspNetPage.map_PagesConfig(pagesConfig); return(aspNetPage); }
public static AspNet_Page parseAspNetPage(this AspNet_Page aspNetPage, string aspNetPageToParse) { aspNetPage.virtualPath = "System.web".assembly().type("VirtualPath").ctor(aspNetPageToParse); aspNetPage.tempDllFile = "o2_aspnet__{0}.dll".format(5.randomLetters()); //return tempFile; aspNetPage.buildProvidersCompiler = "System.web".assembly() .type("BuildProvidersCompiler") .ctor(aspNetPage.virtualPath, aspNetPage.tempDllFile); //var buildManager aspNetPage.buildProvider = (System.Web.Compilation.BuildProvider) typeof(System.Web.Compilation.BuildManager).invokeStatic( "CreateBuildProvider", aspNetPage.virtualPath, (CompilationSection)aspNetPage.buildProvidersCompiler.property("CompConfig"), (ICollection)aspNetPage.buildProvidersCompiler.property("ReferencedAssemblies"), true); aspNetPage.compConfig = (CompilationSection)aspNetPage.buildProvidersCompiler.property("CompConfig"); aspNetPage.assemblyBuilder = (AssemblyBuilder)aspNetPage.buildProvider.property("CodeCompilerType") .invoke("CreateAssemblyBuilder", (CompilationSection)aspNetPage.buildProvidersCompiler.property("CompConfig"), (ICollection)aspNetPage.buildProvidersCompiler.property("ReferencedAssemblies")); //textWriter = (TextWriter)assemblyBuilder.invoke("CreateCodeFile", buildProvider); try { aspNetPage.buildProvider.invoke("GenerateCode", aspNetPage.assemblyBuilder); } catch (Exception ex) { ex.Message.error(); //log(); } aspNetPage.parser = aspNetPage.buildProvider.property <BaseParser>("Parser"); //var pagesConfig = (System.Web.Configuration.PagesSection)aspNetPage.pageParser.property("PagesConfig"); aspNetPage.map_Page(); return(aspNetPage); }
public static AspNet_Page map_CompiledSourceCode(this AspNet_Page aspNetPage) { if (aspNetPage.Store_Compiled_AspNet_SourceCode) { var fileMappings = (Hashtable)aspNetPage.assemblyBuilder.field("_buildProviderToSourceFileMap"); foreach (var file in fileMappings.Values) { var sourceCode = file.str().fileContents(); if (sourceCode.valid()) { aspNetPage.AspNet_Compiled_SourceCode.add(sourceCode); "saved contents of compiled asp.net page: {0}".info(file); } else { "in aspNetPage parser, could not get source code for file: {0}".error(file); } } } return(aspNetPage); }
public static AspNet_Page map_Parser(this AspNet_Page aspNetPage, BaseParser parser) { aspNetPage.Virtual_Path = parser.property("CurrentVirtualPathString").str(); aspNetPage.ConfigItems.add("CurrentVirtualPathString", parser.property("CurrentVirtualPathString").str()) .add("DefaultBaseType", parser.property("DefaultBaseType").str()) .add("DefaultFileLevelBuilderType", parser.property("DefaultFileLevelBuilderType").str()) .add("HasCodeBehind", parser.property("HasCodeBehind").str()) .add("IsCodeAllowed", parser.property("IsCodeAllowed").str()); if (aspNetPage.Store_AspNet_SourceCode) { aspNetPage.AspNet_SourceCode = parser.property("Text").str(); } foreach (DictionaryEntry namespaceEntry in (Hashtable)parser.property("NamespaceEntries")) { aspNetPage.Namespaces.add(namespaceEntry.Key.str()); // } foreach (var sourceDependencies in (IEnumerable)parser.property("SourceDependencies")) { aspNetPage.SourceDependencies.add(sourceDependencies.str()); // } return(aspNetPage); }
public static List <CodeBlock> allCodeBlocks(this AspNet_Page aspNetPage) { return(aspNetPage.CodeBlock.allCodeBlocks()); }
public static AspNet_Page map_PagesConfig(this AspNet_Page aspNetPage, PagesSection pagesSection) { aspNetPage.PagesConfig = pagesSection.property_Values_AsStrings(); return(aspNetPage); }