/** * Return the signature of the current method */ private String getMethodSignature(Vector argsType) { final StringBuffer buf = new StringBuffer(_className); buf.append('.').append(_fname.getLocalPart()).append('('); int nArgs = argsType.size(); for (int i = 0; i < nArgs; i++) { final Type intType = (Type)argsType.elementAt(i); buf.append(intType.toString()); if (i < nArgs - 1) buf.append(", "); } buf.append(')'); return buf.toString(); }
/** * Translates an object of this type to an object of type * <code>type</code>. * Expects an object of the former type and pushes an object of the latter. */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); }
/** * Translates an object of this type to the external (Java) type denoted * by <code>clazz</code>. This method is used to translate parameters * when external functions are called. */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Class clazz) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), clazz.getClass().toString()); classGen.getParser().reportError(Constants.FATAL, err); }
/** * Translates an external (Java) type denoted by <code>clazz</code> to * an object of this type. This method is used to translate return values * when external functions are called. */ public void translateFrom(ClassGenerator classGen, MethodGenerator methodGen, Class clazz) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, clazz.getClass().toString(), toString()); classGen.getParser().reportError(Constants.FATAL, err); }
/** * Translates an object of this type to its unboxed representation. */ public void translateUnBox(ClassGenerator classGen, MethodGenerator methodGen) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, "["+toString()+"]", toString()); classGen.getParser().reportError(Constants.FATAL, err); }
/** * Translates an object of this type to an non-synthesized boolean. It * does not push a 0 or a 1 but instead returns branchhandle list to be * appended to the false list. */ public FlowList translateToDesynthesized(ClassGenerator classGen, MethodGenerator methodGen, BooleanType type) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); return null; }
/** * Type checking a cast expression amounts to verifying that the * type conversion is legal. Cast expressions are created during * type checking, but typeCheck() is usually not called on them. * As a result, this method is called from the constructor. */ public Type typeCheck(SymbolTable stable) throws TypeCheckError { Type tleft = _left.getType(); if (tleft == null) { tleft = _left.typeCheck(stable); } if (tleft instanceof NodeType) { tleft = Type.Node; // multiple instances } else if (tleft instanceof ResultTreeType) { tleft = Type.ResultTree; // multiple instances } if (InternalTypeMap.maps(tleft, _type) != null) { return _type; } // throw new TypeCheckError(this); throw new TypeCheckError(new ErrorMsg( ErrorMsg.DATA_CONVERSION_ERR, tleft.toString(), _type.toString())); }
/** * Translates a void into an object of internal type <code>type</code>. * This translation is needed when calling external functions * that return void. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { if (type == Type.String) { translateTo(classGen, methodGen, (StringType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
/** * Translates a void into an object of internal type <code>type</code>. * This translation is needed when calling external functions * that return void. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { if (type == Type.String) { translateTo(classGen, methodGen, (StringType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
/** * Translates a real into an object of internal type <code>type</code>. The * translation to int is undefined since booleans are always converted to * reals in arithmetic expressions. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { if (type == Type.String) { translateTo(classGen, methodGen, (StringType) type); } else if (type == Type.Real) { translateTo(classGen, methodGen, (RealType) type); } else if (type == Type.Reference) { translateTo(classGen, methodGen, (ReferenceType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
/** * Translates a string into an object of internal type <code>type</code>. * The translation to int is undefined since strings are always converted * to reals in arithmetic expressions. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { if (type == Type.Boolean) { translateTo(classGen, methodGen, (BooleanType) type); } else if (type == Type.Real) { translateTo(classGen, methodGen, (RealType) type); } else if (type == Type.Reference) { translateTo(classGen, methodGen, (ReferenceType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
/** * Translates an integer into an object of internal type <code>type</code>. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, final Type type) { if (type == Type.Real) { translateTo(classGen, methodGen, (RealType) type); } else if (type == Type.String) { translateTo(classGen, methodGen, (StringType) type); } else if (type == Type.Boolean) { translateTo(classGen, methodGen, (BooleanType) type); } else if (type == Type.Reference) { translateTo(classGen, methodGen, (ReferenceType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
/** * Translates a real into an object of internal type <code>type</code>. The * translation to int is undefined since reals are never converted to ints. * * @see org.apache.xalan.xsltc.compiler.util.Type#translateTo */ public void translateTo(ClassGenerator classGen, MethodGenerator methodGen, Type type) { if (type == Type.String) { translateTo(classGen, methodGen, (StringType) type); } else if (type == Type.Boolean) { translateTo(classGen, methodGen, (BooleanType) type); } else if (type == Type.Reference) { translateTo(classGen, methodGen, (ReferenceType) type); } else if (type == Type.Int) { translateTo(classGen, methodGen, (IntType) type); } else { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err); } }
toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err);
toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err);
toString(), type.toString()); classGen.getParser().reportError(Constants.FATAL, err);
ErrorMsg err = new ErrorMsg(ErrorMsg.INTERNAL_ERR, type.toString()); classGen.getParser().reportError(Constants.FATAL, err);
/** * Translates an external (Java) type denoted by <code>clazz</code> to * an object of this type. This method is used to translate return values * when external functions are called. */ public void translateFrom(ClassGenerator classGen, MethodGenerator methodGen, Class clazz) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, clazz.getClass().toString(), toString()); classGen.getParser().reportError(Constants.FATAL, err); }
/** * Translates an object of this type to its unboxed representation. */ public void translateUnBox(ClassGenerator classGen, MethodGenerator methodGen) { ErrorMsg err = new ErrorMsg(ErrorMsg.DATA_CONVERSION_ERR, "["+toString()+"]", toString()); classGen.getParser().reportError(Constants.FATAL, err); }