Add debug specifier to reduce verbosity of debug output

This commit is contained in:
Mike Bierlee 2014-12-23 23:03:59 +01:00
parent 77cc636e7f
commit 7a628c32c4
4 changed files with 150 additions and 138 deletions

View file

@ -19,6 +19,17 @@
"dflags-dmd": [ "dflags-dmd": [
"-main" "-main"
] ]
},
{
"name": "unittestVerbose",
"targetType": "executable",
"debugVersions": ["poodinisVerbose"],
"sourcePaths": [
"test"
],
"dflags-dmd": [
"-main"
]
} }
] ]
} }

View file

@ -27,7 +27,7 @@ alias Autowired = Autowire;
public void autowire(Type)(DependencyContainer container, Type instance) { public void autowire(Type)(DependencyContainer container, Type instance) {
// For the love of god, refactor this! // For the love of god, refactor this!
debug { debug(poodinisVerbose) {
auto instanceType = typeid(Type); auto instanceType = typeid(Type);
auto instanceAddress = &instance; auto instanceAddress = &instance;
writeln(format("DEBUG: Autowiring members of [%s@%s]", instanceType, instanceAddress)); writeln(format("DEBUG: Autowiring members of [%s@%s]", instanceType, instanceAddress));
@ -40,7 +40,8 @@ public void autowire(Type)(DependencyContainer container, Type instance) {
if (__traits(getMember, instance, member) is null) { if (__traits(getMember, instance, member) is null) {
alias memberReference = TypeTuple!(__traits(getMember, instance, member)); alias memberReference = TypeTuple!(__traits(getMember, instance, member));
alias MemberType = typeof(memberReference)[0]; alias MemberType = typeof(memberReference)[0];
debug {
debug(poodinisVerbose) {
string qualifiedInstanceTypeString = typeid(MemberType).toString; string qualifiedInstanceTypeString = typeid(MemberType).toString;
} }
@ -48,7 +49,7 @@ public void autowire(Type)(DependencyContainer container, Type instance) {
static if (is(autowireAttribute == Autowire!T, T) && !is(autowireAttribute.qualifier == UseMemberType)) { static if (is(autowireAttribute == Autowire!T, T) && !is(autowireAttribute.qualifier == UseMemberType)) {
alias QualifierType = typeof(autowireAttribute.qualifier); alias QualifierType = typeof(autowireAttribute.qualifier);
qualifiedInstance = container.resolve!(typeof(memberReference), QualifierType); qualifiedInstance = container.resolve!(typeof(memberReference), QualifierType);
debug { debug(poodinisVerbose) {
qualifiedInstanceTypeString = typeid(QualifierType).toString; qualifiedInstanceTypeString = typeid(QualifierType).toString;
} }
} else { } else {
@ -57,7 +58,7 @@ public void autowire(Type)(DependencyContainer container, Type instance) {
__traits(getMember, instance, member) = qualifiedInstance; __traits(getMember, instance, member) = qualifiedInstance;
debug { debug(poodinisVerbose) {
auto qualifiedInstanceAddress = &qualifiedInstance; auto qualifiedInstanceAddress = &qualifiedInstance;
writeln(format("DEBUG: Autowired instance [%s@%s] to [%s@%s].%s", qualifiedInstanceTypeString, qualifiedInstanceAddress, instanceType, instanceAddress, member)); writeln(format("DEBUG: Autowired instance [%s@%s] to [%s@%s].%s", qualifiedInstanceTypeString, qualifiedInstanceAddress, instanceType, instanceAddress, member));
} }

View file

@ -49,7 +49,7 @@ class DependencyContainer {
TypeInfo registeredType = typeid(InterfaceType); TypeInfo registeredType = typeid(InterfaceType);
TypeInfo_Class concreteType = typeid(ConcreteType); TypeInfo_Class concreteType = typeid(ConcreteType);
debug { debug(poodinisVerbose) {
writeln(format("DEBUG: Register type %s (as %s)", concreteType.toString(), registeredType.toString())); writeln(format("DEBUG: Register type %s (as %s)", concreteType.toString(), registeredType.toString()));
} }
@ -85,7 +85,7 @@ class DependencyContainer {
TypeInfo resolveType = typeid(RegistrationType); TypeInfo resolveType = typeid(RegistrationType);
TypeInfo qualifierType = typeid(QualifierType); TypeInfo qualifierType = typeid(QualifierType);
debug { debug(poodinisVerbose) {
writeln("DEBUG: Resolving type " ~ resolveType.toString() ~ " with qualifier " ~ qualifierType.toString()); writeln("DEBUG: Resolving type " ~ resolveType.toString() ~ " with qualifier " ~ qualifierType.toString());
} }

View file

@ -43,7 +43,7 @@ interface CreationScope {
class NullScope : CreationScope { class NullScope : CreationScope {
public Object getInstance() { public Object getInstance() {
debug { debug(poodinisVerbose) {
writeln("DEBUG: No instance created (NullScope)"); writeln("DEBUG: No instance created (NullScope)");
} }
return null; return null;
@ -60,12 +60,12 @@ class SingleInstanceScope : CreationScope {
public Object getInstance() { public Object getInstance() {
if (instance is null) { if (instance is null) {
debug { debug(poodinisVerbose) {
writeln(format("DEBUG: Creating new instance of type %s (SingleInstanceScope)", instantiatableType.toString())); writeln(format("DEBUG: Creating new instance of type %s (SingleInstanceScope)", instantiatableType.toString()));
} }
instance = instantiatableType.create(); instance = instantiatableType.create();
} else { } else {
debug { debug(poodinisVerbose) {
writeln(format("DEBUG: Existing instance returned of type %s (SingleInstanceScope)", instantiatableType.toString())); writeln(format("DEBUG: Existing instance returned of type %s (SingleInstanceScope)", instantiatableType.toString()));
} }
} }
@ -88,7 +88,7 @@ class NewInstanceScope : CreationScope {
} }
public Object getInstance() { public Object getInstance() {
debug { debug(poodinisVerbose) {
writeln(format("DEBUG: Creating new instance of type %s (SingleInstanceScope)", instantiatableType.toString())); writeln(format("DEBUG: Creating new instance of type %s (SingleInstanceScope)", instantiatableType.toString()));
} }
return instantiatableType.create(); return instantiatableType.create();
@ -108,7 +108,7 @@ class ExistingInstanceScope : CreationScope {
} }
public Object getInstance() { public Object getInstance() {
debug { debug(poodinisVerbose) {
writeln("DEBUG: Existing instance returned (ExistingInstanceScope)"); writeln("DEBUG: Existing instance returned (ExistingInstanceScope)");
} }
return instance; return instance;