protected override void WriteProxy(IndentedTextWriter writer) { if (writer == null) throw new ArgumentNullException("writer"); writer.WriteLine("// This JavaScript was automatically generated by"); writer.Write("// "); writer.WriteLine(GetType().AssemblyQualifiedName); writer.Write("// on "); DateTime now = DateTime.Now; TimeZone timeZone = TimeZone.CurrentTimeZone; writer.Write(now.ToLongDateString()); writer.Write(" at "); writer.Write(now.ToLongTimeString()); writer.Write(" ("); writer.Write(timeZone.IsDaylightSavingTime(now) ? timeZone.DaylightName : timeZone.StandardName); writer.WriteLine(")"); writer.WriteLine(); string version = Mask.EmptyString(Request.QueryString["v"], "1").Trim(); Uri url = new Uri(Request.Url.GetLeftPart(UriPartial.Path)); if (version.Equals("2")) Version2(Service.GetClass(), url, writer); else Version1(Service.GetClass(), url, writer); }
public Outline (Type t, TextWriter output, bool declared_only, bool show_private, bool filter_obsolete) { this.t = t; this.o = new IndentedTextWriter (output, "\t"); this.declared_only = declared_only; this.show_private = show_private; this.filter_obsolete = filter_obsolete; }
public void Generate() { _anyError = false; var reflectedMethods = new Dictionary<string, MethodInfo>(); foreach (var type in typeof(RubyOps).Assembly.GetExportedTypes()) { if (type.IsDefined(typeof(ReflectionCachedAttribute), false)) { Console.WriteLine(type); ReflectMethods(reflectedMethods, type); } } var methods = reflectedMethods.Sort((m1, m2) => m1.Key.CompareTo(m2.Key)); if (_anyError) { Environment.ExitCode = 1; return; } using (TextWriter writer = new StreamWriter(File.Open(_outFile, FileMode.Create, FileAccess.Write))) { _output = new IndentedTextWriter(writer, " "); _output.NewLine = "\r\n"; WriteLicenseStatement(writer); _output.WriteLine("using System.Reflection;"); _output.WriteLine("using System.Diagnostics;"); _output.WriteLine("using IronRuby.Runtime;"); _output.WriteLine("using IronRuby.Builtins;"); _output.WriteLine("using Microsoft.Scripting.Utils;"); _output.WriteLine(); _output.WriteLine("namespace {0} {{", MethodCacheType.Namespace); _output.Indent++; _output.WriteLine("public static partial class {0} {{", MethodCacheType.Name); _output.Indent++; GenerateOps(methods); _output.WriteLine(); GenerateStringFactoryOps("CreateRegex"); GenerateStringFactoryOps("CreateMutableString"); GenerateStringFactoryOps("CreateSymbol"); GenerateOptimizedOps("Yield", BlockDispatcher.MaxBlockArity); GenerateOptimizedOps("YieldSplat", BlockDispatcher.MaxBlockArity); _output.Indent--; _output.WriteLine("}"); _output.Indent--; _output.WriteLine("}"); Debug.Assert(_output.Indent == 0); } }
private static void WriteClassTail(IndentedTextWriter writer) { writer.WriteLine(@"def __call(self, method, params): self.__id = self.__id + 1 response = json.loads(urllib.urlopen(self.url, urllib.urlencode([('JSON-RPC', json.dumps({ 'id' : self.__id, 'method' : method, 'params' : params }))])).read()) if response.has_key('error'): raise Error(None, response) return response['result'] "); writer.Indent--; }
protected override void ProcessRequest() { if (!Modified()) { Response.StatusCode = 304; return; } if (HasLastModifiedTime) { Response.Cache.SetCacheability(HttpCacheability.Public); // // Unfortunately, HttpCachePolicy.SetLastModified fails // if the last modified time passed has a precision higher // than second so we need to crop anything less than a // second before setting it. // long lastModifiedTicks = LastModifiedTime.Ticks; Response.Cache.SetLastModified(new DateTime(lastModifiedTicks - (lastModifiedTicks % TimeSpan.TicksPerSecond))); } IRpcServiceDescriptor service = TargetService.GetDescriptor(); Response.ContentType = "text/javascript"; Response.AppendHeader("Content-Disposition", "attachment; filename=" + service.Name + "Proxy.js"); IndentedTextWriter writer = new IndentedTextWriter(Response.Output); writer.WriteLine("// This JavaScript was automatically generated by"); writer.Write("// "); writer.WriteLine(GetType().AssemblyQualifiedName); writer.Write("// on "); DateTime now = DateTime.Now; TimeZone timeZone = TimeZone.CurrentTimeZone; writer.Write(now.ToLongDateString()); writer.Write(" at "); writer.Write(now.ToLongTimeString()); writer.Write(" ("); writer.Write(timeZone.IsDaylightSavingTime(now) ? timeZone.DaylightName : timeZone.StandardName); writer.WriteLine(")"); writer.WriteLine(); string version = Mask.EmptyString(Request.QueryString["v"], "1").Trim(); if (version.Equals("2")) Version2(service, new Uri(Request.Url.GetLeftPart(UriPartial.Path)), writer); else Version1(service, new Uri(Request.Url.GetLeftPart(UriPartial.Path)), writer); }
public void Generate() { _anyError = false; var unsortedMethods = ReflectMethods(typeof(RubyOps)).Values; List<MethodInfo> methods = new List<MethodInfo>(); methods.AddRange(unsortedMethods); methods.Sort((m1, m2) => m1.Name.CompareTo(m2.Name)); if (_anyError) { Environment.ExitCode = 1; return; } using (TextWriter writer = new StreamWriter(File.Open(_outFile, FileMode.Create, FileAccess.Write))) { _output = new IndentedTextWriter(writer, " "); _output.NewLine = "\r\n"; WriteLicenseStatement(writer); _output.WriteLine("using System.Reflection;"); _output.WriteLine("using System.Diagnostics;"); _output.WriteLine("using IronRuby.Runtime;"); _output.WriteLine("using Microsoft.Scripting.Utils;"); _output.WriteLine(); _output.WriteLine("namespace {0} {{", MethodCacheType.Namespace); _output.Indent++; _output.WriteLine("internal static partial class {0} {{", MethodCacheType.Name); _output.Indent++; GenerateOps(methods); _output.WriteLine(); GenerateStringFactoryOps("CreateRegex"); GenerateStringFactoryOps("CreateMutableString"); GenerateStringFactoryOps("CreateSymbol"); GenerateOptimizedOps("Yield", BlockDispatcher.MaxBlockArity); GenerateOptimizedOps("YieldSplat", BlockDispatcher.MaxBlockArity); _output.Indent--; _output.WriteLine("}"); _output.Indent--; _output.WriteLine("}"); Debug.Assert(_output.Indent == 0); } }
protected override void WriteProxy(IndentedTextWriter writer) { if (writer == null) throw new ArgumentNullException("writer"); WriteProlog(writer); ServiceClass serviceClass = Service.GetClass(); WriteClass(writer, serviceClass); foreach (Method method in serviceClass.GetMethods()) WriteMethod(writer, method); WriteClassTail(writer); WriteEpilog(writer); }
protected override void ProcessRequest() { if (!Modified()) { Response.StatusCode = 304; return; } if (HasLastModifiedTime) { Response.Cache.SetCacheability(HttpCacheability.Public); Response.Cache.SetLastModified(LastModifiedTime); } JsonRpcServiceClass service = Service.GetClass(); Response.ContentType = "text/javascript"; Response.AppendHeader("Content-Disposition", "attachment; filename=" + service.Name + "Proxy.js"); IndentedTextWriter writer = new IndentedTextWriter(Response.Output); writer.WriteLine("// This JavaScript was automatically generated by"); writer.Write("// "); writer.WriteLine(GetType().AssemblyQualifiedName); writer.Write("// on "); DateTime now = DateTime.Now; TimeZone timeZone = TimeZone.CurrentTimeZone; writer.Write(now.ToLongDateString()); writer.Write(" at "); writer.Write(now.ToLongTimeString()); writer.Write(" ("); writer.Write(timeZone.IsDaylightSavingTime(now) ? timeZone.DaylightName : timeZone.StandardName); writer.WriteLine(")"); writer.WriteLine(); string version = Mask.EmptyString(Request.QueryString["v"], "1").Trim(); if (version.Equals("2")) Version2(service, new Uri(Request.Url.GetLeftPart(UriPartial.Path)), writer); else Version1(service, new Uri(Request.Url.GetLeftPart(UriPartial.Path)), writer); }
private void WriteClass(IndentedTextWriter writer, ServiceClass serviceClass) { writer.Write("class "); writer.Write(serviceClass.Name); writer.WriteLine(":"); writer.Indent++; writer.Write(_docQuotes); writer.Indent--; if (serviceClass.Description.Length > 0) { writer.WriteLine(serviceClass.Description); writer.WriteLine(); } writer.WriteLine("This Python class was automatically generated by"); writer.WriteLine(GetType().AssemblyQualifiedName); DateTime now = DateTime.Now; writer.Write("on "); writer.Write(now.ToLongDateString()); writer.Write(" at "); writer.Write(now.ToLongTimeString()); writer.Write(" ("); TimeZone timeZone = TimeZone.CurrentTimeZone; writer.Write(timeZone.IsDaylightSavingTime(now) ? timeZone.DaylightName : timeZone.StandardName); writer.WriteLine(")"); writer.WriteLine(_docQuotes); writer.Indent++; Uri url = new Uri(Request.Url.GetLeftPart(UriPartial.Path)); writer.WriteLine(@"def __init__(self, url = '" + url + @"'): self.url = url self.__id = 0"); writer.WriteLine(); }
public Outline (Universe universe, Assembly mscorlib, Type t, TextWriter output, bool declared_only, bool show_private, bool filter_obsolete) { if (universe == null) throw new ArgumentNullException ("universe"); if (mscorlib == null) throw new ArgumentNullException ("mscorlib"); this.universe = universe; this.mscorlib = mscorlib; this.t = t; this.o = new IndentedTextWriter (output, "\t"); this.declared_only = declared_only; this.show_private = show_private; this.filter_obsolete = filter_obsolete; type_multicast_delegate = mscorlib.GetType("System.MulticastDelegate"); type_object = mscorlib.GetType ("System.Object"); type_value_type = mscorlib.GetType ("System.ValueType"); type_int = mscorlib.GetType ("System.Int32"); type_flags_attribute = mscorlib.GetType ("System.FlagsAttribute"); type_obsolete_attribute = mscorlib.GetType ("System.ObsoleteAttribute"); type_param_array_attribute = mscorlib.GetType ("System.ParamArrayAttribute"); }
static void CompileLocations (string outputFile) { CodeCompileUnit unit = new CodeCompileUnit (); CodeNamespace ns = new CodeNamespace ("Desklet.Weather"); unit.Namespaces.Add (ns); ns.Imports.Add (new CodeNamespaceImport ("System")); ns.Imports.Add (new CodeNamespaceImport ("System.Collections.Generic")); MainClass = new CodeTypeDeclaration ("Locations"); MainClass.TypeAttributes = TypeAttributes.Class | TypeAttributes.Sealed | TypeAttributes.Public; MainClass.IsPartial = true; ns.Types.Add (MainClass); CodeMemberMethod buildData = new CodeMemberMethod (); buildData.Name = "BuildData"; GenerateBuildData (buildData); MainClass.Members.Add (buildData); CodeDomProvider provider = new CSharpCodeProvider (); ICodeGenerator gen = provider.CreateGenerator (); TextWriter tw = new IndentedTextWriter (new StreamWriter (outputFile, false), "\t"); gen.GenerateCodeFromCompileUnit (unit, tw, new CodeGeneratorOptions ()); tw.Close (); }
public Outline (Type t, TextWriter output, bool declared_only, bool show_private, bool filter_obsolete) { this.t = t; this.o = new IndentedTextWriter (output, "\t"); this.declared_only = declared_only; this.show_private = show_private; this.filter_obsolete = filter_obsolete; type_multicast_delegate = typeof (System.MulticastDelegate); type_object = typeof (object); type_value_type = typeof (ValueType); type_int = typeof (int); type_flags_attribute = typeof (FlagsAttribute); type_obsolete_attribute = typeof (ObsoleteAttribute); type_param_array_attribute = typeof (ParamArrayAttribute); }
/// <summary> /// Creates a new instance of Json writer. /// </summary> /// <param name="writer">Writer to which text needs to be written.</param> /// <param name="indent">If the output should be indented or not.</param> internal JsonWriter(TextWriter writer, bool indent) { DebugUtils.CheckNoExternalCallers(); this.writer = new IndentedTextWriter(writer, indent); this.scopes = new Stack<Scope>(); }
protected virtual void WriteEpilog(IndentedTextWriter writer) { }
public override void AppendToSource(IndentedTextWriter src) { src.Write("???"); src.Write(';'); }
} // get num args from stack #if SWFASM internal override void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("newmethod"); }
private void WriteProlog(IndentedTextWriter writer) { writer.WriteLine("import simplejson"); writer.WriteLine("import urllib"); writer.WriteLine(); }
protected override void Generate(DropTableOperation dropTableOperation, IndentedTextWriter writer) { var drop = new DropTableOperation(TrimSchemaPrefix(dropTableOperation.Name)); base.Generate(drop, writer); }
protected override void Generate(DropPrimaryKeyOperation dropPrimaryKeyOperation, IndentedTextWriter writer) { dropPrimaryKeyOperation.Table = TrimSchemaPrefix(dropPrimaryKeyOperation.Table); base.Generate(dropPrimaryKeyOperation, writer); }
protected override void Generate(DropForeignKeyOperation dropForeignKeyOperation, IndentedTextWriter writer) { dropForeignKeyOperation.PrincipalTable = TrimSchemaPrefix(dropForeignKeyOperation.PrincipalTable); dropForeignKeyOperation.DependentTable = TrimSchemaPrefix(dropForeignKeyOperation.DependentTable); dropForeignKeyOperation.Name = PrepareSql(dropForeignKeyOperation.Name, false); base.Generate(dropForeignKeyOperation, writer); }
protected override void GenerateInline(CreateIndexOperation createIndexOperation, IndentedTextWriter writer) { writer.WriteLine(); writer.Write(".Index("); Generate(createIndexOperation.Columns, writer); writer.Write(createIndexOperation.IsUnique ? ", unique: true" : ""); writer.Write(!createIndexOperation.HasDefaultName ? string.Format(", name: {0}", TrimSchemaPrefix(createIndexOperation.Name)) : ""); writer.Write(")"); }
protected override void Generate(CreateIndexOperation createIndexOperation, IndentedTextWriter writer) { createIndexOperation.Table = TrimSchemaPrefix(createIndexOperation.Table); base.Generate(createIndexOperation, writer); }
protected override void Generate(AddPrimaryKeyOperation addPrimaryKeyOperation, IndentedTextWriter writer) { addPrimaryKeyOperation.Table = TrimSchemaPrefix(addPrimaryKeyOperation.Table); base.Generate(addPrimaryKeyOperation, writer); }
public void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("shiftleft"); }
protected override void GenerateInline(AddForeignKeyOperation addForeignKeyOperation, IndentedTextWriter writer) { writer.WriteLine(); writer.Write(".ForeignKey(\"" + TrimSchemaPrefix(addForeignKeyOperation.PrincipalTable) + "\", "); Generate(addForeignKeyOperation.DependentColumns, writer); writer.Write(addForeignKeyOperation.CascadeDelete ? ", cascadeDelete: true)" : ")"); }
protected override void Generate(MoveTableOperation moveTableOperation, IndentedTextWriter writer) { var move = new MoveTableOperation(TrimSchemaPrefix(moveTableOperation.Name), moveTableOperation.NewSchema); base.Generate(move, writer); }
public Outline (Type t, TextWriter output, Options options) { this.t = t; this.o = new IndentedTextWriter (output, "\t"); this.options = options; }
protected override void Generate(RenameTableOperation renameTableOperation, IndentedTextWriter writer) { var rename = new RenameTableOperation(TrimSchemaPrefix(renameTableOperation.Name), renameTableOperation.NewName); base.Generate(rename, writer); }
static Log() { StdOut = new IndentedTextWriter(Console.Out, " "); StdErr = new IndentedTextWriter(Console.Error, " "); }
protected override void Generate(AddColumnOperation addColumnOperation, IndentedTextWriter writer) { var add = new AddColumnOperation(TrimSchemaPrefix(addColumnOperation.Table), addColumnOperation.Column); base.Generate(add, writer); }
protected abstract void WriteClassTail(IndentedTextWriter writer, ServiceClass serviceClass);
private static SourceText Build(ITypeSymbol source, ITypeSymbol destination, ImmutableArray <string> maps, ConfigurationValues configurationValues) { using var writer = new StringWriter(); using var indentWriter = new IndentedTextWriter(writer, configurationValues.IndentStyle == IndentStyle.Tab ? "\t" : new string (' ', (int)configurationValues.IndentSize)); var usingStatements = new SortedSet <string>(); if (!source.IsValueType) { usingStatements.Add("using System;"); } ; if (!destination.ContainingNamespace.IsGlobalNamespace && !source.ContainingNamespace.ToDisplayString().StartsWith( destination.ContainingNamespace.ToDisplayString(), StringComparison.InvariantCulture)) { usingStatements.Add($"using {destination.ContainingNamespace.ToDisplayString()};"); } foreach (var usingStatement in usingStatements) { indentWriter.WriteLine(usingStatement); } if (usingStatements.Count > 0) { indentWriter.WriteLine(); } if (!source.ContainingNamespace.IsGlobalNamespace) { indentWriter.WriteLine($"namespace {source.ContainingNamespace.ToDisplayString()}"); indentWriter.WriteLine("{"); indentWriter.Indent++; } indentWriter.WriteLine($"public static partial class {source.Name}MapToExtensions"); indentWriter.WriteLine("{"); indentWriter.Indent++; indentWriter.WriteLine($"public static {destination.Name} MapTo{destination.Name}(this {source.Name} self) =>"); indentWriter.Indent++; if (!source.IsValueType) { indentWriter.WriteLine("self is null ? throw new ArgumentNullException(nameof(self)) :"); indentWriter.Indent++; } indentWriter.WriteLine($"new {destination.Name}"); indentWriter.WriteLine("{"); indentWriter.Indent++; foreach (var map in maps) { indentWriter.WriteLine(map); } indentWriter.Indent--; indentWriter.WriteLine("};"); if (!source.IsValueType) { indentWriter.Indent--; } indentWriter.Indent--; indentWriter.Indent--; indentWriter.WriteLine("}"); if (!source.ContainingNamespace.IsGlobalNamespace) { indentWriter.Indent--; indentWriter.WriteLine("}"); } return(SourceText.From(writer.ToString(), Encoding.UTF8)); }
protected override void EndProcessing() { var uniqueFeatureNames = scenarioCache .Select(s => s.Feature.ToString()) .Distinct(); var elementFunctionNames = scenarioCache .SelectMany(s => s.Elements) .Select(e => new { Element = e, FunctionName = GetElementFunctionName(e) }) .ToDictionary(o => o.Element, o => o.FunctionName); var uniqueFunctionNames = elementFunctionNames .Values .Distinct() .OrderBy(f => f); CodeunitPath = File.Exists(CodeunitPath) ? CodeunitPath : Path.Combine(this.SessionState.Path.CurrentFileSystemLocation.Path, CodeunitPath); if (!File.Exists(CodeunitPath)) { return; } var lines = File.ReadAllLines(CodeunitPath).ToList(); var uniqueProcedures = scenarioCache.Select(s => s.ToString()).Union(elementFunctionNames.Select(s => s.ToString())); var existingFunctions = uniqueFunctionNames.Where(w => lines.Any(a => a.Contains(w.ToString()))); var newFunctions = uniqueProcedures.Except(existingFunctions); var existingScenarios = scenarioCache.Where(s => lines.Any(a => a.Contains(s.ToString()))); var newScenarios = scenarioCache.Except(existingScenarios); var newElementFunctionNames = newScenarios .SelectMany(s => s.Elements) .Select(e => new { Element = e, FunctionName = GetElementFunctionName(e) }) .ToDictionary(o => o.Element, o => o.FunctionName); var newUniqueFunctionNames = newElementFunctionNames .Values .Distinct() .OrderBy(f => f); newScenarios.ForEach(e => WriteObject($"New Scenario: {e.ToString()}")); newUniqueFunctionNames.ForEach(e => WriteObject($"New helper: {e.ToString()}")); if (newScenarios.Count() == 0) { return; } WarnIfPlaceHolderMissing(GivenFunctionName); WarnIfPlaceHolderMissing(WhenFunctionName); WarnIfPlaceHolderMissing(ThenFunctionName); // scenarios using (var stringWriter = new StringWriter()) { using (var writer = new IndentedTextWriter(stringWriter)) { writer.Indent++; writer.WriteLine(); newScenarios.ForEach(s => WriteALTestFunction(s, newElementFunctionNames, writer)); writer.Indent--; } var ti = lines.FindLastIndex(f => f.Contains("// [SCENARIO")); var li = lines.FindIndex(ti, f => f.Contains("var")); lines.Insert(li, stringWriter.ToString()); } // helpers using (var stringWriter = new StringWriter()) { using (var writer = new IndentedTextWriter(stringWriter)) { writer.Indent++; writer.WriteLine(); newUniqueFunctionNames.ForEach(f => WriteDummyFunction(f, writer)); writer.Indent--; } var ti = lines.LastIndexOf("}"); lines.Insert(ti, stringWriter.ToString()); } //WriteObject(lines.Join("\r\n")); File.WriteAllLines(CodeunitPath, lines); }
public JsonWriter(TextWriter writer, bool minimizeWhitespace) { _writer = new IndentedTextWriter(writer, minimizeWhitespace); _scopes = new Stack<Scope>(); }
public void Dump(IndentedTextWriter w) { w.WriteLine("Start Sound"); }
protected abstract void WriteProxy(IndentedTextWriter writer);
protected void WriteALTestFunction(TestScenario scenario, Dictionary <TestScenarioElement, string> elementFunctionNames, IndentedTextWriter writer) { writer.WriteLine("[Test]"); writer.WriteLine($"procedure {SanitizeName(scenario.Name)}()"); writer.WriteLine($"// {scenario.Feature.ToString()}"); writer.WriteLine("begin"); writer.Indent++; writer.WriteLine($"// {scenario.ToString()}"); writer.WriteLineIf(InitializeFunction, "Initialize();"); writer.WriteLine(); writer.WriteLines(scenario.Elements.OfType <Given>().SelectMany(g => ElementLines(g, elementFunctionNames))); writer.WriteLines(scenario.Elements.OfType <When>().SelectMany(w => ElementLines(w, elementFunctionNames))); writer.WriteLines(scenario.Elements.OfType <Then>().SelectMany(t => ElementLines(t, elementFunctionNames))); writer.WriteLines(scenario.Elements.OfType <Cleanup>().SelectMany(c => ElementLines(c, elementFunctionNames))); writer.Indent--; writer.WriteLine("end;"); writer.WriteLine(); }
public void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("substring"); }
private static void WriteProlog(IndentedTextWriter writer) { writer.WriteLine("import json"); writer.WriteLine("import urllib"); writer.WriteLine(); }
private void WriteEpilog(IndentedTextWriter writer) { writer.WriteLine(@"class Error(Exception): """"""Exception raised when an error occurs calling a JSON-RPC service."""""" def __init__(self, message = None, response = None): self.error = response['error'] self.response = response if message: self.message = str(message) else: self.message = self.error['message']"); }
internal override void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("tostring"); }
public HtmlRenderer(IndentedTextWriter textWriter) { this.textWriter = textWriter; this.openTags = new Stack <string>(); }
private static Assembly GenerateAssembly(string asmxFile) { string strWsdl = WsdlFromUrl(GetApplicationPath() + "/" + asmxFile + "?wsdl"); // Xml text reader StringReader wsdlStringReader = new StringReader(strWsdl); XmlTextReader tr = new XmlTextReader(wsdlStringReader); ServiceDescription sd = ServiceDescription.Read(tr); tr.Close(); // WSDL service description importer CodeCompileUnit codeCompileUnit = new CodeCompileUnit(); CodeNamespace codeNamespaceFluorine = new CodeNamespace("FluorineFx"); codeCompileUnit.Namespaces.Add(codeNamespaceFluorine); CodeNamespace codeNamespace = new CodeNamespace(FluorineConfiguration.Instance.WsdlProxyNamespace); codeCompileUnit.Namespaces.Add(codeNamespace); #if (NET_1_1) ServiceDescriptionImporter sdi = new ServiceDescriptionImporter(); sdi.AddServiceDescription(sd, null, null); sdi.ProtocolName = "Soap"; sdi.Import(codeNamespace, codeCompileUnit); CSharpCodeProvider provider = new CSharpCodeProvider(); #else // Create a WSDL collection. DiscoveryClientDocumentCollection wsdlCollection = new DiscoveryClientDocumentCollection(); wsdlCollection.Add(asmxFile, sd); // Create a web refererence using the WSDL collection. WebReference reference = new WebReference(wsdlCollection, codeNamespace); reference.ProtocolName = "Soap12"; // Create a web reference collection. WebReferenceCollection references = new WebReferenceCollection(); references.Add(reference); WebReferenceOptions options = new WebReferenceOptions(); options.Style = ServiceDescriptionImportStyle.Client; options.CodeGenerationOptions = CodeGenerationOptions.None; options.SchemaImporterExtensions.Add(typeof(DataTableSchemaImporterExtension).AssemblyQualifiedName); CSharpCodeProvider provider = new CSharpCodeProvider(); ServiceDescriptionImporter.GenerateWebReferences(references, provider, codeCompileUnit, options); // Compile a proxy client //provider.GenerateCodeFromCompileUnit(codeCompileUnit, Console.Out, new CodeGeneratorOptions()); #endif //http://support.microsoft.com/default.aspx?scid=kb;en-us;326790 //http://pluralsight.com/wiki/default.aspx/Craig.RebuildingWsdlExe if (!FluorineConfiguration.Instance.WsdlGenerateProxyClasses) { //Strip any code that isn't the proxy class itself. foreach (CodeNamespace cns in codeCompileUnit.Namespaces) { // Remove anything that isn't the proxy itself ArrayList typesToRemove = new ArrayList(); foreach (CodeTypeDeclaration codeType in cns.Types) { bool webDerived = false; foreach (CodeTypeReference baseType in codeType.BaseTypes) { if (baseType.BaseType == "System.Web.Services.Protocols.SoapHttpClientProtocol") { webDerived = true; break; } } if (!webDerived) typesToRemove.Add(codeType); else { CodeAttributeDeclaration codeAttributeDeclaration = new CodeAttributeDeclaration(typeof(FluorineFx.RemotingServiceAttribute).FullName); codeType.CustomAttributes.Add(codeAttributeDeclaration); foreach (CodeTypeMember member in codeType.Members) { CodeConstructor ctor = member as CodeConstructor; if (ctor != null) { // We got a constructor // Add CookieContainer code // this.CookieContainer = new System.Net.CookieContainer(); //Session Cookie CodeSnippetStatement statement = new CodeSnippetStatement("this.CookieContainer = new System.Net.CookieContainer(); //Session Cookie"); ctor.Statements.Add(statement); } } } } foreach (CodeTypeDeclaration codeType in typesToRemove) { codeNamespace.Types.Remove(codeType); } } } else { foreach (CodeNamespace cns in codeCompileUnit.Namespaces) { foreach (CodeTypeDeclaration codeType in cns.Types) { bool webDerived = false; foreach (CodeTypeReference baseType in codeType.BaseTypes) { if (baseType.BaseType == "System.Web.Services.Protocols.SoapHttpClientProtocol") { webDerived = true; break; } } if (webDerived) { CodeAttributeDeclaration codeAttributeDeclaration = new CodeAttributeDeclaration(typeof(FluorineFx.RemotingServiceAttribute).FullName); codeType.CustomAttributes.Add(codeAttributeDeclaration); foreach (CodeTypeMember member in codeType.Members) { CodeConstructor ctor = member as CodeConstructor; if (ctor != null) { // We got a constructor // Add CookieContainer code // this.CookieContainer = new System.Net.CookieContainer(); //Session Cookie CodeSnippetStatement statement = new CodeSnippetStatement("this.CookieContainer = new System.Net.CookieContainer(); //Session Cookie"); ctor.Statements.Add(statement); } } } } } } if (FluorineConfiguration.Instance.ImportNamespaces != null) { for (int i = 0; i < FluorineConfiguration.Instance.ImportNamespaces.Count; i++) { ImportNamespace importNamespace = FluorineConfiguration.Instance.ImportNamespaces[i]; codeNamespace.Imports.Add(new CodeNamespaceImport(importNamespace.Namespace)); } } // source code generation StringBuilder srcStringBuilder = new StringBuilder(); StringWriter sw = new StringWriter(srcStringBuilder); #if (NET_1_1) ICodeGenerator icg = provider.CreateGenerator(); icg.GenerateCodeFromCompileUnit(codeCompileUnit, sw, null); #else provider.GenerateCodeFromCompileUnit(codeCompileUnit, sw, null); #endif string srcWSProxy = srcStringBuilder.ToString(); sw.Close(); // assembly compilation. CompilerParameters cp = new CompilerParameters(); cp.ReferencedAssemblies.Add("System.dll"); cp.ReferencedAssemblies.Add("System.Data.dll"); cp.ReferencedAssemblies.Add("System.Xml.dll"); cp.ReferencedAssemblies.Add("System.Web.Services.dll"); foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies()) { if (assembly.GlobalAssemblyCache) { //Only System namespace if (assembly.GetName().Name.StartsWith("System")) { if (!cp.ReferencedAssemblies.Contains(assembly.GetName().Name + ".dll")) cp.ReferencedAssemblies.Add(assembly.Location); } } else { if (assembly.GetName().Name.StartsWith("mscorlib")) continue; //if( assembly.Location.ToLower().StartsWith(System.Web.HttpRuntime.CodegenDir.ToLower()) ) // continue; try { if (assembly.Location != null && assembly.Location != string.Empty) cp.ReferencedAssemblies.Add(assembly.Location); } catch (NotSupportedException) { //NET2 } } } cp.GenerateExecutable = false; //http://support.microsoft.com/kb/815251 //http://support.microsoft.com/kb/872800 cp.GenerateInMemory = false;//true; cp.IncludeDebugInformation = false; #if (NET_1_1) ICodeCompiler icc = provider.CreateCompiler(); CompilerResults cr = icc.CompileAssemblyFromSource(cp, srcWSProxy); #else CompilerResults cr = provider.CompileAssemblyFromSource(cp, srcWSProxy); #endif if (cr.Errors.Count > 0) { StringBuilder sbMessage = new StringBuilder(); sbMessage.Append(string.Format("Build failed: {0} errors", cr.Errors.Count)); if (log.IsErrorEnabled) log.Error(__Res.GetString(__Res.Wsdl_ProxyGenFail)); foreach (CompilerError e in cr.Errors) { log.Error(__Res.GetString(__Res.Compiler_Error, e.Line, e.Column, e.ErrorText)); sbMessage.Append("\n"); sbMessage.Append(e.ErrorText); } StringBuilder sbSourceTrace = new StringBuilder(); sbSourceTrace.Append("Attempt to compile the generated source code:"); sbSourceTrace.Append(Environment.NewLine); StringWriter swSourceTrace = new StringWriter(sbSourceTrace); IndentedTextWriter itw = new IndentedTextWriter(swSourceTrace, " "); provider.GenerateCodeFromCompileUnit(codeCompileUnit, itw, new CodeGeneratorOptions()); itw.Close(); log.Error(sbSourceTrace.ToString()); throw new FluorineException(sbMessage.ToString()); } return cr.CompiledAssembly; }
internal override void Dump(IndentedTextWriter w) { w.WriteLine(System.Enum.GetName(typeof(ActionKind), this.ActionId)); }
public void Generate() { Type[] allTypes = _assembly.GetTypes(); bool anyErrors = false; foreach (LibraryDef library in _libraries.Values) { library.ReflectTypes(allTypes); anyErrors |= library.AnyErrors; } if (anyErrors) { Console.Error.WriteLine("Failed."); return; } using (TextWriter writer = new StreamWriter(File.Open(_outFile, FileMode.Create, FileAccess.Write))) { IndentedTextWriter output = new IndentedTextWriter(writer, " "); output.NewLine = "\r\n"; WriteLicenseStatement(writer); output.WriteLine("#pragma warning disable 169 // mcs: unused private method"); foreach (LibraryDef library in _libraries.Values) { output.WriteLine("[assembly: {2}(typeof({0}.{1}))]", library._namespace, library._initializerName, LibraryDef.TypeRubyLibraryAttribute); } output.WriteLine(); foreach (LibraryDef library in _libraries.Values) { Console.WriteLine("Library {0}", library._namespace); library.GenerateCode(output); } } }
protected override void WriteHashtableCall(IndentedTextWriter writer, MethodBase method, ParameterInfo[] parameters) { throw new NotImplementedException(); }
private void Version2(JsonRpcServiceClass service, Uri url, IndentedTextWriter writer) { Debug.Assert(service != null); Debug.Assert(url!= null); Debug.Assert(!url.IsFile); Debug.Assert(writer != null); writer.WriteLine("// Proxy version 2.0"); writer.WriteLine(); writer.Write("var "); writer.Write(service.Name); writer.Write(@" = function() { var nextId = 0; var proxy = { url : """); writer.Write(url); writer.Write(@""", rpc : {"); writer.WriteLine(); writer.Indent += 3; JsonRpcMethod[] methods = service.GetMethods(); string[] methodNames = new string[methods.Length]; for (int i = 0; i < methods.Length; i++) methodNames[i] = methods[i].Name; Array.Sort(methodNames, methods); for (int i = 0; i < methods.Length; i++) { JsonRpcMethod method = methods[i]; writer.WriteLine(); if (method.Description.Length > 0) { // TODO: What to do if /* and */ appear in the summary? writer.Write("/* "); writer.Write(method.Description); writer.WriteLine(" */"); writer.WriteLine(); } writer.Write('\"'); writer.Write(method.Name); writer.Write("\" : function("); JsonRpcParameter[] parameters = method.GetParameters(); foreach (JsonRpcParameter parameter in parameters) { writer.Write(parameter.Name); writer.Write(", "); } writer.WriteLine("callback) {"); writer.Indent++; writer.Write("return new Call(\""); writer.Write(method.Name); writer.Write("\", ["); foreach (JsonRpcParameter parameter in parameters) { if (parameter.Position > 0) writer.Write(','); writer.Write(' '); writer.Write(parameter.Name); } writer.WriteLine(" ], callback);"); writer.Indent--; writer.Write("}"); if (i < (methods.Length - 1)) writer.Write(','); writer.WriteLine(); } writer.Indent--; writer.WriteLine(@"} } function Call(method, params, callback) { this.url = proxy.url; this.callback = callback; this.request = { id : ++nextId, method : method, params : params }; } Call.prototype.call = function(channel) { return channel(this); } return proxy; }();"); writer.Indent--; }
public void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("stopsounds"); }
private static void Version1(JsonRpcServiceClass service, Uri url, IndentedTextWriter writer) { Debug.Assert(service != null); Debug.Assert(url!= null); Debug.Assert(!url.IsFile); Debug.Assert(writer != null); writer.WriteLine("// Proxy version 1.0"); writer.WriteLine(); writer.Write("function "); writer.Write(service.Name); writer.WriteLine("(url)"); writer.WriteLine("{"); writer.Indent++; JsonRpcMethod[] methods = service.GetMethods(); string[] methodNames = new string[methods.Length]; for (int i = 0; i < methods.Length; i++) { JsonRpcMethod method = methods[i]; methodNames[i] = method.Name; if (method.Description.Length > 0) { // TODO: What to do if /* and */ appear in the summary? writer.Write("/* "); writer.Write(method.Description); writer.WriteLine(" */"); writer.WriteLine(); } writer.Write("this[\""); writer.Write(method.Name); writer.Write("\"] = function("); JsonRpcParameter[] parameters = method.GetParameters(); foreach (JsonRpcParameter parameter in parameters) { writer.Write(parameter.Name); writer.Write(", "); } writer.WriteLine("callback)"); writer.WriteLine("{"); writer.Indent++; writer.Write("return call(\""); writer.Write(method.Name); writer.Write("\", ["); foreach (JsonRpcParameter parameter in parameters) { if (parameter.Position > 0) writer.Write(','); writer.Write(' '); writer.Write(parameter.Name); } writer.WriteLine(" ], callback);"); writer.Indent--; writer.WriteLine("}"); writer.WriteLine(); } writer.Write("var url = typeof(url) === 'string' ? url : '"); writer.Write(url); writer.WriteLine("';"); writer.WriteLine(@"var self = this; var nextId = 0; function call(method, params, callback) { var request = { id : nextId++, method : method, params : params }; return callback == null ? callSync(method, request) : callAsync(method, request, callback); } function callSync(method, request) { var http = newHTTP(); http.open('POST', url, false, self.httpUserName, self.httpPassword); setupHeaders(http, method); http.send(JSON.stringify(request)); if (http.status != 200) throw { message : http.status + ' ' + http.statusText, toString : function() { return message; } }; var response = JSON.eval(http.responseText); if (response.error != null) throw response.error; return response.result; } function callAsync(method, request, callback) { var http = newHTTP(); http.open('POST', url, true, self.httpUserName, self.httpPassword); setupHeaders(http, method); http.onreadystatechange = function() { http_onreadystatechange(http, callback); } http.send(JSON.stringify(request)); return request.id; } function setupHeaders(http, method) { http.setRequestHeader('Content-Type', 'text/plain; charset=utf-8'); http.setRequestHeader('X-JSON-RPC', method); } function http_onreadystatechange(sender, callback) { if (sender.readyState == /* complete */ 4) { var response = sender.status == 200 ? JSON.eval(sender.responseText) : {}; response.xmlHTTP = sender; callback(response); } } function newHTTP() { return typeof(ActiveXObject) === 'function' ? new ActiveXObject('Microsoft.XMLHTTP') : /* IE 5 */ new XMLHttpRequest(); /* Safari 1.2, Mozilla 1.0/Firefox, and Netscape 7 */ }"); writer.Indent--; writer.WriteLine("}"); writer.WriteLine(); writer.Write(service.Name); writer.Write(".rpcMethods = "); JsonTextWriter jsonWriter = new JsonTextWriter(writer); jsonWriter.WriteArray(methodNames); writer.WriteLine(";"); }
public void Dump(IndentedTextWriter w) { w.WriteLine("stopAllSounds"); }
private void WriteMethod(IndentedTextWriter writer, Method method) { string clientMethodName = method.Name.Replace(".", "_"); writer.Write("def "); writer.Write(clientMethodName); writer.Write("(self"); Parameter[] parameters = method.GetParameters(); foreach (Parameter parameter in parameters) { writer.Write(", "); writer.Write(parameter.Name); } writer.WriteLine("):"); writer.Indent++; if (method.Description.Length > 0) { // TODO: What to do if /* and */ appear in the summary? writer.Write(_docQuotes); writer.WriteLine(method.Description); writer.WriteLine(_docQuotes); } writer.Write("return self.__call('"); writer.Write(method.Name); writer.Write("', ("); foreach (Parameter parameter in parameters) { writer.Write(parameter.Name); writer.Write(", "); } writer.WriteLine("))"); writer.Indent--; writer.WriteLine(); }
public void ToFlashAsm(IndentedTextWriter w) { w.WriteLine("tonumber"); }
public void Dump(IndentedTextWriter w) { w.WriteLine(Enum.GetName(typeof(ActionKind), this.ActionId)); }
private void reset() { this.spec = null; this.outstream = null; }
protected override void WriteProxy(IndentedTextWriter writer) { if (writer == null) throw new ArgumentNullException("writer"); writer.WriteLine("# This PowerShell script was automatically generated by"); writer.Write("# "); writer.WriteLine(GetType().AssemblyQualifiedName); writer.Write("# on "); DateTime now = DateTime.Now; TimeZone timeZone = TimeZone.CurrentTimeZone; writer.Write(now.ToLongDateString()); writer.Write(" at "); writer.Write(now.ToLongTimeString()); writer.Write(" ("); writer.Write(timeZone.IsDaylightSavingTime(now) ? timeZone.DaylightName : timeZone.StandardName); writer.WriteLine(")"); writer.WriteLine(); Uri url = new Uri(Request.Url.GetLeftPart(UriPartial.Path)); ServiceClass service = Service.GetClass(); writer.Write("function "); writer.Write(service.Name); writer.WriteLine(" {"); writer.Indent++; writer.Write("param($url = '"); writer.Write(url.ToString()); writer.WriteLine("')"); writer.WriteLine(); writer.WriteLine("$self = New-Object PSObject"); writer.WriteLine("$self | Add-Member NoteProperty url $url"); writer.WriteLine("$self | Add-Member NoteProperty id 0"); writer.WriteLine(); Method[] methods = service.GetMethods(); string[] methodNames = new string[methods.Length]; for (int i = 0; i < methods.Length; i++) { Method method = methods[i]; methodNames[i] = method.Name; if (method.Description.Length > 0) { writer.Write("# "); writer.WriteLine(Regex.Replace(method.Description, "(\r\n)|\r|\n", "$0 #", RegexOptions.None)); writer.WriteLine(); } writer.Write("$self | Add-Member ScriptMethod "); writer.Write(method.Name.Replace(".", "_")); writer.WriteLine(" {"); writer.Indent++; writer.Write("$this.jayrock_rpc('"); writer.Write(method.Name); writer.Write("', @{"); Parameter[] parameters = method.GetParameters(); foreach (Parameter parameter in parameters) { if (parameter.Position > 0) writer.Write(';'); writer.Write(' '); writer.Write(parameter.Name); writer.Write(" = $args["); writer.Write(parameter.Position.ToString(CultureInfo.InvariantCulture)); writer.Write(']'); } writer.WriteLine(" })"); writer.Indent--; writer.WriteLine("}"); writer.WriteLine(); } writer.WriteLine(); writer.WriteLine(@"$self | Add-Member ScriptMethod jayrock_rpc { $this.id++ $req = [Jayrock.Json.Conversion.JsonConvert]::ExportToString(@{ 'id' = $this.id; 'method' = $args[0]; 'params' = $args[1]}) $form = New-Object Collections.Specialized.NameValueCollection $form.Add('JSON-RPC', $req) $wc = New-Object Net.WebClient $bytes = $wc.UploadValues($this.url, $form) if ($bytes) { # TODO: Get the encoding from the charset in the Content-Type response header $rsp = [Jayrock.Json.Conversion.JsonConvert]::Import([Text.Encoding]::UTF8.GetString($bytes)) if ($rsp.error) { throw $rsp.error.message } else { $rsp.result } } } $self"); writer.Indent--; writer.WriteLine("}"); }
private void set(Spec spec, IndentedTextWriter outstream, string inputFilePath) { this.spec = spec; this.outstream = outstream; this.inputFilePath = inputFilePath; }
private void Version2(ServiceClass service, Uri url, IndentedTextWriter writer) { Debug.Assert(service != null); Debug.Assert(url!= null); Debug.Assert(!url.IsFile); Debug.Assert(writer != null); if (JsonRpcTrace.TraceWarning) { writer.WriteLine(@"// *** O B S O L E T E *** // // You are using version 2 of the JavaScript proxy that MAY // be obsoleted and removed in the next release. The functionality has // been integrated into the original proxy version via the channel // property on the JavaScript proxy. "); } writer.WriteLine("// Proxy version 2.0"); writer.WriteLine(); writer.Write("var "); writer.Write(service.Name); writer.Write(@" = function() { var nextId = 0; var proxy = { url : """); writer.Write(url); writer.Write(@""", rpc : {"); writer.WriteLine(); writer.Indent += 3; Method[] methods = service.GetMethods(); string[] methodNames = new string[methods.Length]; for (int i = 0; i < methods.Length; i++) methodNames[i] = methods[i].Name; Array.Sort(methodNames, methods); for (int i = 0; i < methods.Length; i++) { Method method = methods[i]; writer.WriteLine(); if (method.Description.Length > 0) { // TODO: What to do if /* and */ appear in the summary? writer.Write("/* "); writer.Write(method.Description); writer.WriteLine(" */"); writer.WriteLine(); } writer.Write('\"'); writer.Write(method.Name); writer.Write("\" : function("); Parameter[] parameters = method.GetParameters(); foreach (Parameter parameter in parameters) { writer.Write(parameter.Name); writer.Write(", "); } writer.WriteLine("callback) {"); writer.Indent++; writer.Write("return new Call(\""); writer.Write(method.Name); writer.Write("\", ["); foreach (Parameter parameter in parameters) { if (parameter.Position > 0) writer.Write(','); writer.Write(' '); writer.Write(parameter.Name); } writer.WriteLine(" ], callback);"); writer.Indent--; writer.Write("}"); if (i < (methods.Length - 1)) writer.Write(','); writer.WriteLine(); } writer.Indent--; writer.WriteLine(@"} } function Call(method, params, callback) { this.url = proxy.url; this.callback = callback; this.request = { id : ++nextId, method : method, params : params }; } Call.prototype.call = function(channel) { return channel(this); } return proxy; }();"); writer.Indent--; }
protected abstract void WriteMethod(IndentedTextWriter writer, Method method);
private static void Version1(ServiceClass service, Uri url, IndentedTextWriter writer) { Debug.Assert(service != null); Debug.Assert(url!= null); Debug.Assert(!url.IsFile); Debug.Assert(writer != null); writer.Write("function "); writer.Write(service.Name); writer.WriteLine("(url)"); writer.WriteLine("{"); writer.Indent++; writer.WriteLine("var self = this;"); Method[] methods = service.GetMethods(); string[] methodNames = new string[methods.Length]; bool[] idempotents = new bool[methods.Length]; for (int i = 0; i < methods.Length; i++) { methodNames[i] = methods[i].Name; idempotents[i] = methods[i].Idempotent; } writer.Write("var m = "); JsonConvert.Export(methodNames, writer); writer.WriteLine(';'); writer.Write("var idems = "); JsonConvert.Export(idempotents, writer); writer.WriteLine(';'); writer.WriteLine(); for (int i = 0; i < methods.Length; i++) { Method method = methods[i]; string index = i.ToString(CultureInfo.InvariantCulture); if (method.Description.Length > 0) { // TODO: What to do if summary breaks over several lines? writer.Write("// "); writer.WriteLine(method.Description); writer.WriteLine(); } writer.Write("this[m["); writer.Write(index); writer.Write("]] = function /* "); writer.Write(method.Name); writer.Write(" */ ("); Parameter[] parameters = method.GetParameters(); foreach (Parameter parameter in parameters) { writer.Write(parameter.Name); writer.Write(", "); } writer.WriteLine("callback)"); writer.WriteLine("{"); writer.Indent++; writer.Write("if (self.kwargs) return rpc(new Call("); writer.Write(index); writer.Write(", {"); foreach (Parameter parameter in parameters) { if (parameter.Position > 0) writer.Write(','); writer.Write(' '); writer.Write(parameter.Name); writer.Write(": "); writer.Write(parameter.Name); } writer.WriteLine(" }, callback));"); writer.Write("return rpc(new Call("); writer.Write(index); writer.Write(", ["); foreach (Parameter parameter in parameters) { if (parameter.Position > 0) writer.Write(','); writer.Write(' '); writer.Write(parameter.Name); } writer.WriteLine(" ], callback));"); writer.Indent--; writer.WriteLine("}"); writer.WriteLine(); } writer.Write("var url = typeof(url) === 'string' ? url : '"); writer.Write(url); writer.WriteLine("';"); writer.WriteLine(@"var nextId = 0; function Call(method, params, callback) { this.url = url; this.callback = callback; this.proxy = self; this.idempotent = idems[method]; this.request = { id : ++nextId, method : m[method], params : params }; } function rpc(call) { return self.channel != null && typeof(self.channel.rpc) === 'function' ? self.channel.rpc(call) : call; } this.kwargs = false; this.channel = new JayrockChannel(); function JayrockChannel() { this.rpc = function(call) { var async = typeof(call.callback) === 'function'; var xhr = newXHR(); xhr.open('POST', call.url, async, this.httpUserName, this.httpPassword); xhr.setRequestHeader('Content-Type', this.contentType || 'application/json; charset=utf-8'); xhr.setRequestHeader('X-JSON-RPC', call.request.method); if (async) xhr.onreadystatechange = function() { xhr_onreadystatechange(xhr, call.callback); } xhr.send(JSON.stringify(call.request)); call.handler = xhr; if (async) return call; if (xhr.status != 200) throw new Error(xhr.status + ' ' + xhr.statusText); var response = JSON.parse(xhr.responseText); if (response.error != null) throw response.error; return response.result; } function xhr_onreadystatechange(sender, callback) { if (sender.readyState == /* complete */ 4) { try { sender.onreadystatechange = null; // Avoid IE7 leak (bug #12964) } catch (e) { /* IE 6/Mobile throws for onreadystatechange = null */ } var response = sender.status == 200 ? JSON.parse(sender.responseText) : {}; callback(response, sender); } } function newXHR() { if (typeof(window) !== 'undefined' && window.XMLHttpRequest) return new XMLHttpRequest(); /* IE7, Safari 1.2, Mozilla 1.0/Firefox, and Netscape 7 */ else return new ActiveXObject('Microsoft.XMLHTTP'); /* WSH and IE 5 to IE 6 */ } }"); writer.Indent--; writer.WriteLine("}"); writer.WriteLine(); writer.Write(service.Name); writer.Write(".rpcMethods = "); JsonConvert.Export(methodNames, writer); writer.WriteLine(";"); }
internal override void Dump(IndentedTextWriter w) { w.WriteLine("RemoveObject2: " + this.Depth); }