Community
Participate
Working Groups
Build Identifier: 201109192102 Description: Create a new RUIHandler file, define a string variable say aStr. When calling aStr.length(), a compile error happens. The error happens when js generator generates the statement. The direct cause of the error is that the org.eclipse.edt.gen.ReorganizeCode does not define visit(QualifiedFunctionInvocationImpl object) for type org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl -- Sample Code -- s String = "40"; function start() a int = s.length(); // Have compile error end -- Exceptions -- org.eclipse.edt.mof.codegen.api.TemplateException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:384) at org.eclipse.edt.mof.codegen.api.TemplateContext.invoke(TemplateContext.java:260) at org.eclipse.edt.gen.javascript.templates.StatementTemplate.genStatementNoBraces(StatementTemplate.java:30) at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.mof.codegen.api.TemplateContext.invoke(TemplateContext.java:260) at org.eclipse.edt.gen.javascript.templates.FunctionTemplate.genFunctionBody(FunctionTemplate.java:40) at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.mof.codegen.api.TemplateContext.invoke(TemplateContext.java:260) at org.eclipse.edt.gen.javascript.templates.FunctionTemplate.genDeclaration(FunctionTemplate.java:34) at sun.reflect.GeneratedMethodAccessor176.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.mof.codegen.api.TemplateContext.invoke(TemplateContext.java:260) at org.eclipse.edt.gen.javascript.templates.EGLClassTemplate.genFunction(EGLClassTemplate.java:308) at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:359) at org.eclipse.edt.gen.EglContext.invoke(EglContext.java:397) at org.eclipse.edt.gen.javascript.templates.EGLClassTemplate.genFunctions(EGLClassTemplate.java:302) at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.gen.EglContext.invoke(EglContext.java:397) at org.eclipse.edt.gen.javascript.templates.EGLClassTemplate.genClassBody(EGLClassTemplate.java:123) at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.gen.EglContext.invoke(EglContext.java:397) at org.eclipse.edt.gen.javascript.templates.PartTemplate.genPart(PartTemplate.java:42) at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) at org.eclipse.edt.gen.EglContext.invoke(EglContext.java:397) at org.eclipse.edt.gen.javascript.JavaScriptGenerator.generate(JavaScriptGenerator.java:80) at org.eclipse.edt.gen.AbstractGeneratorCommand.generate(AbstractGeneratorCommand.java:106) at org.eclipse.edt.ide.compiler.gen.JavaScriptGenerator.generate(JavaScriptGenerator.java:33) at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.invokeGenerators(GenerationQueue.java:264) at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.generate(GenerationQueue.java:192) at org.eclipse.edt.ide.core.internal.generation.GenerationQueue.generate(GenerationQueue.java:145) at org.eclipse.edt.ide.core.internal.generation.AbstractGenerator.build(AbstractGenerator.java:49) at org.eclipse.edt.ide.core.internal.generation.GenerationBuilder.incrementalBuild(GenerationBuilder.java:106) at org.eclipse.edt.ide.core.internal.generation.GenerationBuilder.build(GenerationBuilder.java:65) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.eclipse.edt.mof.impl.AbstractVisitor.invokeVisit(AbstractVisitor.java:122) at org.eclipse.edt.mof.impl.AbstractVisitor.primVisit(AbstractVisitor.java:92) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:206) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:230) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:230) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:243) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:230) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:243) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.mof.impl.InternalEObject.visitChildren(InternalEObject.java:230) at org.eclipse.edt.mof.impl.InternalEObject.accept(InternalEObject.java:208) at org.eclipse.edt.gen.ReorganizeCode.reorgCode(ReorganizeCode.java:69) at org.eclipse.edt.gen.javascript.templates.StatementBlockTemplate.processStatements(StatementBlockTemplate.java:48) at org.eclipse.edt.gen.javascript.templates.StatementBlockTemplate.genStatementBodyNoBraces(StatementBlockTemplate.java:37) at sun.reflect.GeneratedMethodAccessor72.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.codegen.api.TemplateContext.doInvoke(TemplateContext.java:357) ... 64 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.eclipse.edt.mof.impl.AbstractVisitor.invokeVisit(AbstractVisitor.java:119) ... 85 more Caused by: java.lang.RuntimeException: org.eclipse.edt.mof.egl.NoSuchFunctionError at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:53) at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:1) at org.eclipse.edt.gen.ReorganizeCode.processInvocationConstantParameters(ReorganizeCode.java:761) at org.eclipse.edt.gen.ReorganizeCode.processInvocation(ReorganizeCode.java:770) at org.eclipse.edt.gen.ReorganizeCode.visit(ReorganizeCode.java:745) ... 89 more Caused by: org.eclipse.edt.mof.egl.NoSuchFunctionError at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.resolveFunction(QualifiedFunctionInvocationImpl.java:123) at org.eclipse.edt.mof.egl.impl.QualifiedFunctionInvocationImpl.getTarget(QualifiedFunctionInvocationImpl.java:51) ... 93 more
This is working for me. Please reopen and route to Generation if the problem continues.
This was caused by me removing the .clone() call from JavaScriptAliaser for Functions. I've undone this and committed the correction.
Verified in 201110082101