Esempio n. 1
0
        public override void Init(IScriptExportManager manager)
        {
            if (Definition != null && Definition.BaseType != null)
            {
                m_base = manager.RetrieveType(Definition.BaseType);
            }

            m_fields = CreateFields(manager);

            if (Type.IsNested)
            {
                m_declaringType = manager.RetrieveType(Type.DeclaringType);
                if (!Type.IsGenericParameter)
                {
                    AddAsNestedType();
                }
            }
        }
Esempio n. 2
0
 private ScriptExportType CreateReturnType(IScriptExportManager manager)
 {
     foreach (MethodDefinition method in Type.Methods)
     {
         if (method.Name == InvokeMethodName)
         {
             return(manager.RetrieveType(method.ReturnType));
         }
     }
     throw new Exception($"Invoke method '{InvokeMethodName}' wasn't found");
 }
Esempio n. 3
0
        public override void Init(IScriptExportManager manager)
        {
            m_return     = CreateReturnType(manager);
            m_parameters = CreateParameterTypes(manager);

            if (Type.IsNested)
            {
                m_declaringType = manager.RetrieveType(Type.DeclaringType);
                AddAsNestedDelegate();
            }
        }
Esempio n. 4
0
        public override void Init(IScriptExportManager manager)
        {
            if (Type.Module == null)
            {
                m_fields = new ScriptExportField[0];
            }
            else
            {
                m_fields = CreateFields(manager);
            }

            if (Type.IsNested)
            {
                m_declaringType = manager.RetrieveType(Type.DeclaringType);
                AddAsNestedEnum();
            }
        }
Esempio n. 5
0
        private IReadOnlyList <ScriptExportField> CreateFields(IScriptExportManager manager)
        {
            List <ScriptExportField> fields = new List <ScriptExportField>();

            foreach (FieldDefinition field in Definition.Fields)
            {
                if (field.Name == "value__")
                {
                    m_base = manager.RetrieveType(field.FieldType);
                    continue;
                }

                ScriptExportField enumField = manager.RetrieveField(field);
                fields.Add(enumField);
            }
            return(fields);
        }
Esempio n. 6
0
        public override void Init(IScriptExportManager manager)
        {
            TypeSpecification specification = (TypeSpecification)Type;

            m_element = manager.RetrieveType(specification.ElementType);
        }
Esempio n. 7
0
 public override void Init(IScriptExportManager manager)
 {
     m_type = manager.RetrieveType(Parameter.ParameterType);
 }
 public override void Init(IScriptExportManager manager)
 {
     m_type = manager.RetrieveType(Attribute.AttributeType);
 }
Esempio n. 9
0
 public override void Init(IScriptExportManager manager)
 {
     m_declaringType = manager.RetrieveType(Field.DeclaringType);
     m_type          = manager.RetrieveType(Field.FieldType);
     m_attributes    = CreateAttributes(manager);
 }
 public override void Init(IScriptExportManager manager)
 {
     m_declaringType = manager.RetrieveType(Property.DeclaringType);
     m_type          = manager.RetrieveType(Property.PropertyType);
 }
Esempio n. 11
0
 public override void Init(IScriptExportManager manager)
 {
     m_type = manager.RetrieveType(Parameter.ParameterType.IsByReference ? Parameter.ParameterType.GetElementType() : Parameter.ParameterType);
 }