public EventWrapperMemberBuilderInfo ( IEventSymbol wrapperSymbol, Core core ) : base(wrapperSymbol, core) { int idx = TheCore.GetEventThisIdx(WrapperSymbol); if (idx < 0) { EventThisIdxAttribute eventThisIdxAttr = WrapperSymbol.GetAttrObject <EventThisIdxAttribute>(); if (eventThisIdxAttr != null) { idx = eventThisIdxAttr.ThisIdx; } } if (idx < 0) { idx = core.GetEventIdx(wrapperSymbol.GetUniqueEventId()); } if (idx >= 0) { this.IndexInputParamToReplaceByThis = idx; } this.DefaultCodeBuilder = new SimpleEventBuilder(); }
// adds the class to compilation. public void ConfigurationCompleted() { if (TheSelfTypeSymbol != null) { return; } this.GenerateCode(); TheCore.AddClass(this); TheSelfTypeSymbol = TheCore.TheCompilation.GetTypeByMetadataName(FullTypeName); }
public ITypeConfig FindOrCreateConcretizationTypeConf ( INamedTypeSymbol typeToConcretizeSymbol, string concreteClassName = null) { concreteClassName = concreteClassName ?? typeToConcretizeSymbol.Name.GetConcretizationName(); ITypeConfig typeConfig = TheCore.FindOrCreateTypeConfByTypeToImpl(concreteClassName, typeToConcretizeSymbol); if (typeConfig.TheGeneratedCode == null) { typeConfig.TheBuilderSetter = DefaultConcretizationMemberBuilderSetter.TheDefaultConcretizationBuilderSetter; typeConfig.ConfigurationCompleted(); } return(typeConfig); }
public static T Concretize <T>() { return(TheCore.ConcretizeType <T>()); }
public static T CreateEnumWrapper <T, EnumType>(EnumType enumVal, bool allowNonPublic = true) where EnumType : struct { return(TheCore.BuildEnumWrapper <T, EnumType>(enumVal)); }
public static void CreateEnumerationAdapter <T, EnumType>(Type staticEnumExtensionsType, bool allowNonPublic = true) { TheCore.CreateEnumAdaptor <T, EnumType>(staticEnumExtensionsType, allowNonPublic); }
public static TypeToImplement CreateWrapperWithNonPublicMembers <TypeToImplement, TWrapper>(string className) { return(TheCore.WrapWithNonPublicMembers <TypeToImplement, TWrapper>(className)); }
public static ITypeConfig FindOrCreateConcretizationTypeConfig <T>() { return(TheCore.FindOrCreateConcretizationTypeConf <T>()); }
public static ITypeConfig FindOrCreateConcretizationTypeConfig(INamedTypeSymbol classTypeSymbol) { return(TheCore.FindOrCreateConcretizationTypeConf(classTypeSymbol)); }
public static T GetInstanceOfGeneratedType <T>(string className = null, params object[] args) { return(TheCore.GetInstOfGeneratedType <T>(className, args)); }
public static ITypeConfig FindOrCreateTypeConfigByTypeToImpl <TypeToImpl>(string className) { return(TheCore.FindOrCreateTypeConfByTypeToImpl <TypeToImpl>(className)); }
public static TToImplement CreateImplementedInstance <TToImplement, TWrapper>(params object[] args) { return(TheCore.CreateImplInstance <TToImplement, TWrapper>(args)); }
public static ITypeConfig FindOrCreateTypeConfig <TToImplement, TImplementor>(string className = null) { return(TheCore.FindOrCreateTypeConf <TToImplement, TImplementor>(className)); }
public void RecompileAssembly() { TheCore.RegenerateAssembly(); }
public static void Save(string path) { TheCore.SaveToPath(path); }
public static void SetSaveOnErrorPath(string savePath) { TheCore.SaveToPathOnCompilationError(savePath); }
public static void AddEventIdxInfo <TEventContainer>(string eventName, int idx = 0) { TheCore.AddEventInfo <TEventContainer>(eventName, idx); }