This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-ognl.git


The following commit(s) were added to refs/heads/master by this push:
     new c901ba5  Remove redundant calls of java.lang.Class methods. Replaced 
with object instanceof.
     new f2a63d6  Merge pull request #45 from arturobernalg/feature/instance
c901ba5 is described below

commit c901ba54b752e471f67e66fc5c2867473d4932eb
Author: Arturo Bernal <arturobern...@gmail.com>
AuthorDate: Mon Jun 21 07:27:32 2021 +0200

    Remove redundant calls of java.lang.Class methods. Replaced with object 
instanceof.
---
 src/main/java/org/apache/commons/ognl/ASTAdd.java  | 40 ++++++++++----------
 .../java/org/apache/commons/ognl/ASTAssign.java    | 10 ++---
 .../java/org/apache/commons/ognl/ASTBitNegate.java |  2 +-
 .../java/org/apache/commons/ognl/ASTChain.java     | 32 ++++++++--------
 .../java/org/apache/commons/ognl/ASTConst.java     |  6 +--
 src/main/java/org/apache/commons/ognl/ASTCtor.java | 14 +++----
 .../org/apache/commons/ognl/ASTInstanceof.java     |  2 +-
 src/main/java/org/apache/commons/ognl/ASTList.java |  8 ++--
 .../java/org/apache/commons/ognl/ASTMethod.java    |  8 ++--
 .../org/apache/commons/ognl/ASTMethodUtil.java     |  6 +--
 .../java/org/apache/commons/ognl/ASTNegate.java    |  2 +-
 .../java/org/apache/commons/ognl/ASTProperty.java  | 18 ++++-----
 .../java/org/apache/commons/ognl/ASTSequence.java  |  6 +--
 .../org/apache/commons/ognl/ASTStaticMethod.java   |  2 +-
 src/main/java/org/apache/commons/ognl/ASTTest.java |  6 +--
 .../java/org/apache/commons/ognl/ASTVarRef.java    |  2 +-
 .../apache/commons/ognl/ArrayPropertyAccessor.java |  2 +-
 .../org/apache/commons/ognl/ExpressionNode.java    |  6 +--
 .../apache/commons/ognl/ListPropertyAccessor.java  |  6 +--
 .../apache/commons/ognl/MapPropertyAccessor.java   |  4 +-
 .../org/apache/commons/ognl/NumericExpression.java |  8 ++--
 src/main/java/org/apache/commons/ognl/OgnlOps.java |  8 ++--
 .../java/org/apache/commons/ognl/OgnlRuntime.java  |  9 ++---
 .../commons/ognl/enhance/ExpressionCompiler.java   | 43 +++++++++++-----------
 .../entry/GenericMethodParameterTypeFactory.java   | 12 +++---
 25 files changed, 129 insertions(+), 133 deletions(-)

diff --git a/src/main/java/org/apache/commons/ognl/ASTAdd.java 
b/src/main/java/org/apache/commons/ognl/ASTAdd.java
index 950c9de..04a4427 100644
--- a/src/main/java/org/apache/commons/ognl/ASTAdd.java
+++ b/src/main/java/org/apache/commons/ognl/ASTAdd.java
@@ -159,7 +159,7 @@ class ASTAdd
                 {
                     aChildren.toGetSourceString( context, target );
 
-                    if ( NodeType.class.isInstance( aChildren ) && ( 
(NodeType) aChildren ).getGetterClass() != null
+                    if ( aChildren instanceof NodeType && ( (NodeType) 
aChildren ).getGetterClass() != null
                         && isWider( (NodeType) aChildren, lastType ) )
                     {
                         lastType = (NodeType) aChildren;
@@ -189,7 +189,7 @@ class ASTAdd
                     String expr = children[i].toGetSourceString( context, 
target );
 
                     if ( ( "null".equals( expr ) )
-                        || ( !ASTConst.class.isInstance( children[i] )
+                        || ( !(children[i] instanceof ASTConst)
                         && ( expr == null || expr.trim().isEmpty() ) ) )
                     {
                         expr = "null";
@@ -198,12 +198,12 @@ class ASTAdd
                     // System.out.println("astadd child class: " + 
_children[i].getClass().getName() +
                     // " and return expr: " + expr);
 
-                    if ( ASTProperty.class.isInstance( children[i] ) )
+                    if (children[i] instanceof ASTProperty)
                     {
                         expr = ExpressionCompiler.getRootExpression( 
children[i], context.getRoot(), context ) + expr;
                         context.setCurrentAccessor( 
context.getRoot().getClass() );
                     }
-                    else if ( ASTMethod.class.isInstance( children[i] ) )
+                    else if (children[i] instanceof ASTMethod)
                     {
                         String chain = (String) context.get( "_currentChain" );
                         String rootExpr =
@@ -222,17 +222,17 @@ class ASTAdd
                         context.setCurrentAccessor( 
context.getRoot().getClass() );
 
                     }
-                    else if ( ExpressionNode.class.isInstance( children[i] ) )
+                    else if (children[i] instanceof ExpressionNode)
                     {
                         expr = "(" + expr + ")";
                     }
-                    else if ( ( parent == null || !ASTChain.class.isInstance( 
parent ) )
-                        && ASTChain.class.isInstance( children[i] ) )
+                    else if ( ( parent == null || !(parent instanceof 
ASTChain))
+                        && children[i] instanceof ASTChain)
                     {
                         String rootExpr =
                             ExpressionCompiler.getRootExpression( children[i], 
context.getRoot(), context );
 
-                        if ( !ASTProperty.class.isInstance( 
children[i].jjtGetChild( 0 ) ) && rootExpr.endsWith( ")" )
+                        if ( !(children[i].jjtGetChild(0) instanceof 
ASTProperty) && rootExpr.endsWith( ")" )
                             && expr.startsWith( ")" ) )
                         {
                             expr = expr.substring( 1 );
@@ -253,7 +253,7 @@ class ASTAdd
                     // turn quoted characters into quoted strings
 
                     if ( context.getCurrentType() != null && 
context.getCurrentType() == Character.class
-                        && ASTConst.class.isInstance( children[i] ) )
+                        && children[i] instanceof ASTConst)
                     {
                         expr = expr.replace( "'", "\"" );
                         context.setCurrentType( String.class );
@@ -262,14 +262,14 @@ class ASTAdd
                     {
 
                         if ( !ASTVarRef.class.isAssignableFrom( 
children[i].getClass() )
-                            && !ASTProperty.class.isInstance( children[i] )
-                            && !ASTMethod.class.isInstance( children[i] )
-                            && !ASTSequence.class.isInstance( children[i] )
-                            && !ASTChain.class.isInstance( children[i] )
+                            && !(children[i] instanceof ASTProperty)
+                            && !(children[i] instanceof ASTMethod)
+                            && !(children[i] instanceof ASTSequence)
+                            && !(children[i] instanceof ASTChain)
                             && !NumericExpression.class.isAssignableFrom( 
children[i].getClass() )
-                            && !ASTStaticField.class.isInstance( children[i] )
-                            && !ASTStaticMethod.class.isInstance( children[i] )
-                            && !ASTTest.class.isInstance( children[i] ) )
+                            && !(children[i] instanceof ASTStaticField)
+                            && !(children[i] instanceof ASTStaticMethod)
+                            && !(children[i] instanceof ASTTest))
                         {
                             if ( lastType != null && 
String.class.isAssignableFrom( lastType.getGetterClass() ) )
                             {
@@ -292,11 +292,11 @@ class ASTAdd
                     {
                         if ( context.getCurrentType() != null
                             && Number.class.isAssignableFrom( 
context.getCurrentType() )
-                            && !ASTMethod.class.isInstance( children[i] ) )
+                            && !(children[i] instanceof ASTMethod))
                         {
-                            if ( ASTVarRef.class.isInstance( children[i] )
-                                || ASTProperty.class.isInstance( children[i] )
-                                || ASTChain.class.isInstance( children[i] ) )
+                            if ( children[i] instanceof ASTVarRef
+                                || children[i] instanceof ASTProperty
+                                || children[i] instanceof ASTChain)
                             {
                                 result.append(".");
                             }
diff --git a/src/main/java/org/apache/commons/ognl/ASTAssign.java 
b/src/main/java/org/apache/commons/ognl/ASTAssign.java
index b394435..7a6d3aa 100644
--- a/src/main/java/org/apache/commons/ognl/ASTAssign.java
+++ b/src/main/java/org/apache/commons/ognl/ASTAssign.java
@@ -53,7 +53,7 @@ class ASTAssign
         String first = children[0].toGetSourceString( context, target );
         String second = "";
 
-        if ( ASTProperty.class.isInstance( children[1] ) )
+        if (children[1] instanceof ASTProperty)
         {
             second += "((" + OgnlRuntime.getCompiler( context ).getClassName( 
target.getClass() ) + ")$2).";
         }
@@ -79,8 +79,8 @@ class ASTAssign
                                                                 Object.class );
         }
 
-        if ( NodeType.class.isInstance( children[1] ) && 
!ASTProperty.class.isInstance( children[1] )
-            && ( (NodeType) children[1] ).getGetterClass() != null && 
!OrderedReturn.class.isInstance( children[1] ) )
+        if ( children[1] instanceof NodeType && !(children[1] instanceof 
ASTProperty)
+            && ( (NodeType) children[1] ).getGetterClass() != null && 
!(children[1] instanceof OrderedReturn))
         {
 
             second = "new " + ( (NodeType) children[1] 
).getGetterClass().getName() + "(" + second + ")";
@@ -113,7 +113,7 @@ class ASTAssign
 
         result += children[0].toSetSourceString( context, target );
 
-        if ( ASTProperty.class.isInstance( children[1] ) )
+        if (children[1] instanceof ASTProperty)
         {
             result += "((" + OgnlRuntime.getCompiler( context ).getClassName( 
target.getClass() ) + ")$2).";
         }
@@ -133,7 +133,7 @@ class ASTAssign
             value = seq.getLastExpression();
         }
 
-        if ( NodeType.class.isInstance( children[1] ) && 
!ASTProperty.class.isInstance( children[1] )
+        if ( children[1] instanceof NodeType && !(children[1] instanceof 
ASTProperty)
             && ( (NodeType) children[1] ).getGetterClass() != null )
         {
 
diff --git a/src/main/java/org/apache/commons/ognl/ASTBitNegate.java 
b/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
index 316fd92..f612e45 100644
--- a/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
+++ b/src/main/java/org/apache/commons/ognl/ASTBitNegate.java
@@ -45,7 +45,7 @@ class ASTBitNegate
     {
         String source = children[0].toGetSourceString( context, target );
 
-        if ( !ASTBitNegate.class.isInstance( children[0] ) )
+        if ( !(children[0] instanceof ASTBitNegate))
         {
             return "~(" + super.coerceToNumeric( source, context, children[0] 
) + ")";
         }
diff --git a/src/main/java/org/apache/commons/ognl/ASTChain.java 
b/src/main/java/org/apache/commons/ognl/ASTChain.java
index 8ca6e3c..8344376 100644
--- a/src/main/java/org/apache/commons/ognl/ASTChain.java
+++ b/src/main/java/org/apache/commons/ognl/ASTChain.java
@@ -295,22 +295,22 @@ public class ASTChain
 
                     // System.out.println("astchain child returned >>  " + 
value + "  <<");
 
-                    if ( ASTCtor.class.isInstance( child ) )
+                    if (child instanceof ASTCtor)
                     {
                         constructor = true;
                     }
 
-                    if ( NodeType.class.isInstance( child ) && ( (NodeType) 
child ).getGetterClass() != null )
+                    if ( child instanceof NodeType && ( (NodeType) child 
).getGetterClass() != null )
                     {
                         lastType = (NodeType) child;
                     }
 
                     // System.out.println("Astchain i: " + i + " currentobj : 
" + context.getCurrentObject() +
                     // " and root: " + context.getRoot());
-                    if ( !ASTVarRef.class.isInstance( child ) && !constructor 
&& !(
-                        OrderedReturn.class.isInstance( child )
+                    if ( !(child instanceof ASTVarRef) && !constructor && !(
+                        child instanceof OrderedReturn
                             && ( (OrderedReturn) child ).getLastExpression() 
!= null ) && ( parent == null
-                        || !ASTSequence.class.isInstance( parent ) ) )
+                        || !(parent instanceof ASTSequence)) )
                     {
                         value = OgnlRuntime.getCompiler( context 
).castExpression( context, child, value );
                     }
@@ -321,7 +321,7 @@ public class ASTChain
                      * context.getPreviousType() + " prev accessor " + 
context.getPreviousAccessor());
                      */
 
-                    if ( OrderedReturn.class.isInstance( child )
+                    if ( child instanceof OrderedReturn
                         && ( (OrderedReturn) child ).getLastExpression() != 
null )
                     {
                         ordered = true;
@@ -343,8 +343,8 @@ public class ASTChain
                             lastExpression = context.remove( 
ExpressionCompiler.PRE_CAST ) + lastExpression;
                         }
                     }
-                    else if ( ASTOr.class.isInstance( child ) || 
ASTAnd.class.isInstance( child )
-                        || ASTCtor.class.isInstance( child ) || ( 
ASTStaticField.class.isInstance( child )
+                    else if ( child instanceof ASTOr || child instanceof ASTAnd
+                        || child instanceof ASTCtor || ( child instanceof 
ASTStaticField
                         && parent == null ) )
                     {
                         context.put( "_noRoot", "true" );
@@ -403,7 +403,7 @@ public class ASTChain
         {
             if ( ( children != null ) && ( children.length > 0 ) )
             {
-                if ( ASTConst.class.isInstance( children[0] ) )
+                if (children[0] instanceof ASTConst)
                 {
                     throw new UnsupportedCompilationException( "Can't modify 
constant values." );
                 }
@@ -423,22 +423,22 @@ public class ASTChain
 
                     // System.out.println("astchain setter child returned >>  
" + value + "  <<");
 
-                    if ( ASTCtor.class.isInstance( children[i] ) )
+                    if (children[i] instanceof ASTCtor)
                     {
                         constructor = true;
                     }
 
-                    if ( NodeType.class.isInstance( children[i] )
+                    if ( children[i] instanceof NodeType
                         && ( (NodeType) children[i] ).getGetterClass() != null 
)
                     {
                         lastType = (NodeType) children[i];
                     }
 
-                    if ( !ASTVarRef.class.isInstance( children[i] )
+                    if ( !(children[i] instanceof ASTVarRef)
                         && !constructor
-                        && !( OrderedReturn.class.isInstance( children[i] )
+                        && !( children[i] instanceof OrderedReturn
                         && ( (OrderedReturn) children[i] ).getLastExpression() 
!= null )
-                        && ( parent == null || !ASTSequence.class.isInstance( 
parent ) ) )
+                        && ( parent == null || !(parent instanceof 
ASTSequence)) )
                     {
                         value = OgnlRuntime.getCompiler( context 
).castExpression( context, children[i], value );
                     }
@@ -451,8 +451,8 @@ public class ASTChain
                      * OgnlRuntime.getCompiler().castExpression(context, 
_children[i], value); }
                      */
 
-                    if ( ASTOr.class.isInstance( children[i] ) || 
ASTAnd.class.isInstance( children[i] )
-                        || ASTCtor.class.isInstance( children[i] ) || 
ASTStaticField.class.isInstance( children[i] ) )
+                    if ( children[i] instanceof ASTOr || children[i] 
instanceof ASTAnd
+                        || children[i] instanceof ASTCtor || children[i] 
instanceof ASTStaticField)
                     {
                         context.put( "_noRoot", "true" );
                         result = value;
diff --git a/src/main/java/org/apache/commons/ognl/ASTConst.java 
b/src/main/java/org/apache/commons/ognl/ASTConst.java
index 8139863..9813f3a 100644
--- a/src/main/java/org/apache/commons/ognl/ASTConst.java
+++ b/src/main/java/org/apache/commons/ognl/ASTConst.java
@@ -81,7 +81,7 @@ public class ASTConst
 
     public String toGetSourceString( OgnlContext context, Object target )
     {
-        if ( value == null && parent != null && 
ExpressionNode.class.isInstance( parent ) )
+        if ( value == null && parent != null && parent instanceof 
ExpressionNode)
         {
             context.setCurrentType( null );
             return "null";
@@ -95,7 +95,7 @@ public class ASTConst
         getterClass = value.getClass();
 
         Object retval = value;
-        if ( parent != null && ASTProperty.class.isInstance( parent ) )
+        if ( parent != null && parent instanceof ASTProperty)
         {
             context.setCurrentObject( value );
 
@@ -121,7 +121,7 @@ public class ASTConst
 
             return retval.toString();
         }
-        if ( Character.class.isInstance( value ) )
+        if (value instanceof Character)
         {
             Character val = (Character) value;
 
diff --git a/src/main/java/org/apache/commons/ognl/ASTCtor.java 
b/src/main/java/org/apache/commons/ognl/ASTCtor.java
index 37603d3..5ac44a6 100644
--- a/src/main/java/org/apache/commons/ognl/ASTCtor.java
+++ b/src/main/java/org/apache/commons/ognl/ASTCtor.java
@@ -181,12 +181,12 @@ public class ASTCtor
 
                     
result.append("[").append(children[0].toGetSourceString(context, 
target)).append("]");
                 }
-                else if ( ASTProperty.class.isInstance( children[0] ) )
+                else if (children[0] instanceof ASTProperty)
                 {
 
                     
result.append("[").append(ExpressionCompiler.getRootExpression(children[0], 
target, context)).append(children[0].toGetSourceString(context, 
target)).append("]");
                 }
-                else if ( ASTChain.class.isInstance( children[0] ) )
+                else if (children[0] instanceof ASTChain)
                 {
 
                     
result.append("[").append(children[0].toGetSourceString(context, 
target)).append("]");
@@ -217,7 +217,7 @@ public class ASTCtor
                         Object objValue = children[i].getValue( context, 
context.getRoot() );
                         String value = children[i].toGetSourceString( context, 
target );
 
-                        if ( !ASTRootVarRef.class.isInstance( children[i] ) )
+                        if ( !(children[i] instanceof ASTRootVarRef))
                         {
                             value = ExpressionCompiler.getRootExpression( 
children[i], target, context ) + value;
                         }
@@ -233,7 +233,7 @@ public class ASTCtor
                             cast = "";
                         }
 
-                        if ( !ASTConst.class.isInstance( children[i] ) )
+                        if ( !(children[i] instanceof ASTConst))
                         {
                             value = cast + value;
                         }
@@ -301,15 +301,15 @@ public class ASTCtor
                         {
 
                             if ( values[i] != null && !types[i].isPrimitive() 
&& !values[i].getClass().isArray()
-                                && !ASTConst.class.isInstance( children[i] ) )
+                                && !(children[i] instanceof ASTConst))
                             {
 
                                 value =
                                     "(" + OgnlRuntime.getCompiler( context 
).getInterfaceClass( values[i].getClass() ).getName()
                                         + ")" + value;
                             }
-                            else if ( !ASTConst.class.isInstance( children[i] )
-                                || ( ASTConst.class.isInstance( children[i] ) 
&& !types[i].isPrimitive() ) )
+                            else if ( !(children[i] instanceof ASTConst)
+                                || ( children[i] instanceof ASTConst && 
!types[i].isPrimitive() ) )
                             {
 
                                 if ( !types[i].isArray() && 
types[i].isPrimitive() && !ctorParamTypes[i].isPrimitive() )
diff --git a/src/main/java/org/apache/commons/ognl/ASTInstanceof.java 
b/src/main/java/org/apache/commons/ognl/ASTInstanceof.java
index 3b6b5d9..9eb4b5d 100644
--- a/src/main/java/org/apache/commons/ognl/ASTInstanceof.java
+++ b/src/main/java/org/apache/commons/ognl/ASTInstanceof.java
@@ -72,7 +72,7 @@ public class ASTInstanceof
 
             String ret = "";
 
-            if ( ASTConst.class.isInstance( children[0] ) )
+            if (children[0] instanceof ASTConst)
             {
                 ret = ( (Boolean) getValueBody( context, target ) ).toString();
             }
diff --git a/src/main/java/org/apache/commons/ognl/ASTList.java 
b/src/main/java/org/apache/commons/ognl/ASTList.java
index f481c6c..eb019a7 100644
--- a/src/main/java/org/apache/commons/ognl/ASTList.java
+++ b/src/main/java/org/apache/commons/ognl/ASTList.java
@@ -67,7 +67,7 @@ public class ASTList
     public String toGetSourceString( OgnlContext context, Object target )
     {
         StringBuilder result = new StringBuilder();
-        boolean array = ASTCtor.class.isInstance(parent) && ((ASTCtor) 
parent).isArray();
+        boolean array = parent instanceof ASTCtor && ((ASTCtor) 
parent).isArray();
 
         context.setCurrentType( List.class );
         context.setCurrentAccessor( List.class );
@@ -99,7 +99,7 @@ public class ASTList
                 String value = children[i].toGetSourceString( context, target 
);
 
                 // to undo type setting of constants when used as method 
parameters
-                if ( ASTConst.class.isInstance( children[i] ) )
+                if (children[i] instanceof ASTConst)
                 {
 
                     context.setCurrentType( prevType );
@@ -118,7 +118,7 @@ public class ASTList
                     cast = "";
                 }
 
-                if ( !ASTConst.class.isInstance( children[i] ) )
+                if ( !(children[i] instanceof ASTConst))
                 {
                     value = cast + value;
                 }
@@ -164,7 +164,7 @@ public class ASTList
                                     + ctorClass.getName() + ".class)", 
ctorClass );
 
                     }
-                    else if ( ( NodeType.class.isInstance( children[i] )
+                    else if ( ( children[i] instanceof NodeType
                         && ( (NodeType) children[i] ).getGetterClass() != null
                         && Number.class.isAssignableFrom( ( (NodeType) 
children[i] ).getGetterClass() ) )
                         || valueClass.isPrimitive() )
diff --git a/src/main/java/org/apache/commons/ognl/ASTMethod.java 
b/src/main/java/org/apache/commons/ognl/ASTMethod.java
index 80d33b3..0a52322 100644
--- a/src/main/java/org/apache/commons/ognl/ASTMethod.java
+++ b/src/main/java/org/apache/commons/ognl/ASTMethod.java
@@ -277,7 +277,7 @@ public class ASTMethod
         StringBuilder result = new StringBuilder("." + method.getName() + "(");
 
         if ( method.getReturnType() != void.class && 
method.getReturnType().isPrimitive() && ( parent == null
-            || !ASTTest.class.isInstance( parent ) ) )
+            || !(parent instanceof ASTTest)) )
         {
             Class wrapper = OgnlRuntime.getPrimitiveWrapperClass( 
method.getReturnType() );
 
@@ -331,8 +331,8 @@ public class ASTMethod
 
                     if ( parmString == null || parmString.trim().length() < 1 )
                     {
-                        if ( ASTProperty.class.isInstance( child ) || 
ASTMethod.class.isInstance( child )
-                            || ASTStaticMethod.class.isInstance( child ) || 
ASTChain.class.isInstance( child ) )
+                        if ( child instanceof ASTProperty || child instanceof 
ASTMethod
+                            || child instanceof ASTStaticMethod || child 
instanceof ASTChain)
                         {
                             throw new UnsupportedCompilationException(
                                 "ASTMethod setter child returned null from a 
sub property expression." );
@@ -341,7 +341,7 @@ public class ASTMethod
                     }
 
                     // to undo type setting of constants when used as method 
parameters
-                    if ( ASTConst.class.isInstance( child ) )
+                    if (child instanceof ASTConst)
                     {
                         context.setCurrentType( prevType );
                     }
diff --git a/src/main/java/org/apache/commons/ognl/ASTMethodUtil.java 
b/src/main/java/org/apache/commons/ognl/ASTMethodUtil.java
index b702e8a..55e9eab 100644
--- a/src/main/java/org/apache/commons/ognl/ASTMethodUtil.java
+++ b/src/main/java/org/apache/commons/ognl/ASTMethodUtil.java
@@ -44,7 +44,7 @@ class ASTMethodUtil
         }
 
         // to undo type setting of constants when used as method parameters
-        if ( ASTConst.class.isInstance( child ) )
+        if (child instanceof ASTConst)
         {
             context.setCurrentType( prevType );
         }
@@ -62,7 +62,7 @@ class ASTMethodUtil
             cast = "";
         }
 
-        if ( !ASTConst.class.isInstance( child ) )
+        if ( !(child instanceof ASTConst))
         {
             parmString = cast + parmString;
         }
@@ -108,7 +108,7 @@ class ASTMethodUtil
                                                         parm );
 
         }
-        else if ( ( NodeType.class.isInstance( child ) && ( (NodeType) child 
).getGetterClass() != null
+        else if ( ( child instanceof NodeType && ( (NodeType) child 
).getGetterClass() != null
             && Number.class.isAssignableFrom( ( (NodeType) child 
).getGetterClass() ) ) || ( valueClass != null
             && valueClass.isPrimitive() ) )
         {
diff --git a/src/main/java/org/apache/commons/ognl/ASTNegate.java 
b/src/main/java/org/apache/commons/ognl/ASTNegate.java
index dd6f2fe..d40322c 100644
--- a/src/main/java/org/apache/commons/ognl/ASTNegate.java
+++ b/src/main/java/org/apache/commons/ognl/ASTNegate.java
@@ -45,7 +45,7 @@ class ASTNegate
     {
         String source = children[0].toGetSourceString( context, target );
 
-        if ( !ASTNegate.class.isInstance( children[0] ) )
+        if ( !(children[0] instanceof ASTNegate))
         {
             return "-" + source;
         }
diff --git a/src/main/java/org/apache/commons/ognl/ASTProperty.java 
b/src/main/java/org/apache/commons/ognl/ASTProperty.java
index 9825d80..8a5caf3 100644
--- a/src/main/java/org/apache/commons/ognl/ASTProperty.java
+++ b/src/main/java/org/apache/commons/ognl/ASTProperty.java
@@ -196,7 +196,7 @@ public class ASTProperty
                 // + " and srcString " + srcString + " on target: " + target);
 
                 Object currentObject = context.getCurrentObject();
-                if ( ASTConst.class.isInstance( child ) && 
Number.class.isInstance( currentObject ) )
+                if ( child instanceof ASTConst && currentObject instanceof 
Number)
                 {
                     context.setCurrentType( 
OgnlRuntime.getPrimitiveWrapperClass( currentObject.getClass() ) );
                 }
@@ -300,8 +300,7 @@ public class ASTProperty
 
                         String srcString = child.toGetSourceString( context, 
context.getRoot() );
 
-                        if ( ASTConst.class.isInstance( child ) && 
String.class.isInstance(
-                            context.getCurrentObject() ) )
+                        if ( child instanceof ASTConst && 
context.getCurrentObject() instanceof String)
                         {
                             srcString = "\"" + srcString + "\"";
                         }
@@ -372,11 +371,11 @@ public class ASTProperty
 
     Method getIndexedWriteMethod( PropertyDescriptor pd )
     {
-        if ( IndexedPropertyDescriptor.class.isInstance( pd ) )
+        if (pd instanceof IndexedPropertyDescriptor)
         {
             return ( (IndexedPropertyDescriptor) pd ).getIndexedWriteMethod();
         }
-        if ( ObjectIndexedPropertyDescriptor.class.isInstance( pd ) )
+        if (pd instanceof ObjectIndexedPropertyDescriptor)
         {
             return ( (ObjectIndexedPropertyDescriptor) pd 
).getIndexedWriteMethod();
         }
@@ -422,7 +421,7 @@ public class ASTProperty
                     PropertyAccessor propertyAccessor = 
OgnlRuntime.getPropertyAccessor( target.getClass() );
 
                     Object currentObject = context.getCurrentObject();
-                    if ( ASTConst.class.isInstance( child ) && 
Number.class.isInstance( currentObject ) )
+                    if ( child instanceof ASTConst && currentObject instanceof 
Number)
                     {
                         context.setCurrentType( 
OgnlRuntime.getPrimitiveWrapperClass( currentObject.getClass() ) );
                     }
@@ -577,8 +576,7 @@ public class ASTProperty
 
                         String srcString = child.toGetSourceString( context, 
context.getRoot() );
 
-                        if ( ASTConst.class.isInstance( child ) && 
String.class.isInstance(
-                            context.getCurrentObject() ) )
+                        if ( child instanceof ASTConst && 
context.getCurrentObject() instanceof String)
                         {
                             srcString = "\"" + srcString + "\"";
                         }
@@ -630,7 +628,7 @@ public class ASTProperty
         String srcString = child.toGetSourceString( context, context.getRoot() 
);
         srcString = ExpressionCompiler.getRootExpression( child, 
context.getRoot(), context ) + srcString;
 
-        if ( ASTChain.class.isInstance( child ) )
+        if (child instanceof ASTChain)
         {
             String cast = (String) context.remove( ExpressionCompiler.PRE_CAST 
);
             if ( cast != null )
@@ -639,7 +637,7 @@ public class ASTProperty
             }
         }
 
-        if ( ASTConst.class.isInstance( child ) && String.class.isInstance( 
context.getCurrentObject() ) )
+        if ( child instanceof ASTConst && context.getCurrentObject() 
instanceof String)
         {
             srcString = "\"" + srcString + "\"";
         }
diff --git a/src/main/java/org/apache/commons/ognl/ASTSequence.java 
b/src/main/java/org/apache/commons/ognl/ASTSequence.java
index 4f4d4f6..0142420 100644
--- a/src/main/java/org/apache/commons/ognl/ASTSequence.java
+++ b/src/main/java/org/apache/commons/ognl/ASTSequence.java
@@ -109,12 +109,12 @@ public class ASTSequence
             // System.out.println("astsequence child : " + 
_children[i].getClass().getName());
             String seqValue = children[i].toGetSourceString( context, target );
 
-            if ( ( i + 1 ) < children.length && ASTOr.class.isInstance( 
children[i] ) )
+            if ( ( i + 1 ) < children.length && children[i] instanceof ASTOr)
             {
                 seqValue = "(" + seqValue + ")";
             }
 
-            if ( i > 0 && ASTProperty.class.isInstance( children[i] ) && 
seqValue != null
+            if ( i > 0 && children[i] instanceof ASTProperty && seqValue != 
null
                 && !seqValue.trim().isEmpty() )
             {
                 String pre = (String) context.get( "_currentChain" );
@@ -144,7 +144,7 @@ public class ASTSequence
             }
             // set last known type from last child with a type
 
-            if ( NodeType.class.isInstance( children[i] ) && ( (NodeType) 
children[i] ).getGetterClass() != null )
+            if ( children[i] instanceof NodeType && ( (NodeType) children[i] 
).getGetterClass() != null )
             {
                 lastType = (NodeType) children[i];
             }
diff --git a/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java 
b/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java
index 586bc33..7134dfc 100644
--- a/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java
+++ b/src/main/java/org/apache/commons/ognl/ASTStaticMethod.java
@@ -150,7 +150,7 @@ public class ASTStaticMethod
                                 + 
")org.apache.commons.ognl.OgnlOps.convertValue(" + parmString + ","
                                 + parms[i].getName() + ".class)", parms[i] );
                         }
-                        else if ( ( NodeType.class.isInstance( child ) && ( 
(NodeType) child ).getGetterClass() != null
+                        else if ( ( child instanceof NodeType && ( (NodeType) 
child ).getGetterClass() != null
                             && Number.class.isAssignableFrom( ( (NodeType) 
child ).getGetterClass() ) )
                             || valueClass.isPrimitive() )
                         {
diff --git a/src/main/java/org/apache/commons/ognl/ASTTest.java 
b/src/main/java/org/apache/commons/ognl/ASTTest.java
index 0d9ead9..62bb200 100644
--- a/src/main/java/org/apache/commons/ognl/ASTTest.java
+++ b/src/main/java/org/apache/commons/ognl/ASTTest.java
@@ -82,7 +82,7 @@ class ASTTest
                 first = OgnlRuntime.getCompiler( context 
).createLocalReference( context, first, context.getCurrentType() );
             }
 
-            if ( ExpressionNode.class.isInstance( children[0] ) )
+            if (children[0] instanceof ExpressionNode)
             {
                 first = "(" + first + ")";
             }
@@ -95,7 +95,7 @@ class ASTTest
                 second = OgnlRuntime.getCompiler( context 
).createLocalReference( context, second, context.getCurrentType() );
             }
 
-            if ( ExpressionNode.class.isInstance( children[1] ) )
+            if (children[1] instanceof ExpressionNode)
             {
                 second = "(" + second + ")";
             }
@@ -109,7 +109,7 @@ class ASTTest
 
             }
 
-            if ( ExpressionNode.class.isInstance( children[2] ) )
+            if (children[2] instanceof ExpressionNode)
             {
                 third = "(" + third + ")";
             }
diff --git a/src/main/java/org/apache/commons/ognl/ASTVarRef.java 
b/src/main/java/org/apache/commons/ognl/ASTVarRef.java
index 28f8c2d..53d5fef 100644
--- a/src/main/java/org/apache/commons/ognl/ASTVarRef.java
+++ b/src/main/java/org/apache/commons/ognl/ASTVarRef.java
@@ -124,7 +124,7 @@ public class ASTVarRef
             post = ")";
         }
 
-        if ( parent != null && ASTAssign.class.isInstance( parent ) )
+        if ( parent != null && parent instanceof ASTAssign)
         {
             core = "$1.put(\"" + name + "\",";
             last = pre + "$1.get(\"" + name + "\")" + post;
diff --git a/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java 
b/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
index ca6094f..5c32cf0 100644
--- a/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/ArrayPropertyAccessor.java
@@ -184,7 +184,7 @@ public class ArrayPropertyAccessor
             // means it needs to be cast first as well
 
             String toString =
-                String.class.isInstance( index ) && context.getCurrentType() 
!= Object.class ? "" : ".toString()";
+                index instanceof String && context.getCurrentType() != 
Object.class ? "" : ".toString()";
 
             indexStr = format( 
"org.apache.commons.ognl.OgnlOps#getIntValue(%s%s)", indexStr, toString );
         }
diff --git a/src/main/java/org/apache/commons/ognl/ExpressionNode.java 
b/src/main/java/org/apache/commons/ognl/ExpressionNode.java
index 76e4a7b..4fdf017 100644
--- a/src/main/java/org/apache/commons/ognl/ExpressionNode.java
+++ b/src/main/java/org/apache/commons/ognl/ExpressionNode.java
@@ -94,13 +94,13 @@ public abstract class ExpressionNode
 
                 String value = children[i].toGetSourceString( context, target 
);
 
-                if ( ( ASTProperty.class.isInstance( children[i] ) || 
ASTMethod.class.isInstance( children[i] )
-                    || ASTSequence.class.isInstance( children[i] ) || 
ASTChain.class.isInstance( children[i] ) )
+                if ( ( children[i] instanceof ASTProperty || children[i] 
instanceof ASTMethod
+                    || children[i] instanceof ASTSequence || children[i] 
instanceof ASTChain)
                     && value != null && !value.trim().isEmpty() )
                 {
 
                     String pre = null;
-                    if ( ASTMethod.class.isInstance( children[i] ) )
+                    if (children[i] instanceof ASTMethod)
                     {
                         pre = (String) context.get( "_currentChain" );
                     }
diff --git a/src/main/java/org/apache/commons/ognl/ListPropertyAccessor.java 
b/src/main/java/org/apache/commons/ognl/ListPropertyAccessor.java
index cfc955d..bafd9cc 100644
--- a/src/main/java/org/apache/commons/ognl/ListPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/ListPropertyAccessor.java
@@ -183,7 +183,7 @@ public class ListPropertyAccessor
     {
         String indexStr = index.toString().replace( "\"", "" );
 
-        if ( String.class.isInstance( index ) )
+        if (index instanceof String)
         {
             if ( "size".equals( indexStr ) )
             {
@@ -231,7 +231,7 @@ public class ListPropertyAccessor
     {
         Object currentObject = context.getCurrentObject();
         Class<?> currentType = context.getCurrentType();
-        if ( currentObject != null && !Number.class.isInstance( currentObject 
) )
+        if ( currentObject != null && !(currentObject instanceof Number))
         {
             try
             {
@@ -274,7 +274,7 @@ public class ListPropertyAccessor
         {
             // means it needs to be cast first as well
 
-            String toString = String.class.isInstance( index ) && currentType 
!= Object.class ? "" : ".toString()";
+            String toString = index instanceof String && currentType != 
Object.class ? "" : ".toString()";
 
             indexStr = "org.apache.commons.ognl.OgnlOps#getIntValue(" + 
indexStr + toString + ")";
         }
diff --git a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java 
b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
index 833ab5e..df526d4 100644
--- a/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
+++ b/src/main/java/org/apache/commons/ognl/MapPropertyAccessor.java
@@ -118,7 +118,7 @@ public class MapPropertyAccessor
         context.setCurrentAccessor( Map.class );
         context.setCurrentType( Object.class );
 
-        if ( String.class.isInstance( index ) && !indexedAccess )
+        if ( index instanceof String && !indexedAccess )
         {
             String key = indexStr.replace( "\"", "" );
 
@@ -154,7 +154,7 @@ public class MapPropertyAccessor
 
         String indexStr = index.toString();
 
-        if ( String.class.isInstance( index ) )
+        if (index instanceof String)
         {
             String key = indexStr.replace( "\"", "" );
 
diff --git a/src/main/java/org/apache/commons/ognl/NumericExpression.java 
b/src/main/java/org/apache/commons/ognl/NumericExpression.java
index 06dc46a..266ba46 100644
--- a/src/main/java/org/apache/commons/ognl/NumericExpression.java
+++ b/src/main/java/org/apache/commons/ognl/NumericExpression.java
@@ -108,13 +108,13 @@ public abstract class NumericExpression
         StringBuilder ret = new StringBuilder( source );
         Object value = context.getCurrentObject();
 
-        if ( ASTConst.class.isInstance( child ) && value != null )
+        if ( child instanceof ASTConst && value != null )
         {
             return value.toString();
         }
 
         if ( context.getCurrentType() != null && 
!context.getCurrentType().isPrimitive()
-            && context.getCurrentObject() != null && Number.class.isInstance( 
context.getCurrentObject() ) )
+            && context.getCurrentObject() != null && 
context.getCurrentObject() instanceof Number)
         {
             ret = new StringBuilder( "((" ).append(
                 ExpressionCompiler.getCastString( 
context.getCurrentObject().getClass() ) ).append( ")" ).append(
@@ -122,7 +122,7 @@ public abstract class NumericExpression
                 OgnlRuntime.getNumericValueGetter( 
context.getCurrentObject().getClass() ) );
         }
         else if ( context.getCurrentType() != null && 
context.getCurrentType().isPrimitive()
-            && ( ASTConst.class.isInstance( child ) || 
NumericExpression.class.isInstance( child ) ) )
+            && ( child instanceof ASTConst || child instanceof 
NumericExpression) )
         {
             @SuppressWarnings( "unchecked" ) // checked by the condition in 
the if clause
             Class<? extends Number> numberClass = (Class<? extends Number>) 
context.getCurrentType();
@@ -136,7 +136,7 @@ public abstract class NumericExpression
             context.setCurrentType( Double.TYPE );
         }
 
-        if ( NumericExpression.class.isInstance( child ) )
+        if (child instanceof NumericExpression)
         {
             ret = new StringBuilder( "(" ).append( ret ).append( ")" );
         }
diff --git a/src/main/java/org/apache/commons/ognl/OgnlOps.java 
b/src/main/java/org/apache/commons/ognl/OgnlOps.java
index a6b9eec..58fd1c7 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlOps.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlOps.java
@@ -798,13 +798,13 @@ public abstract class OgnlOps
                 return -1;
             }
 
-            if ( Number.class.isInstance( value ) )
+            if (value instanceof Number)
             {
 
                 return ( (Number) value ).intValue();
             }
 
-            String str = String.class.isInstance( value ) ? (String) value : 
value.toString();
+            String str = value instanceof String ? (String) value : 
value.toString();
 
             return Integer.parseInt( str );
         }
@@ -1292,12 +1292,12 @@ public abstract class OgnlOps
      */
     public static RuntimeException castToRuntime( Throwable t )
     {
-        if ( RuntimeException.class.isInstance( t ) )
+        if (t instanceof RuntimeException)
         {
             return (RuntimeException) t;
         }
 
-        if ( OgnlException.class.isInstance( t ) )
+        if (t instanceof OgnlException)
         {
             throw new UnsupportedCompilationException( "Error evluating 
expression: " + t.getMessage(), t );
         }
diff --git a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java 
b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
index 54a7a5f..e0a9ed7 100644
--- a/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
+++ b/src/main/java/org/apache/commons/ognl/OgnlRuntime.java
@@ -395,8 +395,7 @@ public class OgnlRuntime
     public static Class<?>[] findParameterTypes( Class<?> type, Method method )
         throws CacheException
     {
-        if ( type == null || type.getGenericSuperclass() == null || 
!ParameterizedType.class.isInstance(
-            type.getGenericSuperclass() ) || 
method.getDeclaringClass().getTypeParameters() == null )
+        if ( type == null || type.getGenericSuperclass() == null || 
!(type.getGenericSuperclass() instanceof ParameterizedType) || 
method.getDeclaringClass().getTypeParameters() == null )
         {
             return getParameterTypes( method );
         }
@@ -809,7 +808,7 @@ public class OgnlRuntime
             for ( Method method : methods )
             {
                 Class<?> typeClass = target != null ? target.getClass() : null;
-                if ( typeClass == null && source != null && 
Class.class.isInstance( source ) )
+                if ( typeClass == null && source != null && source instanceof 
Class)
                 {
                     typeClass = (Class<?>) source;
                 }
@@ -2086,7 +2085,7 @@ public class OgnlRuntime
 
         // handle root / method expressions that may not have proper root java 
source access
 
-        if ( !ASTConst.class.isInstance( child ) && ( target == null || 
context.getRoot() != target ) )
+        if ( !(child instanceof ASTConst) && ( target == null || 
context.getRoot() != target ) )
         {
             source = pre + source;
         }
@@ -2097,7 +2096,7 @@ public class OgnlRuntime
             context.setCurrentAccessor( context.getRoot().getClass() );
         }
 
-        if ( ASTChain.class.isInstance( child ) )
+        if (child instanceof ASTChain)
         {
             String cast = (String) context.remove( ExpressionCompiler.PRE_CAST 
);
             if ( cast == null )
diff --git 
a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java 
b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
index 3eed6a8..628af40 100644
--- a/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
+++ b/src/main/java/org/apache/commons/ognl/enhance/ExpressionCompiler.java
@@ -148,27 +148,26 @@ public class ExpressionCompiler
             return rootExpr;
         }
 
-        if ( ( !ASTList.class.isInstance( expression ) && 
!ASTVarRef.class.isInstance( expression )
-            && !ASTStaticMethod.class.isInstance( expression ) && 
!ASTStaticField.class.isInstance( expression )
-            && !ASTConst.class.isInstance( expression ) && 
!ExpressionNode.class.isInstance( expression )
-            && !ASTCtor.class.isInstance( expression ) && 
!ASTStaticMethod.class.isInstance( expression )
-            && root != null ) || ( root != null && 
ASTRootVarRef.class.isInstance( expression ) ) )
+        if ( ( !(expression instanceof ASTList) && !(expression instanceof 
ASTVarRef)
+            && !(expression instanceof ASTStaticMethod) && !(expression 
instanceof ASTStaticField)
+            && !(expression instanceof ASTConst) && !(expression instanceof 
ExpressionNode)
+            && !(expression instanceof ASTCtor) && !(expression instanceof 
ASTStaticMethod)
+            && root != null ) || ( root != null && expression instanceof 
ASTRootVarRef) )
         {
 
             Class<?> castClass = OgnlRuntime.getCompiler( context 
).getRootExpressionClass( expression, context );
 
-            if ( castClass.isArray() || ASTRootVarRef.class.isInstance( 
expression ) || ASTThisVarRef.class.isInstance(
-                expression ) )
+            if ( castClass.isArray() || expression instanceof ASTRootVarRef || 
expression instanceof ASTThisVarRef)
             {
                 rootExpr = "((" + getCastString( castClass ) + ")$2)";
 
-                if ( ASTProperty.class.isInstance( expression ) && !( 
(ASTProperty) expression ).isIndexedAccess() )
+                if ( expression instanceof ASTProperty && !( (ASTProperty) 
expression ).isIndexedAccess() )
                 {
                     rootExpr += ".";
                 }
             }
-            else if ( ( ASTProperty.class.isInstance( expression ) && ( 
(ASTProperty) expression ).isIndexedAccess() )
-                || ASTChain.class.isInstance( expression ) )
+            else if ( ( expression instanceof ASTProperty && ( (ASTProperty) 
expression ).isIndexedAccess() )
+                || expression instanceof ASTChain)
             {
                 rootExpr = "((" + getCastString( castClass ) + ")$2)";
             }
@@ -190,18 +189,18 @@ public class ExpressionCompiler
      */
     public static boolean shouldCast( Node expression )
     {
-        if ( ASTChain.class.isInstance( expression ) )
+        if (expression instanceof ASTChain)
         {
             Node child = expression.jjtGetChild( 0 );
-            if ( ASTConst.class.isInstance( child ) || 
ASTStaticMethod.class.isInstance( child )
-                || ASTStaticField.class.isInstance( child ) || ( 
ASTVarRef.class.isInstance( child )
-                && !ASTRootVarRef.class.isInstance( child ) ) )
+            if ( child instanceof ASTConst || child instanceof ASTStaticMethod
+                || child instanceof ASTStaticField || ( child instanceof 
ASTVarRef
+                && !(child instanceof ASTRootVarRef)) )
             {
                 return false;
             }
         }
 
-        return !ASTConst.class.isInstance( expression );
+        return !(expression instanceof ASTConst);
     }
 
     /**
@@ -218,11 +217,11 @@ public class ExpressionCompiler
                 && context.getCurrentAccessor().isAssignableFrom( 
context.getPreviousType() ) ) || body == null
             || body.trim().length() < 1 || ( context.getCurrentType() != null 
&& context.getCurrentType().isArray() && (
             context.getPreviousType() == null || context.getPreviousType() != 
Object.class ) )
-            || ASTOr.class.isInstance( expression ) || 
ASTAnd.class.isInstance( expression )
-            || ASTRootVarRef.class.isInstance( expression ) || 
context.getCurrentAccessor() == Class.class || (
+            || expression instanceof ASTOr || expression instanceof ASTAnd
+            || expression instanceof ASTRootVarRef || 
context.getCurrentAccessor() == Class.class || (
             context.get( ExpressionCompiler.PRE_CAST ) != null && ( (String) 
context.get(
-                ExpressionCompiler.PRE_CAST ) ).startsWith( "new" ) ) || 
ASTStaticField.class.isInstance( expression )
-            || ASTStaticMethod.class.isInstance( expression ) || ( 
OrderedReturn.class.isInstance( expression )
+                ExpressionCompiler.PRE_CAST ) ).startsWith( "new" ) ) || 
expression instanceof ASTStaticField
+            || expression instanceof ASTStaticMethod || ( expression 
instanceof OrderedReturn
             && ( (OrderedReturn) expression ).getLastExpression() != null ) )
         {
             return body;
@@ -619,10 +618,10 @@ public class ExpressionCompiler
 
         createLocalReferences( context, classPool, newClass, objClass, 
valueGetter.getParameterTypes() );
 
-        if ( OrderedReturn.class.isInstance( expression )
+        if ( expression instanceof OrderedReturn
             && ( (OrderedReturn) expression ).getLastExpression() != null )
         {
-            body = "{ " + ( ASTMethod.class.isInstance( expression ) || 
ASTChain.class.isInstance( expression )
+            body = "{ " + ( expression instanceof ASTMethod || expression 
instanceof ASTChain
                 ? rootExpr
                 : "" ) + ( castExpression != null ? castExpression : "" )
                 + ( (OrderedReturn) expression ).getCoreExpression() + " 
return " + pre
@@ -697,7 +696,7 @@ public class ExpressionCompiler
                                      CtMethod valueSetter, Node expression, 
Object root )
         throws Exception
     {
-        if ( ExpressionNode.class.isInstance( expression ) || 
ASTConst.class.isInstance( expression ) )
+        if ( expression instanceof ExpressionNode || expression instanceof 
ASTConst)
         {
             throw new UnsupportedCompilationException( "Can't compile 
expression/constant setters." );
         }
diff --git 
a/src/main/java/org/apache/commons/ognl/internal/entry/GenericMethodParameterTypeFactory.java
 
b/src/main/java/org/apache/commons/ognl/internal/entry/GenericMethodParameterTypeFactory.java
index 2e6e5d8..55af62b 100644
--- 
a/src/main/java/org/apache/commons/ognl/internal/entry/GenericMethodParameterTypeFactory.java
+++ 
b/src/main/java/org/apache/commons/ognl/internal/entry/GenericMethodParameterTypeFactory.java
@@ -49,20 +49,20 @@ public class GenericMethodParameterTypeFactory
         {
             TypeVariable<?> paramType = null;
 
-            if ( TypeVariable.class.isInstance( genTypes[i] ) )
+            if (genTypes[i] instanceof TypeVariable)
             {
                 paramType = (TypeVariable<?>) genTypes[i];
             }
-            else if ( GenericArrayType.class.isInstance( genTypes[i] ) )
+            else if (genTypes[i] instanceof GenericArrayType)
             {
                 paramType = (TypeVariable<?>) ( (GenericArrayType) genTypes[i] 
).getGenericComponentType();
             }
-            else if ( ParameterizedType.class.isInstance( genTypes[i] ) )
+            else if (genTypes[i] instanceof ParameterizedType)
             {
                 types[i] = (Class<?>) ( (ParameterizedType) genTypes[i] 
).getRawType();
                 continue;
             }
-            else if ( Class.class.isInstance( genTypes[i] ) )
+            else if (genTypes[i] instanceof Class)
             {
                 types[i] = (Class<?>) genTypes[i];
                 continue;
@@ -72,7 +72,7 @@ public class GenericMethodParameterTypeFactory
 
             if ( resolved != null )
             {
-                if ( GenericArrayType.class.isInstance( genTypes[i] ) )
+                if (genTypes[i] instanceof GenericArrayType)
                 {
                     resolved = Array.newInstance( resolved, 0 ).getClass();
                 }
@@ -95,7 +95,7 @@ public class GenericMethodParameterTypeFactory
 
         for ( int i = 0; i < declaredTypes.length; i++ )
         {
-            if ( !TypeVariable.class.isInstance( 
param.getActualTypeArguments()[i] )
+            if ( !(param.getActualTypeArguments()[i] instanceof TypeVariable)
                 && declaredTypes[i].getName().equals( var.getName() ) )
             {
                 return (Class<?>) param.getActualTypeArguments()[i];

Reply via email to