mirror of
https://github.com/SSCLI/sscli_20021101
synced 2026-06-08 12:28:57 +00:00
9fa3874800
Moved the original file to the archive subfolder.
105 lines
2.9 KiB
C#
105 lines
2.9 KiB
C#
// ==++==
|
|
//
|
|
//
|
|
// Copyright (c) 2002 Microsoft Corporation. All rights reserved.
|
|
//
|
|
// The use and distribution terms for this software are contained in the file
|
|
// named license.txt, which can be found in the root of this distribution.
|
|
// By using this software in any fashion, you are agreeing to be bound by the
|
|
// terms of this license.
|
|
//
|
|
// You must not remove this notice, or any other, from this software.
|
|
//
|
|
//
|
|
// ==--==
|
|
namespace Microsoft.JScript
|
|
{
|
|
|
|
using System;
|
|
using System.Reflection;
|
|
using System.Reflection.Emit;
|
|
using System.Globalization;
|
|
using System.Diagnostics;
|
|
|
|
public abstract class JSMethod : MethodInfo{
|
|
internal Object obj;
|
|
|
|
internal JSMethod(Object obj){
|
|
this.obj = obj;
|
|
}
|
|
|
|
internal abstract Object Construct(Object[] args);
|
|
|
|
public override MethodInfo GetBaseDefinition(){
|
|
return this;
|
|
}
|
|
|
|
internal virtual String GetClassFullName(){
|
|
if (this.obj is ClassScope){
|
|
return ((ClassScope)this.obj).GetFullName();
|
|
}
|
|
throw new JScriptException(JSError.InternalError);
|
|
}
|
|
|
|
public override Object[] GetCustomAttributes(Type t, bool inherit){
|
|
return new Object[0];
|
|
}
|
|
|
|
public override Object[] GetCustomAttributes(bool inherit){
|
|
return new Object[0];
|
|
}
|
|
|
|
public override MethodImplAttributes GetMethodImplementationFlags(){
|
|
return (MethodImplAttributes)0;
|
|
}
|
|
|
|
internal abstract MethodInfo GetMethodInfo(CompilerGlobals compilerGlobals);
|
|
|
|
internal virtual PackageScope GetPackage(){
|
|
if (this.obj is ClassScope){
|
|
return ((ClassScope)this.obj).GetPackage();
|
|
}
|
|
throw new JScriptException(JSError.InternalError);
|
|
}
|
|
|
|
#if !DEBUG
|
|
[DebuggerStepThroughAttribute]
|
|
[DebuggerHiddenAttribute]
|
|
#endif
|
|
public override Object Invoke(Object obj, BindingFlags options, Binder binder, Object[] parameters, CultureInfo culture){
|
|
return this.Invoke(obj, obj, options, binder, parameters, culture);
|
|
}
|
|
|
|
internal abstract Object Invoke(Object obj, Object thisob, BindingFlags options, Binder binder, Object[] parameters, CultureInfo culture);
|
|
|
|
public sealed override bool IsDefined(Type type, bool inherit){
|
|
return false;
|
|
}
|
|
|
|
public override MemberTypes MemberType{
|
|
get{
|
|
return MemberTypes.Method;
|
|
}
|
|
}
|
|
|
|
public override RuntimeMethodHandle MethodHandle{
|
|
get{
|
|
return this.GetMethodInfo(null).MethodHandle;
|
|
}
|
|
}
|
|
|
|
public override Type ReflectedType{
|
|
get{
|
|
return this.DeclaringType;
|
|
}
|
|
}
|
|
|
|
public override ICustomAttributeProvider ReturnTypeCustomAttributes {
|
|
get {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|