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(); } } }
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"); }
public override void Init(IScriptExportManager manager) { m_return = CreateReturnType(manager); m_parameters = CreateParameterTypes(manager); if (Type.IsNested) { m_declaringType = manager.RetrieveType(Type.DeclaringType); AddAsNestedDelegate(); } }
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(); } }
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); }
public override void Init(IScriptExportManager manager) { TypeSpecification specification = (TypeSpecification)Type; m_element = manager.RetrieveType(specification.ElementType); }
public override void Init(IScriptExportManager manager) { m_type = manager.RetrieveType(Parameter.ParameterType); }
public override void Init(IScriptExportManager manager) { m_type = manager.RetrieveType(Attribute.AttributeType); }
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); }
public override void Init(IScriptExportManager manager) { m_type = manager.RetrieveType(Parameter.ParameterType.IsByReference ? Parameter.ParameterType.GetElementType() : Parameter.ParameterType); }