[CHANGE] Some cleanups to lib/ohcount/source_file.rb
[ohcount] / test / expected_dir / as1.as
1 actionscript    comment /* SVN FILE: $Id: FakeObject.as 42 2008-03-26 03:18:02Z xpointsh $ */
2 actionscript    comment /**
3 actionscript    comment  * Description
4 actionscript    comment  *
5 actionscript    comment  * Fake
6 actionscript    comment  * Copyright 2008, Sean Chatman and Garrett Woodworth
7 actionscript    comment  *
8 actionscript    comment  * Licensed under The MIT License
9 actionscript    comment  * Redistributions of files must retain the above copyright notice.
10 actionscript    comment  *
11 actionscript    comment  * @filesource
12 actionscript    comment  * @copyright           Copyright 2008, Sean Chatman and Garrett Woodworth
13 actionscript    comment  * @link                        http://code.google.com/p/fake-as3/
14 actionscript    comment  * @package                     fake
15 actionscript    comment  * @subpackage          com.fake
16 actionscript    comment  * @since                       2008-03-06
17 actionscript    comment  * @version                     $Revision: 42 $
18 actionscript    comment  * @modifiedby          $LastChangedBy: xpointsh $
19 actionscript    comment  * @lastmodified        $Date: 2008-03-25 20:18:02 -0700 (Tue, 25 Mar 2008) $
20 actionscript    comment  * @license                     http://www.opensource.org/licenses/mit-license.php The MIT License
21 actionscript    comment  */
22 actionscript    code    package com.fake
23 actionscript    code    {
24 actionscript    code            import flash.utils.*;
25 actionscript    blank   
26 actionscript    comment         /**
27 actionscript    comment          * FakeObject is the root object for all classes
28 actionscript    comment          * in Fake. It contains a reference to the class name
29 actionscript    comment          * and class object. These are obtained by using the
30 actionscript    comment          * reflection classes in flash.utils.
31 actionscript    comment          */
32 actionscript    code            public dynamic class FakeObject extends Proxy
33 actionscript    code            {
34 actionscript    comment                 /**
35 actionscript    comment                 * The name of the top level subclass
36 actionscript    comment                 */
37 actionscript    code                    [Transient] public var className:String;
38 actionscript    comment                 /**
39 actionscript    comment                 * A reference to the top level subclass
40 actionscript    comment                 */
41 actionscript    code                    [Transient] public var ClassRef:Class;
42 actionscript    blank   
43 actionscript    code                    private var __item:Array;
44 actionscript    blank   
45 actionscript    code                    public function FakeObject()
46 actionscript    code                    {
47 actionscript    code                            getClassInfo();
48 actionscript    code                            __item = new Array();
49 actionscript    code                    }
50 actionscript    blank   
51 actionscript    comment                 /**
52 actionscript    comment                  * This method is called by the constructor. Populates the className and ClassRef using
53 actionscript    comment                  * getQualifiedClassName and getDefinitionByName
54 actionscript    comment                  */
55 actionscript    code                    private function getClassInfo():void
56 actionscript    code                    {
57 actionscript    code                            var qcName:Array = getQualifiedClassName(this).split("::");
58 actionscript    code                            className = qcName[1];
59 actionscript    blank   
60 actionscript    code                            var classPath:String = getQualifiedClassName(this).replace( "::", "." );
61 actionscript    code                            ClassRef = getDefinitionByName(classPath) as Class;
62 actionscript    code                    }
63 actionscript    blank   
64 actionscript    comment                 /**
65 actionscript    comment                  * Override the callProperty of the flash_proxy
66 actionscript    comment                  * @param method
67 actionscript    comment                  * @param args
68 actionscript    comment                  * @return
69 actionscript    comment                  *
70 actionscript    comment                  */
71 actionscript    code                    override flash_proxy function callProperty(method: *, ...args):*
72 actionscript    code                    {
73 actionscript    code                            try
74 actionscript    code                            {
75 actionscript    code                                    return ClassRef.prototype[method].apply(method, args);
76 actionscript    code                            }
77 actionscript    code                            catch (e:Error)
78 actionscript    code                            {
79 actionscript    code                                    return overload(method, args);
80 actionscript    code                            }
81 actionscript    code                    }
82 actionscript    blank   
83 actionscript    comment                 /**
84 actionscript    comment                  * To be overriden by subclasses. Allows calling any method on any object that extends FakeOject
85 actionscript    comment                  * @param method
86 actionscript    comment                  * @param args
87 actionscript    comment                  *
88 actionscript    comment                  */
89 actionscript    code                    protected function overload(method:*, args:Array):void
90 actionscript    code                    {
91 actionscript    code                    }
92 actionscript    blank   
93 actionscript    comment                 /**
94 actionscript    comment                  * get a property on the object
95 actionscript    comment                  * @param name
96 actionscript    comment                  * @return
97 actionscript    comment                  *
98 actionscript    comment                  */
99 actionscript    code                    override flash_proxy function getProperty(name:*):*
100 actionscript    code                    {
101 actionscript    code                    return overloadGetProperty(name);
102 actionscript    code                }
103 actionscript    blank   
104 actionscript    code                protected function overloadGetProperty(name:*):*
105 actionscript    code                {
106 actionscript    code                    return __item[name];
107 actionscript    code                }
108 actionscript    blank   
109 actionscript    comment             /**
110 actionscript    comment              * Set a property on the object
111 actionscript    comment              * @param name
112 actionscript    comment              * @param value
113 actionscript    comment              *
114 actionscript    comment              */
115 actionscript    code                override flash_proxy function setProperty(name:*, value:*):void
116 actionscript    code                {
117 actionscript    code                    overloadSetProperty(name, value)
118 actionscript    code                }
119 actionscript    blank   
120 actionscript    code                protected function overloadSetProperty(name:*, value:*):void
121 actionscript    code                {
122 actionscript    code                    __item[name] = value;
123 actionscript    code                }
124 actionscript    blank   
125 actionscript    comment                 /**
126 actionscript    comment              * Check if the property exits
127 actionscript    comment              * @param name
128 actionscript    comment              * @param value
129 actionscript    comment              *
130 actionscript    comment              */
131 actionscript    code                override flash_proxy function hasProperty(name:*):Boolean
132 actionscript    code                {
133 actionscript    code                    if (__item[name])
134 actionscript    code                    {
135 actionscript    code                            return true;
136 actionscript    code                    }
137 actionscript    code                    return false;
138 actionscript    code                }
139 actionscript    code            }
140 actionscript    code    }