<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 1: Incorrect OJC translation warning (?)</title><link>https://sourceforge.net/p/openjava/bugs/1/</link><description>Recent changes to 1: Incorrect OJC translation warning (?)</description><atom:link href="https://sourceforge.net/p/openjava/bugs/1/feed.rss" rel="self"/><language>en</language><lastBuildDate>Tue, 19 Mar 2002 13:34:33 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/openjava/bugs/1/feed.rss" rel="self" type="application/rss+xml"/><item><title>Incorrect OJC translation warning (?)</title><link>https://sourceforge.net/p/openjava/bugs/1/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Folks,&lt;/p&gt;
&lt;p&gt;I have another little bug with OJC. When translating a call to &lt;br /&gt;
Math.sqrt, if the argument is a float, it complains. I don't&lt;br /&gt;
think it should; the widening-cast from float to double should&lt;br /&gt;
be automatic, no? The original code certainly compiled and ran OK.&lt;/p&gt;
&lt;p&gt;It produces a warning, but appears to complete the translation OK.&lt;br /&gt;
So I guess the warnings are only a nuisance and I can ignore them&lt;br /&gt;
safely. But it floods my output a little bit (:-(&lt;/p&gt;
&lt;p&gt;Jim&lt;/p&gt;
&lt;p&gt;Here is a little test example and the output of running OJC on it,&lt;br /&gt;
slightly hand-edited to eliminate irrelevant stuff:&lt;/p&gt;
&lt;p&gt;************ Here is the source code that produces the problem&lt;/p&gt;
&lt;p&gt;package com.affinnova.EA.Core;&lt;/p&gt;
&lt;p&gt;public class Diddle instantiates openjava.mop.OJClass {&lt;/p&gt;
&lt;p&gt;public double fiddle(float f) {&lt;br /&gt;
return Math.sqrt(f);&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;********** Here is the run of OJC translating the above:&lt;/p&gt;
&lt;p&gt;C:\dev\coverage&amp;amp;gt;java openjava.ojc.Main Diddle.oj&lt;/p&gt;
&lt;p&gt;OpenJava Compiler Version 1.0a build 20011117&lt;br /&gt;
Generating parse tree.&lt;br /&gt;
..done.&lt;/p&gt;
&lt;p&gt;Initializing parse tree.&lt;br /&gt;
..done.&lt;/p&gt;
&lt;p&gt;Translating callee side&lt;br /&gt;
..done.&lt;/p&gt;
&lt;p&gt;Translating caller side&lt;br /&gt;
no such method sqrt(float) in class java.lang.Math&lt;br /&gt;
openjava.mop.NoSuchMemberException: method sqrt(float)&lt;br /&gt;
at openjava.ptree.MethodCall.getType(MethodCall.java:237)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.util.ExpansionApplier.getType(ExpansionApplier.java:64&lt;br /&gt;
)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.util.ExpansionApplier.evaluateUp(ExpansionApplier.java:&lt;br /&gt;
359)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:784)&lt;br /&gt;
at openjava.ptree.MethodCall.accept(MethodCall.java:183)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:838)&lt;br /&gt;
at openjava.ptree.ReturnStatement.accept(ReturnStatement.java:87)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:860)&lt;br /&gt;
at openjava.ptree.StatementList.accept(StatementList.java:135)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:794)&lt;br /&gt;
at openjava.ptree.MethodDeclaration.accept(MethodDeclaration.java:260)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:761)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.MemberDeclarationList.accept(MemberDeclarationList.jav&lt;br /&gt;
a:125)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:551)&lt;br /&gt;
at openjava.ptree.ClassDeclaration.accept(ClassDeclaration.java:296)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:562)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.ClassDeclarationList.accept(ClassDeclarationList.java:125)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:584)&lt;br /&gt;
at openjava.ptree.CompilationUnit.accept(CompilationUnit.java:195)&lt;br /&gt;
at openjava.ojc.Compiler.translateCallerSide(Compiler.java:483)&lt;br /&gt;
at openjava.ojc.Compiler.run(Compiler.java:77)&lt;br /&gt;
at openjava.ojc.Main.main(Main.java:37)&lt;br /&gt;
Encountered errors during translating caller side.&lt;br /&gt;
openjava.ptree.ParseTreeException: method sqrt(float)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.util.ExpansionApplier.getType(ExpansionApplier.java:67&lt;br /&gt;
)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.util.ExpansionApplier.evaluateUp(ExpansionApplier.java:&lt;br /&gt;
359)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:784)&lt;br /&gt;
at openjava.ptree.MethodCall.accept(MethodCall.java:183)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:838)&lt;br /&gt;
at openjava.ptree.ReturnStatement.accept(ReturnStatement.java:87)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:860)&lt;br /&gt;
at openjava.ptree.StatementList.accept(StatementList.java:135)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:794)&lt;br /&gt;
at openjava.ptree.MethodDeclaration.accept(MethodDeclaration.java:260)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:761)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.MemberDeclarationList.accept(MemberDeclarationList.jav&lt;br /&gt;
a:125)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:551)&lt;br /&gt;
at openjava.ptree.ClassDeclaration.accept(ClassDeclaration.java:296)&lt;br /&gt;
at openjava.ptree.List.childrenAccept(List.java:258)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:562)&lt;br /&gt;
at &lt;br /&gt;
openjava.ptree.ClassDeclarationList.accept(ClassDeclarationList.java:125)&lt;br /&gt;
at openjava.ptree.NonLeaf.childrenAccept(NonLeaf.java:397)&lt;br /&gt;
at openjava.ptree.util.EvaluationShuttle.visit(EvaluationShuttle.java:584)&lt;br /&gt;
at openjava.ptree.CompilationUnit.accept(CompilationUnit.java:195)&lt;br /&gt;
at openjava.ojc.Compiler.translateCallerSide(Compiler.java:483)&lt;br /&gt;
at openjava.ojc.Compiler.run(Compiler.java:77)&lt;br /&gt;
at openjava.ojc.Main.main(Main.java:37)&lt;br /&gt;
..done.&lt;/p&gt;
&lt;p&gt;Printing parse tree.&lt;br /&gt;
..done.&lt;/p&gt;
&lt;p&gt;Compiling into bytecode.&lt;br /&gt;
..done.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Michiaki Tatsubori</dc:creator><pubDate>Tue, 19 Mar 2002 13:34:33 -0000</pubDate><guid>https://sourceforge.net3e71863b97cbfc3c422f4efc7eb891d4a49c4be9</guid></item></channel></rss>