Esempio n. 1
0
 public LocationsProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 2
0
 public IsResourceProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 3
0
 public ScriptProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 4
0
 public BindToPrototypeProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 5
0
 public QualificationProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 6
0
 public PrefixNameCasingProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 7
0
 public PassRootAsArgumentProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 8
0
 public UndefinedIsNotNullProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 9
0
 public DefaultKeyProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 10
0
 public GlobalObjectProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 11
0
 public RemoveAccessorUnderscoreProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 12
0
 public RemoveAccessorPrefixProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 13
0
 public MemberNameCasingProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 14
0
 public IsAsyncProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 15
0
 public PassInstanceAsArgumentProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 16
0
 public ConditionProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 17
0
 public InlineParamsArrayProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 18
0
 public StateProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 19
0
 public SimulateMulticastEventsProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 20
0
 public NamespaceCasingProperty(InteropTypes outer)
 {
     this.outer = outer;
 }
Esempio n. 21
0
        public void Setup(AssemblyNode mscorlib, AssemblyNode jsTypes, AssemblyNode rewriteAssembly)
        {
            NumWarnings = 0;
            NumErrors   = 0;

            MsCorLib = mscorlib;

            AssemblyDelaySignAttributeType = GetType(mscorlib, "System.Reflection", "AssemblyDelaySignAttribute");

            VoidType                       = GetType(mscorlib, "System", "Void");
            ObjectType                     = GetType(mscorlib, "System", "Object");
            StringType                     = GetType(mscorlib, "System", "String");
            IntType                        = GetType(mscorlib, "System", "Int32");
            BooleanType                    = GetType(mscorlib, "System", "Boolean");
            MethodBaseType                 = GetType(mscorlib, "System.Reflection", "MethodBase");
            RuntimeTypeHandleType          = GetType(mscorlib, "System", "RuntimeTypeHandle");
            NullableTypeConstructor        = GetType(mscorlib, "System", "Nullable`1");
            CompilerGeneratedAttributeType = GetType
                                                 (mscorlib, "System.Runtime.CompilerServices", "CompilerGeneratedAttribute");
            DllImportAttributeType = GetType(mscorlib, "System.Runtime.InteropServices", "DllImportAttribute");

            TypeType                       = GetType(mscorlib, "System", "Type");
            Type_GetMethodMethod           = GetMethod(TypeType, "GetMethod", StringType, TypeType.GetArrayType(1));
            Type_GetMemberMethod           = GetMethod(TypeType, "GetMember", StringType);
            Type_GetConstructorMethod      = GetMethod(TypeType, "GetConstructor", TypeType.GetArrayType(1));
            Type_GetTypeFromHandleMethod   = GetMethod(TypeType, "GetTypeFromHandle", RuntimeTypeHandleType);
            Type_GetGenericArgumentsMethod = GetMethod(TypeType, "GetGenericArguments");
            Type_MakeArrayTypeMethod       = GetMethod(TypeType, "MakeArrayType");
            Type_MakeGenericTypeMethod     = GetMethod(TypeType, "MakeGenericType", TypeType.GetArrayType(1));

            InteropTypes   = new InteropTypes(this);
            InteropManager = new InteropManager(this);

            IgnoreAttributeType           = GetType(jsTypes, Constants.JSTypesIL2JSNS, "IgnoreAttribute");
            InteropAttributeType          = GetType(jsTypes, Constants.JSTypesInteropNS, "InteropAttribute");
            NamingAttributeType           = GetType(jsTypes, Constants.JSTypesInteropNS, "NamingAttribute");
            ImportAttributeType           = GetType(jsTypes, Constants.JSTypesInteropNS, "ImportAttribute");
            ImportKeyAttributeType        = GetType(jsTypes, Constants.JSTypesInteropNS, "ImportKeyAttribute");
            ExportAttributeType           = GetType(jsTypes, Constants.JSTypesInteropNS, "ExportAttribute");
            NotExportedAttributeType      = GetType(jsTypes, Constants.JSTypesInteropNS, "NotExportedAttribute");
            InteropGeneratedAttributeType = GetType(jsTypes, Constants.JSTypesIL2JSNS, "InteropGeneratedAttribute");

            JSTypes = jsTypes;

            JSContextType = GetType(jsTypes, Constants.JSTypesInteropNS, "JSContext");

            InteropContextManagerType = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "InteropContextManager");
            InteropContextManager_GetDatabaseMethod         = GetMethod(InteropContextManagerType, "get_Database");
            InteropContextManager_GetCurrentRuntimeMethod   = GetMethod(InteropContextManagerType, "get_CurrentRuntime");
            InteropContextManager_GetRuntimeForObjectMethod = GetMethod
                                                                  (InteropContextManagerType, "GetRuntimeForObject", ObjectType);

            InteropDatabaseType = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "InteropDatabase");
            InteropDatabase_RegisterRootExpression     = GetMethod(InteropDatabaseType, "RegisterRootExpression", StringType);
            InteropDatabase_RegisterDelegateShimMethod = GetMethod
                                                             (InteropDatabaseType, "RegisterDelegateShim", TypeType);
            InteropDatabase_RegisterTypeMethod = GetMethod
                                                     (InteropDatabaseType,
                                                     "RegisterType",
                                                     TypeType,
                                                     IntType,
                                                     StringType,
                                                     StringType,
                                                     IntType,
                                                     BooleanType,
                                                     BooleanType,
                                                     BooleanType);
            InteropDatabase_RegisterExportMethod = GetMethod
                                                       (InteropDatabaseType, "RegisterExport", MethodBaseType, BooleanType, StringType);

            SimpleMethodBaseType = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "SimpleMethodBase");

            SimpleMethodInfoType  = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "SimpleMethodInfo");
            SimpleMethodInfo_Ctor = GetConstructor
                                        (SimpleMethodInfoType, BooleanType, StringType, TypeType, TypeType.GetArrayType(1), TypeType);

            SimpleConstructorInfoType  = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "SimpleConstructorInfo");
            SimpleConstructorInfo_Ctor = GetConstructor(SimpleConstructorInfoType, TypeType, TypeType.GetArrayType(1));

            RuntimeType = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "Runtime");
            Runtime_CompleteConstructionMethod = GetMethod
                                                     (RuntimeType, "CompleteConstruction", SimpleMethodBaseType, ObjectType, JSContextType);
            Runtime_CallImportedMethodMethod = GetMethod
                                                   (RuntimeType, "CallImportedMethod", SimpleMethodBaseType, StringType, ObjectType.GetArrayType(1));

            UniversalDelegateType          = GetType(jsTypes, Constants.JSTypesManagedInteropNS, "UniversalDelegate");
            UniversalDelegate_InvokeMethod = GetUniqueMethod(UniversalDelegateType, "Invoke");

            MethodBase_GetGenericArgumentsMethod = GetMethod(MethodBaseType, "GetGenericArguments");

            ModuleType = GetType(rewriteAssembly, "", "<Module>");
            foreach (var member in ModuleType.Members)
            {
                var cctor = member as StaticInitializer;
                if (cctor != null)
                {
                    ModuleCCtorMethod = cctor;
                }
            }
        }