I just ran into another issue.
I’m not sure why dual would have changed this, but I’m now getting an
(erroneous) error when trying to use Promises:
Incorrect number of arguments. Expected no more than 0
return new Promise(function(resolve:*,reject:*):void{
^
> On Jun 1, 2017, at 10:39 AM, Harbs <[email protected]> wrote:
>
> My bad. I accidentally overwrote my copy of BasicJS.swc.
>
> After fixing some issues, I got my app to run using the latest dual changes.
>
> All in all, switching to dual went a lot better than I expected.
>
> Great work, Alex!
>
> I think the switch to the dual approach was the right one. There’s still
> probably some rough edges to improve, but it’s definitely usable.
>
> Thanks,
> Harbs
>
>> On Jun 1, 2017, at 5:57 AM, Harbs <[email protected]> wrote:
>>
>> Another weird issue:
>>
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/PortedPrintUI/src/com/printui/dummy/view/Image.as(12):
>>> col: 15 interface method imageElement in interface IImage not implemented
>>> by class Image
>>>
>>> public class Image extends BinaryImage
>>> ^
>>>
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/PortedPrintUI/src/com/printui/dummy/view/Image.as(12):
>>> col: 15 interface method applyImageData in interface IImage not
>>> implemented by class Image
>>>
>>> public class Image extends BinaryImage
>>>
>>
>> org.apache.flex.html.BinaryImage which in tern subclasses
>> org.apache.flex.html.Image. org.apache.flex.html.Image implements these two
>> methods. I figured the compiler might be getting confused by the fact that
>> Image is named the same as an ancestor class, so I changed the name and I'm
>> getting the same error in additon to a null pointer error:
>>
>>>
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/PortedPrintUI/src/com/printui/dummy/view/PUIImage.as(12):
>>> col: 15 interface method imageElement in interface IImage not implemented
>>> by class PUIImage
>>>
>>> public class PUIImage extends BinaryImage
>>> ^
>>>
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/PortedPrintUI/src/com/printui/dummy/view/PUIImage.as(12):
>>> col: 15 interface method applyImageData in interface IImage not
>>> implemented by class PUIImage
>>>
>>> public class PUIImage extends BinaryImage
>>> ^
>>>
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/PortedPrintUI/src/com/printui/view/components/DesignAreaComponents/drawnObjects/ImageObject.as(59):
>>> col: 3 java.lang.NullPointerException
>>> at
>>> org.apache.flex.compiler.internal.projects.FlexProject.isValidTypeConversion(FlexProject.java:2304)
>>> at
>>> org.apache.flex.compiler.internal.semantics.MethodBodySemanticChecker.checkImplicitConversion(MethodBodySemanticChecker.java:564)
>>> at
>>> org.apache.flex.compiler.internal.semantics.MethodBodySemanticChecker.checkImplicitConversion(MethodBodySemanticChecker.java:374)
>>> at
>>> org.apache.flex.compiler.internal.semantics.MethodBodySemanticChecker.checkAssignment(MethodBodySemanticChecker.java:246)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGeneratingReducer.reduce_assignToNameExpr_to_void_expression(ABCGeneratingReducer.java:2947)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.action_237(CmcEmitter.java:4451)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.dispatchAction(CmcEmitter.java:8067)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39127)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.dispatchAction(CmcEmitter.java:9362)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39127)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduce(CmcEmitter.java:39104)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceSubgoals(CmcEmitter.java:39155)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39126)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduce(CmcEmitter.java:39104)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceSubgoals(CmcEmitter.java:39146)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduceAntecedent(CmcEmitter.java:39126)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.reduce(CmcEmitter.java:39104)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.burm(CmcEmitter.java:39406)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateInstructions(ABCGenerator.java:228)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateMethodBodyForFunction(ABCGenerator.java:393)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateMethodBodyForFunction(ABCGenerator.java:347)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generateFunction(ABCGenerator.java:262)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ClassDirectiveProcessor.finishClassDefinition(ClassDirectiveProcessor.java:639)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareClass(GlobalDirectiveProcessor.java:430)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:206)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declarePackage(GlobalDirectiveProcessor.java:455)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:223)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188)
>>> at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(ABCGenerator.java:122)
>>> at
>>> org.apache.flex.compiler.internal.units.ASCompilationUnit.handleABCBytesRequest(ASCompilationUnit.java:389)
>>> at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:876)
>>> at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase.access$300(CompilationUnitBase.java:109)
>>> at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:313)
>>> at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:309)
>>> at
>>> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
>>> at
>>> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222)
>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>>> at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>>> at java.lang.Thread.run(Thread.java:745)
>>
>>
>> Any suggestions?
>>
>>> On Jun 1, 2017, at 12:38 AM, Harbs <[email protected]> wrote:
>>>
>>> I just switched to dual and I’m getting lots of errors. These errors seem
>>> to be exactly what I was afraid of, and I’m not sure how to resolve without
>>> being restricted by naming of properties and methods.
>>>
>>> 1. I’m using a mask setter and getter for images it’s now giving override
>>> errors.
>>> 2. contains() is an incompatible override.
>>> 3. scaleX and scaleY
>>> 4. blendMode
>>> 5. rotation
>>> 6. filters
>>> 7. mouseEnabled
>>> etc….
>>>
>>> I thought there was supposed to be something built into the compiler to
>>> hide the flash-specific APIs and allow reuse of them.
>>>
>>> Am I missing something?
>>>
>>> Thanks,
>>> Harbs
>>
>