Author: markt Date: Sun Dec 14 14:43:36 2014 New Revision: 1645458 URL: http://svn.apache.org/r1645458 Log: Partially revert 1645440. Can't use 'new' for loop here as array is not always full.
Modified: tomcat/trunk/java/javax/el/CompositeELResolver.java Modified: tomcat/trunk/java/javax/el/CompositeELResolver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/CompositeELResolver.java?rev=1645458&r1=1645457&r2=1645458&view=diff ============================================================================== --- tomcat/trunk/java/javax/el/CompositeELResolver.java (original) +++ tomcat/trunk/java/javax/el/CompositeELResolver.java Sun Dec 14 14:43:36 2014 @@ -58,8 +58,9 @@ public class CompositeELResolver extends @Override public Object getValue(ELContext context, Object base, Object property) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - Object result = resolver.getValue(context, base, property); + int sz = this.size; + for (int i = 0; i < sz; i++) { + Object result = this.resolvers[i].getValue(context, base, property); if (context.isPropertyResolved()) { return result; } @@ -71,11 +72,12 @@ public class CompositeELResolver extends * @since EL 2.2 */ @Override - public Object invoke(ELContext context, Object base, Object method, Class<?>[] paramTypes, - Object[] params) { + public Object invoke(ELContext context, Object base, Object method, + Class<?>[] paramTypes, Object[] params) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - Object obj = resolver.invoke(context, base, method, paramTypes, params); + int sz = this.size; + for (int i = 0; i < sz; i++) { + Object obj = this.resolvers[i].invoke(context, base, method, paramTypes, params); if (context.isPropertyResolved()) { return obj; } @@ -86,15 +88,16 @@ public class CompositeELResolver extends @Override public Class<?> getType(ELContext context, Object base, Object property) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - Class<?> type = resolver.getType(context, base, property); + int sz = this.size; + for (int i = 0; i < sz; i++) { + Class<?> type = this.resolvers[i].getType(context, base, property); if (context.isPropertyResolved()) { if (SCOPED_ATTRIBUTE_EL_RESOLVER != null && - SCOPED_ATTRIBUTE_EL_RESOLVER.isAssignableFrom(resolver.getClass())) { + SCOPED_ATTRIBUTE_EL_RESOLVER.isAssignableFrom(resolvers[i].getClass())) { // Special case since // javax.servlet.jsp.el.ScopedAttributeELResolver will // always return Object.class for type - Object value = resolver.getValue(context, base, property); + Object value = resolvers[i].getValue(context, base, property); if (value != null) { return value.getClass(); } @@ -108,8 +111,9 @@ public class CompositeELResolver extends @Override public void setValue(ELContext context, Object base, Object property, Object value) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - resolver.setValue(context, base, property, value); + int sz = this.size; + for (int i = 0; i < sz; i++) { + this.resolvers[i].setValue(context, base, property, value); if (context.isPropertyResolved()) { return; } @@ -119,8 +123,9 @@ public class CompositeELResolver extends @Override public boolean isReadOnly(ELContext context, Object base, Object property) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - boolean readOnly = resolver.isReadOnly(context, base, property); + int sz = this.size; + for (int i = 0; i < sz; i++) { + boolean readOnly = this.resolvers[i].isReadOnly(context, base, property); if (context.isPropertyResolved()) { return readOnly; } @@ -136,8 +141,9 @@ public class CompositeELResolver extends @Override public Class<?> getCommonPropertyType(ELContext context, Object base) { Class<?> commonType = null; - for (ELResolver resolver : resolvers) { - Class<?> type = resolver.getCommonPropertyType(context, base); + int sz = this.size; + for (int i = 0; i < sz; i++) { + Class<?> type = this.resolvers[i].getCommonPropertyType(context, base); if (type != null && (commonType == null || commonType.isAssignableFrom(type))) { commonType = type; } @@ -148,8 +154,9 @@ public class CompositeELResolver extends @Override public Object convertToType(ELContext context, Object obj, Class<?> type) { context.setPropertyResolved(false); - for (ELResolver resolver : resolvers) { - Object result = resolver.convertToType(context, obj, type); + int sz = this.size; + for (int i = 0; i < sz; i++) { + Object result = this.resolvers[i].convertToType(context, obj, type); if (context.isPropertyResolved()) { return result; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org