updates for function_decl_or_expr tree building
[mono.git] / mcs / class / Microsoft.JScript / Microsoft.JScript / FunctionObject.cs
1 //
2 // FunctionObject.cs:
3 //
4 // Author:
5 //      Cesar Octavio Lopez Nataren
6 //
7 // (C) 2003, Cesar Octavio Lopez Nataren, <cesar@ciencias.unam.mx>
8 //
9
10 using System;
11 using System.Text;
12
13 namespace Microsoft.JScript {
14
15         public class FunctionObject : ScriptFunction {
16
17                 internal string Name;
18                 internal string ReturnType;
19                 internal FormalParameterList Params;
20                 internal Block Body;
21
22                 internal FunctionObject (string name,
23                                          FormalParameterList p,
24                                          Block body)
25                 {
26                         this.Name = name;
27                         this.Params = p;
28                         this.Body = body;
29                 }
30             
31                 internal FunctionObject ()
32                 {
33                         Params = new FormalParameterList ();
34                         Body = new Block ();
35                 }
36
37                 public override string ToString ()
38                 {
39                         StringBuilder sb = new StringBuilder ();
40
41                         sb.Append ("function ");
42                         sb.Append (Name + " ");
43                         sb.Append ("(");
44
45                         if (Params != null)
46                                 sb.Append (Params.ToString ());
47                                         
48                         sb.Append (")");
49                         sb.Append ("{");
50
51                         if (Body != null)
52                                 sb.Append (Body.ToString ());
53
54                         sb.Append ("}");
55
56                         return sb.ToString ();          
57                 }
58         }
59 }