From afb49574cfcbe00f84a117d7a59d8518bc369d62 Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Mon, 3 Nov 2008 15:52:36 +0000 Subject: [PATCH] Don't use getReference in unless really required. PR 44822. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@710086 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/Project.java | 9 +++++++++ .../apache/tools/ant/taskdefs/condition/IsReference.java | 6 +++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/ant/Project.java b/src/main/org/apache/tools/ant/Project.java index fc8aadc4c..b218b6f1d 100644 --- a/src/main/org/apache/tools/ant/Project.java +++ b/src/main/org/apache/tools/ant/Project.java @@ -1962,6 +1962,15 @@ public class Project implements ResourceFactory { return references; } + /** + * Does the project know this reference? + * + * @since Ant 1.8.0 + */ + public boolean hasReference(String key) { + return references.containsKey(key); + } + /** * Look up a reference by its key (ID). * diff --git a/src/main/org/apache/tools/ant/taskdefs/condition/IsReference.java b/src/main/org/apache/tools/ant/taskdefs/condition/IsReference.java index 836d437c0..f172849bc 100644 --- a/src/main/org/apache/tools/ant/taskdefs/condition/IsReference.java +++ b/src/main/org/apache/tools/ant/taskdefs/condition/IsReference.java @@ -62,13 +62,13 @@ public class IsReference extends ProjectComponent implements Condition { + "condition"); } - Object o = getProject().getReference(ref.getRefId()); - - if (o == null) { + String key = ref.getRefId(); + if (!getProject().hasReference(key)) { return false; } else if (type == null) { return true; } else { + Object o = getProject().getReference(key); Class typeClass = (Class) getProject().getDataTypeDefinitions().get(type);