fixed a security bug in logging, added basic xml support to as3 compiler
[swftools.git] / lib / as3 / ok / namespaces1.as
1 package my.namespaces { 
2     public namespace ns1 = "http://www.some.other/namespace";
3     public namespace ns2 = "http://www.swftools.org/";
4     public namespace ns3 = "http://yet.some.other/namespace";
5     public namespace ns4 = "bla bla";
6     
7     public namespace ns5 = "bla bla 2";
8
9     public class Test {
10
11         ns1 static function test() {
12             trace("error");
13         }
14         ns2 static function test() {
15             trace("ok 2/6");
16             use namespace my.namespaces.ns2;
17             (new Test()).test2()
18         }
19         ns3 static function test() {
20             trace("error");
21         }
22
23         ns1 function test2() {trace("error");}
24         ns2 function test2() {trace("ok 3/6");}
25         ns3 function test2() {trace("error");}
26
27         ns4 static function test3() {
28             trace("ok 4/6");
29         }
30
31         ns1 function test4() {trace("ok 5/6");}
32         ns2 function test4() {trace("ok 6/6");}
33     }
34 }
35     
36 package {
37
38     import flash.display.MovieClip
39     import flash.utils.Proxy
40     import flash.utils.flash_proxy
41
42     use namespace flash.utils.flash_proxy;
43     
44     public namespace ns4clone = "bla bla";
45     use namespace ns4clone;
46     
47     public class Main extends flash.display.MovieClip {
48
49         use namespace my.namespaces.ns2;
50         import my.namespaces.*;
51         use namespace ns5;
52
53         private function test1() {
54             my.namespaces.Test.test()
55         }
56
57         public function Main() 
58         {
59             var p:Proxy = new Proxy
60             try {
61                 p.hasProperty("test")
62             } catch(e:Error) {
63                 // Proxy is similar to an interface, and will throw some kind
64                 // of "class not implemented" exception
65                 trace("ok 1/6");
66             }
67             my.namespaces.Test.test()
68             my.namespaces.Test.test3()
69
70             use namespace my.namespaces.ns1;
71             use namespace my.namespaces.ns2;
72             var test:Test = new Test();
73             test.ns1::test4();
74             test.ns2::test4();
75
76             trace("[exit]");
77         }
78     }
79 }
80