/** Produce a string representation of a bsh variable declaration. * Shows modifiers, type and name. * @param var the variable to reflect * @return string representation of variable declaration */ public static String variableString(Variable var) { StringBuilder sb = new StringBuilder(); sb.append(var.getModifiers().toString().substring(11)) .append(" ").append(getTypeName(var.getType())) .append(" ").append(var.getName()); return sb.append(";").toString(); }
public Class<?> getType() { if ( null != field ) return field.getReturnType(); if ( null != var ) return var.getType(); try { return Types.getType(getValue()); } catch ( UtilEvalError e ) { return null; } }
if ( null != (var = getVariableAtNode(index == 0 ? 1 : 0, callstack)) ) { val2IsString = var.getType() == String.class; val2Class = var.getType(); var = null; case EQ: case NE: if ( (Primitive.NULL == val2 && val2Class == null) || val2Class == var.getType() || (val2Class != null && ( var.getType().isAssignableFrom(val2Class) || val2Class.isAssignableFrom(var.getType()))) ) return val1; else if ( null != val2Class ) throw new EvalError("incomparable types: " + StringUtil.typeString(var.getType()) + " and " + StringUtil.typeString(val2Class), this, callstack); && (val2IsString || var.getType() == String.class) ) return "null"; if ( isWrapper(var.getType()) ) throw new NullPointerException( "null value with binary operator " + tokenImage[kind]);