func init // adds using namespace sys.add_use('System.IO') sys.add_use('System.Text') // initialize instance if(linked("StreamWriter") and linked("doAppendText")) sys.add_var(this.name, 'StreamWriter') end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end end func doAppendText(data) linked("onError") ? blk.println('try {').inc() : '' if(linked("StreamWriter")) blk.println(this.codename, ' = ', this.make_writer(data), ';') event("onAppendText", this.codename) else event("onAppendText", this.make_writer(data)) end if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doAppendAllText(data) linked("onError") ? blk.println('try {').inc() : '' blk.println('File.AppendAllText(', d("Path"), ', ', d("Text"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doAppendAllText2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println('File.AppendAllText(', d("Path"), ', ', d("Text"), ', ', isdef("Encoding") ? d("Encoding") : sys.get_undef_manager("Encoding"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doAppendAllLines(data) linked("onError") ? blk.println('try {').inc() : '' blk.println('File.AppendAllLines(', d("Path"), ', ', d("Contents"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doAppendAllLines2(data) linked("onError") ? blk.println('try {').inc() : '' blk.println('File.AppendAllLines(', d("Path"), ', ', d("Contents"), ', ', isdef("Encoding") ? d("Encoding") : sys.get_undef_manager("Encoding"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func StreamWriter if(linked("doAppendText")) return(this.codename) else return(this.make_writer()) end end func make_writer(data) return('File.AppendText(' + d("Path") + ')') end