2003-07-27 Cesar Lopez Nataren <cesar@ciencias.unam.mx>
[mono.git] / mcs / class / Microsoft.JScript / Microsoft.JScript / ScriptObject.cs
1 //
2 // ScriptObject.cs:
3 //
4 // Author: Cesar Octavio Lopez Nataren
5 //
6 // (C) 2003, Cesar Octavio Lopez Nataren, <cesar@ciencias.unam.mx>
7 //
8
9 namespace Microsoft.JScript.Tmp
10 {
11         using System;
12         using System.Globalization;
13         using System.Reflection;
14         using Microsoft.JScript.Vsa;
15
16         public abstract class ScriptObject : IReflect
17         {
18                 public VsaEngine engine;
19
20                 public FieldInfo GetField (string name, BindingFlags bindFlags)
21                 {
22                         throw new NotImplementedException ();
23                 }
24
25                 public virtual FieldInfo [] GetFields (BindingFlags bindFlags)
26                 {
27                         throw new NotImplementedException ();
28                 }
29
30                 public abstract MemberInfo [] GetMember (string name, BindingFlags bindFlags);          
31
32                 public abstract MemberInfo [] GetMembers (BindingFlags bindFlags);
33
34                 public MethodInfo GetMethod (string name, BindingFlags bindFlags)
35                 {
36                         throw new NotImplementedException ();
37                 }
38
39                 public MethodInfo GetMethod (string name, BindingFlags bindFlags, 
40                                              Binder binder, Type [] types, ParameterModifier [] modifiers)
41                 {
42                         throw new NotImplementedException ();
43                 }
44
45                 public virtual MethodInfo[] GetMethods (BindingFlags bindFlags)
46                 {
47                         throw new NotImplementedException ();
48                 }
49
50                 public virtual MethodInfo GetMethods (string name, BindingFlags bindFlags)
51                 {
52                         throw new NotImplementedException ();
53                 }
54
55                 public ScriptObject GetParent ()
56                 {
57                         throw new NotImplementedException ();
58                 }
59
60                 public PropertyInfo GetProperty (string name, BindingFlags bindFlags)
61                 {
62                         throw new NotImplementedException ();
63                 }
64
65                 public PropertyInfo GetProperty (string name, BindingFlags bindFlags,
66                                                  Binder binder, Type returnType, Type [] types,
67                                                  ParameterModifier [] modifiers)
68                 {
69                         throw new NotImplementedException ();
70                 }
71
72                 public virtual PropertyInfo [] GetProperties (BindingFlags bindFlags)
73                 {
74                         throw new NotImplementedException ();
75                 }
76
77                 public virtual Object InvokeMember (string name,  BindingFlags invokeAttr, 
78                                                     Binder binder, Object target,
79                                                     Object[] args, ParameterModifier [] modifiers, 
80                                                     CultureInfo locale, string[] namedParameters)
81                 {
82                         throw new NotImplementedException ();
83                 }
84
85                 public Object this [double index] {
86                         get { throw new NotImplementedException (); }
87                         set { throw new NotImplementedException ();}
88                 }
89
90                 public Object this [int index] {
91                         get { throw new NotImplementedException (); }
92                         set { throw new NotImplementedException (); }
93                 }
94
95                 public Object this [string name] {
96                         get { throw new NotImplementedException (); }
97                         set { throw new NotImplementedException (); }
98                 }
99
100                 /*
101                 public Object this [params Object [] pars] {
102                         get { throw new NotImplementedException (); }
103                         set { throw new NotImplementedException (); }
104                 }
105                 */
106
107                 public virtual Type UnderlyingSystemType {
108                         get { throw new NotImplementedException (); }
109                 }
110         }
111 }