Skip to content

Commit d8f38de

Browse files
committed
1.0.4
clean code & fix bugs
1 parent 780fc68 commit d8f38de

5 files changed

Lines changed: 13 additions & 54 deletions

File tree

src/Cache.Fody/Cache.Fody.csproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
<PackageProjectUrl>https://github.com/KevinYeti/Cache</PackageProjectUrl>
1313
<PackageIconUrl>https://raw.githubusercontent.com/KevinYeti/Cache/master/icon.png</PackageIconUrl>
1414
<PackageTags>Cache, ILWeaving, Fody, Cecil, AOP</PackageTags>
15-
<AssemblyVersion>1.0.1.0</AssemblyVersion>
16-
<FileVersion>1.0.1.0</FileVersion>
17-
<Version>1.0.1</Version>
15+
<AssemblyVersion>1.0.0.0</AssemblyVersion>
16+
<FileVersion>1.0.0.0</FileVersion>
17+
<Version>1.0.0</Version>
1818
</PropertyGroup>
1919

2020
<ItemGroup>

src/Cache.Fody/ReferenceFinder.cs

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ public static class ReferenceFinder
2525

2626
public static MethodDefinition SystemTypeGetTypeFromHandleMethod { get; set; }
2727

28+
public static AssemblyDefinition CacheAssembly { get; set; }
29+
2830
public static void LoadReferences(BaseModuleWeaver weaver)
2931
{
3032
_weaver = weaver;
@@ -34,16 +36,8 @@ public static void LoadReferences(BaseModuleWeaver weaver)
3436
DictionaryConstructor = weaver.FindType("Dictionary`2").Resolve().GetConstructors().FirstOrDefault();
3537
DictionaryAddMethod = weaver.FindType("Dictionary`2").Method("Add");
3638
SystemTypeGetTypeFromHandleMethod = weaver.FindType("Type").Method("GetTypeFromHandle");
39+
CacheAssembly = new DefaultAssemblyResolver().Resolve(weaver.ModuleDefinition.AssemblyReferences.FirstOrDefault(r => r.Name == "Cache"));
3740
}
3841

39-
//private static void AppendTypes(string name, List<TypeDefinition> coreTypes)
40-
//{
41-
// AssemblyDefinition definition = AssemblyResolver.Resolve(AssemblyNameReference.Parse(name));
42-
// if (definition != null)
43-
// {
44-
// coreTypes.AddRange(definition.MainModule.Types);
45-
// }
46-
//}
47-
4842
}
4943
}

src/Cache.Fody/WeaveHelper.cs

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -387,9 +387,8 @@ public static PropertyDefinition InjectProperty(BaseModuleWeaver weaver, MethodD
387387
{
388388
//Import Reference
389389
TypeDefinition mdlClass = methodDefinition.DeclaringType;
390-
var refModule = ModuleDefinition.ReadModule("Cache.dll");
390+
var refModule = ReferenceFinder.CacheAssembly.MainModule;
391391
var refInterface = refModule.GetType("Cache.ICacheProvider");
392-
//mdlClass.Module.ImportReference(refInterface);
393392

394393
//define the field we store the value in
395394
FieldDefinition field = new FieldDefinition(
@@ -440,31 +439,6 @@ public static void WeaveMethod(BaseModuleWeaver weaver, MethodDefinition methodD
440439
PropertyDefinition propertyInject = null;
441440
if (propertyGet == null && methodDefinition.IsStatic && !methodDefinition.DeclaringType.Properties.Any( p => p.Name == "Cache"))
442441
{
443-
//add field
444-
//FieldDefinition fldCache = new FieldDefinition("Cache", FieldAttributes.Public | FieldAttributes.Static,
445-
// new TypeReference("Cache", "ICacheProvider", methodDefinition.Module, methodDefinition.Module));
446-
447-
//add property
448-
//PropertyDefinition property = new PropertyDefinition("Cache", PropertyAttributes.None,
449-
// moduleClass.Module.ImportReference(t));
450-
//moduleClass.Module.ImportReference(new TypeReference("Cache", "ICacheProvider", refModule, refModule));
451-
//moduleClass.Module.ImportReference(t);
452-
453-
454-
//add getter
455-
456-
//property.GetMethod = new MethodDefinition("get_Cache", MethodAttributes.Static | MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.SpecialName,
457-
// moduleClass.Module.ImportReference(t));
458-
//property.GetMethod.DeclaringType = moduleClass;
459-
//property.GetMethod.ReturnType = t;
460-
//foreach (var item in p.GetMethod.Body.Instructions)
461-
//{
462-
// property.GetMethod.Body.Instructions.Add(item);
463-
//}
464-
465-
466-
467-
//moduleClass.Properties.Add(property);
468442
propertyInject = InjectProperty(weaver, methodDefinition);
469443
propertyGet = propertyInject.GetMethod;
470444
}
@@ -505,10 +479,10 @@ public static void WeaveMethod(BaseModuleWeaver weaver, MethodDefinition methodD
505479

506480
current = SetCacheKeyLocalVariable(weaver, current, methodDefinition, processor, cacheKeyIndex, objectArrayIndex);
507481

508-
//
482+
//init CacheProvider when static method called
509483
if (methodDefinition.IsStatic)
510484
{
511-
var refModule = ModuleDefinition.ReadModule("Cache.dll");
485+
var refModule = ReferenceFinder.CacheAssembly.MainModule;
512486
var refProvider = refModule.GetType("Cache.CacheProvider");
513487
var refProviderGet = refProvider.Method("get_Provider");
514488
var refSetter = propertyInject.SetMethod;

src/Cache/Cache.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
<PropertyGroup>
44
<TargetFrameworks>net46;netstandard2.0</TargetFrameworks>
5-
<PackageVersion>1.0.3</PackageVersion>
5+
<PackageVersion>1.0.4</PackageVersion>
66
<Description>Injects method cache code.</Description>
77
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
88
<PackageProjectUrl>https://github.com/KevinYeti/Cache</PackageProjectUrl>
99
<PackageIconUrl>https://raw.githubusercontent.com/KevinYeti/Cache/master/icon.png</PackageIconUrl>
1010
<PackageTags>Cache, ILWeaving, Fody, Cecil, AOP</PackageTags>
1111
<PackageLicenseUrl>https://github.com/KevinYeti/Cache/blob/master/LICENSE</PackageLicenseUrl>
1212
<PackageId>Cache.Fody</PackageId>
13-
<AssemblyVersion>1.0.3.0</AssemblyVersion>
14-
<FileVersion>1.0.3.0</FileVersion>
15-
<Version>1.0.3</Version>
13+
<AssemblyVersion>1.0.4.0</AssemblyVersion>
14+
<FileVersion>1.0.4.0</FileVersion>
15+
<Version>1.0.4</Version>
1616
</PropertyGroup>
1717

1818
<ItemGroup>

src/Cache/StaticCacheGetterProperty.cs

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)