Move some classes to Cryville.Common.
This commit is contained in:
@@ -63,12 +63,12 @@ namespace Cryville.Common.Pdt {
|
||||
public int Name { get; private set; }
|
||||
public bool Forced { get; private set; }
|
||||
public PushVariable(int name, bool forced = false) { Name = name; Forced = forced; }
|
||||
public PushVariable(string name, bool forced = false) : this(IdentifierManager.SharedInstance.Request(name)) { Forced = forced; }
|
||||
public PushVariable(string name, bool forced = false) : this(IdentifierManager.Shared.Request(name)) { Forced = forced; }
|
||||
internal override void Execute(PdtEvaluatorBase etor) {
|
||||
etor.PushVariable(Name, Forced);
|
||||
}
|
||||
public override string ToString() {
|
||||
return string.Format(Forced ? "pushv ?{0}" : "pushv {0}", IdentifierManager.SharedInstance.Retrieve(Name));
|
||||
return string.Format(Forced ? "pushv ?{0}" : "pushv {0}", IdentifierManager.Shared.Retrieve(Name));
|
||||
}
|
||||
}
|
||||
public class Operate : PdtInstruction {
|
||||
@@ -90,14 +90,14 @@ namespace Cryville.Common.Pdt {
|
||||
public int Name { get; private set; }
|
||||
public LinkedListNode<PdtInstruction> Target { get; internal set; }
|
||||
public Collapse(string name, LinkedListNode<PdtInstruction> target) {
|
||||
Name = IdentifierManager.SharedInstance.Request(name);
|
||||
Name = IdentifierManager.Shared.Request(name);
|
||||
Target = target;
|
||||
}
|
||||
internal override void Execute(PdtEvaluatorBase etor) {
|
||||
etor.Collapse(Name, Target);
|
||||
}
|
||||
public override string ToString() {
|
||||
return string.Format("col {0}{{{1}}}", IdentifierManager.SharedInstance.Retrieve(Name), Target.Value);
|
||||
return string.Format("col {0}{{{1}}}", IdentifierManager.Shared.Retrieve(Name), Target.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
using Cryville.Common.Collections;
|
||||
using Cryville.Common.Logging;
|
||||
using Cryville.Common.Reflection;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -266,14 +268,17 @@ namespace Cryville.Common.Pdt {
|
||||
else {
|
||||
MemberInfo prop = null;
|
||||
bool flag = false;
|
||||
if (pkey is string) prop = ReflectionHelper.TryGetMember(type, (string)pkey);
|
||||
if (prop == null) flag = ReflectionHelper.TryFindMemberWithAttribute<T>(type, out prop);
|
||||
if (pkey is string) prop = FieldLikeHelper.GetMember(type, (string)pkey);
|
||||
if (prop == null) {
|
||||
prop = FieldLikeHelper.FindMemberWithAttribute<T>(type);
|
||||
flag = true;
|
||||
}
|
||||
if (prop == null) throw new MissingMemberException(string.Format("The property \"{0}\" is not found", pkey));
|
||||
Type ptype = ReflectionHelper.GetMemberType(prop);
|
||||
Type ptype = FieldLikeHelper.GetMemberType(prop);
|
||||
if (flag) {
|
||||
var origCollection = ReflectionHelper.GetValue(prop, result);
|
||||
var origCollection = FieldLikeHelper.GetValue(prop, result);
|
||||
if (origCollection == null) {
|
||||
ReflectionHelper.SetValue(prop, result, origCollection = Activator.CreateInstance(ptype));
|
||||
FieldLikeHelper.SetValue(prop, result, origCollection = Activator.CreateInstance(ptype));
|
||||
}
|
||||
using (var collection = new PairCollection(origCollection)) {
|
||||
var ktype = ptype.GetGenericArguments()[0];
|
||||
@@ -283,7 +288,7 @@ namespace Cryville.Common.Pdt {
|
||||
collection.Add(key, value);
|
||||
}
|
||||
}
|
||||
else ReflectionHelper.SetValue(prop, result, vfunc(ptype), _binder);
|
||||
else FieldLikeHelper.SetValue(prop, result, vfunc(ptype), _binder);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
|
@@ -91,7 +91,7 @@ namespace Cryville.Common.Pdt {
|
||||
/// <param name="name">The name of the operator.</param>
|
||||
/// <param name="paramCount">The parameter count.</param>
|
||||
public PdtOperatorSignature(string name, int paramCount)
|
||||
: this(IdentifierManager.SharedInstance.Request(name), paramCount) { }
|
||||
: this(IdentifierManager.Shared.Request(name), paramCount) { }
|
||||
/// <summary>
|
||||
/// Creates an operator signature.
|
||||
/// </summary>
|
||||
@@ -113,7 +113,7 @@ namespace Cryville.Common.Pdt {
|
||||
return _hash;
|
||||
}
|
||||
public override string ToString() {
|
||||
return string.Format("{0}({1})", IdentifierManager.SharedInstance.Retrieve(Name), ParamCount);
|
||||
return string.Format("{0}({1})", IdentifierManager.Shared.Retrieve(Name), ParamCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user