public static string ToWebString(this Uri u) { var w = new StringBuilder(); try { var url = new URL(u.ToString()); var i = new InputStreamReader(url.openStream()); var reader = new BufferedReader(i); var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch { // oops } return w.ToString(); }
public string DownloadString(Uri u) { var w = new StringBuilder(); try { var url = new java.net.URL(u.ToString()); var i = new java.io.InputStreamReader(url.openStream(), "UTF-8"); var reader = new java.io.BufferedReader(i); // can't we just read to the end? var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch { // oops } return(w.ToString()); }
public override void run() { try { string s = NetLoginHandler.getServerId(loginHandler); var url = new URL( (new StringBuilder()).append("http://www.minecraft.net/game/checkserver.jsp?user="******"&serverId=").append(s).toString()); var bufferedreader = new BufferedReader(new InputStreamReader(url.openStream())); string s1 = bufferedreader.readLine(); bufferedreader.close(); if (s1.Equals("YES")) { NetLoginHandler.setLoginPacket(loginHandler, loginPacket); } else { loginHandler.kickUser("Failed to verify username!"); } } catch (Exception exception) { exception.printStackTrace(); } }
public override void run() { var bufferedreader = new BufferedReader(new InputStreamReader(java.lang.System.@in)); string s = null; try { while (!mcServer.serverStopped && MinecraftServer.isServerRunning(mcServer) && (s = bufferedreader.readLine()) != null) { mcServer.addCommand(s, mcServer); } } catch (IOException ioexception) { ioexception.printStackTrace(); } }
public string UploadString(Uri u, string method, string data) { // http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/tip/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java // fails on openJDK why? Console.WriteLine("enter UploadString " + new { u, method }); var w = new StringBuilder(); HttpURLConnection xHttpURLConnection = null; try { #region NSA is that you? intercept? we can only trust pinned off device certs var trustAllCerts = new[] { new localX509TrustManager { } }; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection.setDefaultHostnameVerifier(new localHostnameVerifier { }); #endregion //UploadString getOutputStream //enter checkServerTrusted //enter getAcceptedIssuers //UploadString writeBytes var url = new java.net.URL(u.ToString()); xHttpURLConnection = (HttpURLConnection)url.openConnection(); var https = xHttpURLConnection as HttpsURLConnection; if (https != null) { //Console.WriteLine(new { https }); } //conn.setHostnameVerifier(new localHostnameVerifier { }); xHttpURLConnection.setDoOutput(true); xHttpURLConnection.setDoInput(true); xHttpURLConnection.setInstanceFollowRedirects(false); //conn.setInstanceFollowRedirects(true); xHttpURLConnection.setRequestMethod(method); var xContentType = default(string); try { if (Headers != null) { foreach (string key in Headers.AllKeys) { if (key == "Content-Type") { xContentType = Headers[key]; } xHttpURLConnection.addRequestProperty(key, Headers[key]); } } } catch (Exception e) { //System.Console.WriteLine("ERROR: Failed to write headers. Exception was:" + e.Message); } if (xContentType == null) { xHttpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); xHttpURLConnection.setRequestProperty("charset", "utf-8"); } //conn.setRequestProperty("content-length", "" + data.Length); xHttpURLConnection.setRequestProperty("Content-Length", "" + data.Length); xHttpURLConnection.setUseCaches(false); //Console.WriteLine("UploadString getOutputStream"); var o = xHttpURLConnection.getOutputStream(); //Console.WriteLine("UploadString writeBytes"); // DataOutputStream wr = new DataOutputStream(o); wr.writeBytes(data); //Console.WriteLine("UploadString flush"); wr.flush(); //Console.WriteLine("UploadString close"); wr.close(); //Console.WriteLine("UploadString readLine"); //var i = new java.io.InputStreamReader(url.openStream(), "UTF-8"); var i = new java.io.InputStreamReader(xHttpURLConnection.getInputStream(), "UTF-8"); var reader = new java.io.BufferedReader(i); // can't we just read to the end? var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch (Exception err) { // 500 ? // = java.net.ProtocolException: Invalid HTTP method: // oops Console.WriteLine("UploadString " + new { err }); } //Console.WriteLine("exit UploadString " + new { conn }); if (xHttpURLConnection != null) { xHttpURLConnection.disconnect(); } return(w.ToString()); }
public static string getFilteredTrace(string stack) { if (BaseTestRunner.showStackRaw()) return stack; StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter((Writer) stringWriter); BufferedReader bufferedReader = new BufferedReader((Reader) new StringReader(stack)); try { string str; while ((str = bufferedReader.readLine()) != null) { if (!BaseTestRunner.filterLine(str)) printWriter.println(str); } goto label_9; } catch (Exception ex) { int num = 2; if (ByteCodeHelper.MapException<Exception>(ex, (ByteCodeHelper.MapFlags) num) == null) throw; } return stack; label_9: return stringWriter.toString(); }
public string UploadString(Uri u, string method, string data) { // http://hg.openjdk.java.net/jdk7/jdk7/jdk/file/tip/src/share/classes/sun/net/www/protocol/http/HttpURLConnection.java // fails on openJDK why? Console.WriteLine("enter UploadString " + new { u, method }); var w = new StringBuilder(); HttpURLConnection xHttpURLConnection = null; try { #region NSA is that you? intercept? we can only trust pinned off device certs var trustAllCerts = new[] { new localX509TrustManager{} }; SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection.setDefaultHostnameVerifier(new localHostnameVerifier { }); #endregion //UploadString getOutputStream //enter checkServerTrusted //enter getAcceptedIssuers //UploadString writeBytes var url = new java.net.URL(u.ToString()); xHttpURLConnection = (HttpURLConnection)url.openConnection(); var https = xHttpURLConnection as HttpsURLConnection; if (https != null) { //Console.WriteLine(new { https }); } //conn.setHostnameVerifier(new localHostnameVerifier { }); xHttpURLConnection.setDoOutput(true); xHttpURLConnection.setDoInput(true); xHttpURLConnection.setInstanceFollowRedirects(false); //conn.setInstanceFollowRedirects(true); xHttpURLConnection.setRequestMethod(method); var xContentType = default(string); try { if (Headers != null) { foreach (string key in Headers.AllKeys) { if (key == "Content-Type") { xContentType = Headers[key]; } xHttpURLConnection.addRequestProperty(key, Headers[key]); } } } catch (Exception e) { //System.Console.WriteLine("ERROR: Failed to write headers. Exception was:" + e.Message); } if (xContentType == null) { xHttpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); xHttpURLConnection.setRequestProperty("charset", "utf-8"); } //conn.setRequestProperty("content-length", "" + data.Length); xHttpURLConnection.setRequestProperty("Content-Length", "" + data.Length); xHttpURLConnection.setUseCaches(false); //Console.WriteLine("UploadString getOutputStream"); var o = xHttpURLConnection.getOutputStream(); //Console.WriteLine("UploadString writeBytes"); // DataOutputStream wr = new DataOutputStream(o); wr.writeBytes(data); //Console.WriteLine("UploadString flush"); wr.flush(); //Console.WriteLine("UploadString close"); wr.close(); //Console.WriteLine("UploadString readLine"); //var i = new java.io.InputStreamReader(url.openStream(), "UTF-8"); var i = new java.io.InputStreamReader(xHttpURLConnection.getInputStream(), "UTF-8"); var reader = new java.io.BufferedReader(i); // can't we just read to the end? var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch (Exception err) { // 500 ? // = java.net.ProtocolException: Invalid HTTP method: // oops Console.WriteLine("UploadString " + new { err }); } //Console.WriteLine("exit UploadString " + new { conn }); if (xHttpURLConnection != null) xHttpURLConnection.disconnect(); return w.ToString(); }
public string DownloadString(Uri u) { var w = new StringBuilder(); try { var url = new java.net.URL(u.ToString()); var i = new java.io.InputStreamReader(url.openStream(), "UTF-8"); var reader = new java.io.BufferedReader(i); // can't we just read to the end? var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch { // oops } return w.ToString(); }
string getStringFromInput(BufferedReader input) { StringBuilder sb = new StringBuilder(); string sTemp; try { sTemp = input.readLine(); while (!(sTemp == "")) { sb.append(sTemp + "\n"); sTemp = input.readLine(); } } catch { sb = new StringBuilder(); } return sb.ToString(); }
private void doTest(String test) { var userDir = System.getProperty("user.dir"); var sourcePath = PathHelper.combine(PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/sources"), test + ".txt"); var fileReader = new InputStreamReader(new FileInputStream((sourcePath)), Charset.forName("UTF-8")); var code = readToEnd(fileReader); text = code.toCharArray(); var parser = new Parser(); var scanner = new SourceCodeScanner(new CodeErrorManager(), text); var expression = parser.parseExpression(scanner); var result = expressionToString(expression); var generatedPath = PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/generated"); var generatedDir = new File(generatedPath); if (!generatedDir.exists()) { generatedDir.mkdir(); } var fileWriter = new FileWriter(PathHelper.combine(generatedPath, test + ".txt")); fileWriter.write(result); fileWriter.close(); var expectedPath = PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/expected"); var expectedFile = new File(PathHelper.combine(expectedPath, test + ".txt")); Assert.assertTrue("Expected file not found: " + expectedFile, expectedFile.exists()); fileReader = new InputStreamReader(new FileInputStream((expectedFile)), Charset.forName("UTF-8")); var reference = readToEnd(fileReader); var genReader = new BufferedReader(new StringReader(result)); var refReader = new BufferedReader(new StringReader(reference)); for (;;) { var genLine = genReader.readLine(); var refLine = refReader.readLine(); if (genLine == null && refLine == null) { break; } Assert.assertEquals(refLine, genLine); } }
private void formatInputSectionPart(char[] source, InputSectionPart part, StringBuilder sb, int indent) { var indentSb = new StringBuilder(); for (int i = 0; i < indent; i++) { indentSb.append('.'); } var indentStr = indentSb.toString(); switch (part.InputSectionPartKind) { case Definition: sb.append(indentStr); if (part.Define) { sb.append("#define "); } else { sb.append("#undef "); } sb.append(part.Symbol).append("\r\n"); break; case Line: sb.append(indentStr).append("#line "); if (part.Default) { sb.append("default"); } else if (part.Hidden) { sb.append("hidden"); } else { sb.append(part.Line).append(" "); if (!Helper.isNullOrEmpty(part.Filename)) { sb.append('"').append(part.Filename).append('"'); } } break; case Region: sb.append(indentStr).append("#region"); if (!Helper.isNullOrEmpty(part.StartMessage)) { sb.append(" ").append(part.StartMessage); } sb.append("\r\n"); foreach (var p in part.InputSectionParts) { formatInputSectionPart(source, p, sb, indent + 4); } sb.append(indentStr).append("#endregion"); if (!Helper.isNullOrEmpty(part.EndMessage)) { sb.append(" ").append(part.EndMessage); } sb.append("\r\n"); break; case If: sb.append(indentStr).append("#if expression: ").append(part.ExpressionValue).append(", skipped: ") .append(part.SkippedSection).append("\r\n"); foreach (var p in part.InputSectionParts) { formatInputSectionPart(source, p, sb, indent + 4); } sb.append(indentStr).append("#end\r\n"); break; case Elif: sb.append(indentStr).append("#elif expression: ").append(part.ExpressionValue).append(", skipped: ") .append(part.SkippedSection).append("\r\n"); foreach (var p in part.InputSectionParts) { formatInputSectionPart(source, p, sb, indent + 4); } sb.append(indentStr).append("#end\r\n"); break; case Else: sb.append(indentStr).append("#else skipped: ").append(part.SkippedSection).append("\r\n"); foreach (var p in part.InputSectionParts) { formatInputSectionPart(source, p, sb, indent + 4); } sb.append(indentStr).append("#end\r\n"); break; case Diagnostic: sb.append(indentStr).append((part.Error) ? "#error" : "#warning"); if (!Helper.isNullOrEmpty(part.Message)) { sb.append(" ").append(part.Message); } sb.append("\r\n"); break; case Pragma: sb.append(indentStr).append("#pragma warning ").append((part.Restore) ? "restore" : "disable"); if (part.Warnings.any()) { sb.append(" "); var first = true; foreach (var w in part.Warnings) { if (first) { first = false; } else { sb.append(", "); } sb.append(w); } } sb.append("\r\n"); break; case SourceCode: sb.append(indentStr).append("----\r\n"); var s = new BufferedReader(new StringReader(new String(source, part.Position, part.Length))); var line = ""; while ((line = s.readLine()) != null) { sb.append(indentStr).append(line).append("\r\n"); } sb.append(indentStr).append("----\r\n"); break; } }
private static StreamReader ToDotNetReadableStream(this Reader r) { MemoryStream mem = new MemoryStream(); StreamWriter writer = new StreamWriter(mem); try { BufferedReader reader = new BufferedReader(r); while (reader.ready()) { String line = reader.readLine(); if (line != null) { writer.WriteLine(line); } else { break; } } } catch { throw new RdfParseException("Failed to convert the Java Reader into a .Net Stream successfully"); } finally { r.close(); } writer.Flush(); mem.Seek(0, SeekOrigin.Begin); return new StreamReader(mem); }
private void doTest(String test, LambdaExpression lambda) { variables = new ArrayList<VariableExpression>(); labels = new ArrayList<Label>(); switchLabels = new ArrayList<SwitchLabel>(); var result = lambdaToString(lambda); var userDir = System.getProperty("user.dir"); var generatedPath = PathHelper.combine(userDir, "tests/resources/ExpressionTreesTest/generated"); var generatedDir = new File(generatedPath); if (!generatedDir.exists()) { generatedDir.mkdir(); } var fileWriter = new FileWriter(PathHelper.combine(generatedPath, test + ".txt")); fileWriter.write(result); fileWriter.close(); var referencePath = PathHelper.combine(PathHelper.combine(userDir, "tests/resources/ExpressionTreesTest/references"), test + ".txt"); var referenceFile = new File(referencePath); String reference = null; if (referenceFile.exists()) { var fileReader = new InputStreamReader(new FileInputStream((referencePath)), Charset.forName("UTF-8")); reference = readToEnd(fileReader); } else { Assert.fail("No reference for '" + test + "'"); } if (reference != null) { var genReader = new BufferedReader(new StringReader(result)); var refReader = new BufferedReader(new StringReader(reference)); for (;;) { var genLine = genReader.readLine(); var refLine = refReader.readLine(); if (genLine == null && refLine == null) { break; } Assert.assertEquals(refLine, genLine); } } }
private void doTest(String test, TypeInfo typeInfo) { String result = typeToString(typeInfo, ""); var userDir = System.getProperty("user.dir"); var generatedPath = PathHelper.combine(userDir, "Tests/resources/TypeSystemTest/generated"); var generatedDir = new File(generatedPath); if (!generatedDir.exists()) { generatedDir.mkdir(); } var fileWriter = new FileWriter(PathHelper.combine(generatedPath, test + ".txt")); fileWriter.write(result); fileWriter.close(); var expectedPath = PathHelper.combine(userDir, "Tests/resources/TypeSystemTest/expected"); var expectedFile = new File(PathHelper.combine(expectedPath, test + ".txt")); Assert.assertTrue("Expected file not found: " + expectedFile, expectedFile.exists()); var fileReader = new InputStreamReader(new FileInputStream((expectedFile)), Charset.forName("UTF-8")); var reference = readToEnd(fileReader); var genReader = new BufferedReader(new StringReader(result)); var refReader = new BufferedReader(new StringReader(reference)); for (;;) { var genLine = genReader.readLine(); var refLine = refReader.readLine(); if (genLine == null && refLine == null) { break; } Assert.assertEquals(refLine, genLine); } }
public virtual CategoryDataset readCategoryDataset(Reader @in) { DefaultCategoryDataset defaultCategoryDataset = new DefaultCategoryDataset(); BufferedReader bufferedReader = new BufferedReader(@in); List list = (List) null; int num = 0; string str = bufferedReader.readLine(); while (str != null) { if (num == 0) list = this.extractColumnKeys(str); else this.extractRowKeyAndData(str, defaultCategoryDataset, list); str = bufferedReader.readLine(); ++num; } return (CategoryDataset) defaultCategoryDataset; }
private void loadWhiteList() { try { whiteListedIPs.clear(); var bufferedreader = new BufferedReader(new FileReader(whitelistPlayersFile)); for (string s = ""; (s = bufferedreader.readLine()) != null;) { whiteListedIPs.add(s.Trim().ToLower()); } bufferedreader.close(); } catch (Exception exception) { logger.warning((new StringBuilder()).append("Failed to load white-list: ").append(exception).toString()); } }
private void readBannedPlayers() { try { bannedPlayers.clear(); var bufferedreader = new BufferedReader(new FileReader(bannedPlayersFile)); for (string s = ""; (s = bufferedreader.readLine()) != null;) { bannedPlayers.add(s.Trim().ToLower()); } bufferedreader.close(); } catch (Exception exception) { logger.warning((new StringBuilder()).append("Failed to load ban list: ").append(exception).toString()); } }
public string UploadString(Uri u, string method, string data) { var w = new StringBuilder(); HttpURLConnection conn = null; try { var url = new java.net.URL(u.ToString()); conn = (HttpURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setInstanceFollowRedirects(false); conn.setRequestMethod(method); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); conn.setRequestProperty("charset", "utf-8"); conn.setRequestProperty("content-length", "" + data.Length); conn.setUseCaches(false); try { if (Headers != null) { foreach (string key in Headers.AllKeys) { conn.addRequestProperty(key, Headers[key]); } } } catch (Exception e) { //System.Console.WriteLine("ERROR: Failed to write headers. Exception was:" + e.Message); } DataOutputStream wr = new DataOutputStream(conn.getOutputStream()); wr.writeBytes(data); wr.flush(); wr.close(); //var i = new java.io.InputStreamReader(url.openStream(), "UTF-8"); var i = new java.io.InputStreamReader(conn.getInputStream(), "UTF-8"); var reader = new java.io.BufferedReader(i); // can't we just read to the end? var line = reader.readLine(); while (line != null) { w.AppendLine(line); line = reader.readLine(); } reader.close(); } catch { // oops } if (conn != null) { conn.disconnect(); } return(w.ToString()); }
public void ShellAsync(string e, Action<string> y) { #if AndroidShellAsync // http://www.android.pk/blog/general/launch-app-through-adb-shell/ // am start -a android.intent.action.MAIN -n com.android.settings/.Settings // am start tel:210-385-0098 // am start -a android.intent.action.CALL tel:245007 // am start -a android.intent.action.SENDTO "sms:5245007" -e "sms_body" "heyy" && input keyevent 22 && input keyevent 66 // am start -a android.intent.action.SENDTO -d sms:1234567890 --es sms_body ohai --ez exit_on_sent true // am start -a android.intent.action.SENDTO -d smsto:245007 --es sms_body ":*" --ez exit_on_sent true && am start -a android.intent.action.SENDTO -d sms:5245007 --es sms_body ":*" --ez exit_on_sent true && input keyevent 22 && input keyevent 66 // pm list packages // pm list packages -f //http://stackoverflow.com/questions/11201659/android-adb-shell-dumpsys-tool // am start -S -e sms_body 'your message body' \ //-e address receiver -t 'vnd.android-dir/mms-sms' \ //com.android.mms/com.android.mms.ui.ComposeMessageActivity \ //&& adb shell input keyevent 66 //am start -n com.google.android.youtube/.PlayerActivity -d http://www.youtube.com/watch?v=MTT-crZBB0k // http://stackoverflow.com/questions/7095470/android-read-send-text-messages-on-ubuntu // System.InvalidOperationException: Sequence contains more than one element //at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source) //at jsc.Languages.Java.JavaCompiler.GetArrayEnumeratorType() in x:\jsc.internal.svn\compiler\jsc\Languages\Java\JavaCompiler.overrride.cs:line 52 //at jsc.Languages.Java.JavaCompiler.GetImportTypes(Type t, Boolean bExcludeJavaLang) in x:\jsc.internal.svn\compiler\jsc\Languages\Java\JavaCompiler.WriteImportTypes.cs:line 363 //at jsc.Languages.Java.JavaCompiler.WriteImportTypes(Type ContextType) in x:\jsc.internal.svn\compiler\jsc\Languages\Java\JavaCompiler.WriteImportTypes.cs:line 22 //at jsc.Languages.Java.JavaCompiler.CompileType(Type z) in x:\jsc.internal.svn\compiler\jsc\Languages\Java\JavaCompiler.CompileType.cs:line 43 //at jsc.Languages.CompilerJob.<>c__DisplayClass1a.<CompileJava>b__17(Type xx) in x:\jsc.internal.svn\compiler\jsc\Languages\Java\CompilerJob.cs:line 120 // IsArrayEnumerator: ScriptCoreLib.Shared.BCLImplementation.System.__SZArrayEnumerator`1, ScriptCoreLibAndroid, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null //IsArrayEnumerator: ScriptCoreLib.Shared.BCLImplementation.System.__SZArrayEnumerator`1, ScriptCoreLibJava, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null try { // http://stackoverflow.com/questions/9062182/android-icmp-ping var p = new ProcessBuilder(new[] { "sh" }).redirectErrorStream(true).start(); var os = new DataOutputStream(p.getOutputStream()); //os.writeBytes(e + '\n'); os.writeBytes(e + "\n"); os.flush(); // Close the terminal os.writeBytes("exit\n"); os.flush(); // read ping replys var reader = new BufferedReader(new InputStreamReader(p.getInputStream())); string line = reader.readLine(); while (line != null) { y(line); line = reader.readLine(); } } catch (System.Exception ex) { y("AndroidShellAsync error: " + new { ex.Message }); } #elif ShellAsync try { var p = System.Diagnostics.Process.Start( new ProcessStartInfo("cmd") { //ex = {"The Process object must have the UseShellExecute property set to false in order to redirect IO streams."} UseShellExecute = false, RedirectStandardInput = true, RedirectStandardOutput = true, RedirectStandardError = true } ); y("pid: " + p.Id); y(""); //ex = {"Timeouts are not supported on this stream."} //p.StandardOutput.BaseStream.ReadTimeout = 4000; //p.StandardError.BaseStream.ReadTimeout = 4000; var StandardOutput = ""; var StandardError = ""; p.StandardInput.WriteLine(e); p.StandardInput.WriteLine("exit"); var ww = new AutoResetEvent(false); #region timeout var rr = new System.Threading.Thread( delegate() { StandardOutput = p.StandardOutput.ReadToEnd(); StandardError = p.StandardError.ReadToEnd(); ww.Set(); } ); rr.Start(); #endregion #region timeout new System.Threading.Thread( delegate() { System.Threading.Thread.Sleep(5000); if (rr.IsAlive) { rr.Abort(); } ww.Set(); //ex = {"Process must exit before requested information can be determined."} if (p.HasExited) return; p.Kill(); } ).Start(); #endregion System.Threading.Thread.Yield(); ww.WaitOne(); y(StandardOutput); y(StandardError); y(""); y("exit: " + p.ExitCode); } catch (System.Exception ex) { Debugger.Break(); } finally { y = null; } #else y("ShellAsync not implemented."); #endif }