forked from: [AS3 Coding Tools] Property Disposer
forked from [AS3 Coding Tools] Property Disposer (diff: 5)
ActionScript3 source code
/**
* Copyright zahir ( http://wonderfl.net/user/zahir )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/33ke
*/
<?xml version="1.0" encoding="utf-8"?>
<!-- forked from clockmaker's [AS3 Coding Tools] Property Disposer -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<!-- =====================================================
メンバー変数のプロパティーを空っぽにする整形ツール。
メモリ対策のための破棄処理を作るときに便利。
===================================================== -->
<fx:Script>
<![CDATA[
import mx.controls.*;
import mx.utils.StringUtil;
/**
* 整形メソッド
*/
private function doArrange():void
{
// 改行コードを統一する
var str:String = orijinal.text;
str = str.split("\n\r").join("\n").split("\r").join("\n")
// 変換
var arr:Array = str.split("\n");
var out:String = "";
out = "public function destructor():void\n{\n";
for (var i:int = 0; i < arr.length; i++)
{
var str1:String = arr[i].split(";").join("");
var splits:Array = str1.split("=");
var splits2:Array = splits[0].split("var");
if (splits2.length == 1)
continue;
var splits3:Array = splits2[1].split(":");
var val:String;
if (splits3.length == 1)
{
val = "undefined";
}
else
{
switch (StringUtil.trim(splits3[1]))
{
case "Number":
case "int":
case "uint":
val = "0";
break;
case "Boolean":
val = "false";
break;
default:
val = "null";
break;
}
}
out += "\t" + StringUtil.trim(splits3[0]) + " = " + val + ";\n";
}
output.text = out + "}";
}
private function copy():void
{
System.setClipboard(output.text);
Alert.show("Copied Output Script")
}
]]>
</fx:Script>
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
s|TextArea {
fontFamily: Courier;
}
</fx:Style>
<s:Panel title="AS3 Property Disposer"
width="100%"
height="100%">
<s:layout>
<s:VerticalLayout horizontalAlign="center"
paddingBottom="10"
paddingLeft="10"
paddingRight="10"
paddingTop="10"
gap="10"/>
</s:layout>
<s:TextArea id="orijinal"
width="100%"
height="100%"
focusIn="orijinal.selectAll()"
text="var hoge : Number = 1;
var moja : String = 'mojamoja';
var piyo : Boolean = true;
var fuga;
private var foo : Number = 1;
public var bar : String = 'mojamoja';
static var qux : Point = false;
const HOGE : Matrix = new Matrix();"/>
<s:Button click="doArrange()"
label="Start"/>
<s:TextArea id="output"
width="100%"
height="100%"
focusIn="output.selectAll()"/>
<s:Button click="copy()"
label="Copy Clipboard"/>
</s:Panel>
</s:Application>