Edit

Share via


JSFunctionAttributeEnum Enum

Definition

Specifies the calling conventions of functions that are generated by the JScript compiler. Used with the JSFunctionAttribute custom attribute.

This enumeration supports a bitwise combination of its member values.

This API supports the product infrastructure and is not intended to be used directly from your code.

public enum class JSFunctionAttributeEnum
[System.Runtime.InteropServices.ComVisible(true)]
public enum JSFunctionAttributeEnum
[System.Runtime.InteropServices.ComVisible(true)]
[System.Flags]
[System.Runtime.InteropServices.Guid("BA5ED019-F669-3C35-93AC-3ABF776B62B3")]
public enum JSFunctionAttributeEnum
[<System.Runtime.InteropServices.ComVisible(true)>]
type JSFunctionAttributeEnum = 
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Flags>]
[<System.Runtime.InteropServices.Guid("BA5ED019-F669-3C35-93AC-3ABF776B62B3")>]
type JSFunctionAttributeEnum = 
Public Enum JSFunctionAttributeEnum
Inheritance
JSFunctionAttributeEnum
Attributes

Fields

Name Value Description
None 0

Specifies a regular .NET Framework method with no special calling conventions. Typically not used as in this case the JSFunctionAttribute is not emitted.

HasArguments 1

Specifies that the third parameter of the function is of type Object. The caller should pass in an object that implements the JScript arguments object, typically an instance of ArgumentsObject. The JScript runtime assumes that if HasArguments is set, then HasStackFrame and HasThisObject are also set.

HasThisObject 2

Specifies that the first parameter of the function is of type Object and that it is usually named thisob. The caller should pass in an instance of the object that the function acts on.

IsNested 4

Specifies that the function is nested in another JScript function.

HasStackFrame 8

Specifies that the function copies its local variables into a stack frame object maintained by the JScript runtime before making a call out. It copies the variables back from the stack frame object to its locals when control is returned to the function. This flag is set on functions that contain nested functions that access the parent function's locals.

HasVarArgs 16

Specifies that the function takes a variable number of arguments. The last parameter is of type array of Object, which holds any arguments that are explicitly specified.

HasEngine 32

Specifies that the second parameter of the function is of type VsaEngine. The caller should pass in an instance of VsaEngine from which the function can retrieve the runtime infrastructure. The JScript runtime assumes that if HasEngine is set then HasThisObject is also set.

ClassicFunction 35

Specifies the aggregate of HasArguments, HasEngine, and HasThisObject.

NestedFunction 44

Specifies the aggregate of HasStackFrame, IsNested, and HasEngine.

ClassicNestedFunction 47

Specifies the aggregate of ClassicFunction and NestedFunction.

IsExpandoMethod 64

Specifies that the function is a constructor function for a prototype-based object. For more information, see Prototype-based Objects and expando Modifier.

IsInstanceNestedClassConstructor 128

Specifies that the function is a constructor for a nested instance class. The first parameter of the function an instance of the parent class.

Remarks

The parameters associated with HasArguments, HasEngine, and HasThisObject are implicit and are automatically provided by the JScript runtime when the function is called from JScript code.

Applies to