FWIW, it’s somehow related to MouseEvent in an internal class inside
TextContainerManager. I fully qualified the type as
org.apache.flex.events.MouseEvent, and the error went away.
This causes the error:
// remap the mouse event for processing inside TLF. This is just the initial
click. Make it as if the event was on the container and not the textline
class RemappedMouseEvent extends org.apache.flex.events.MouseEvent
{
private var _event:MouseEvent;
public function
RemappedMouseEvent(event:org.apache.flex.events.MouseEvent)
{
var containerPoint:Point;
containerPoint = new Point();
/* event.commandKey,event.controlKey,event.clickCount are also
supported in AIR. IMHO they are a nonissue for the initial click */
super(event.type,event.bubbles,event.cancelable,containerPoint.x,containerPoint.y,event.relatedObject,event.ctrlKey,event.altKey,event.shiftKey,event.buttonDown,event.delta);
_event = event;
}
}
Doing this makes the error go away:
private var _event:org.apache.flex.events.MouseEvent;
(There is an import of org.apache.flex.events.MouseEvent further up.)
> On Mar 6, 2017, at 6:36 PM, Harbs <[email protected]> wrote:
>
> I’m currently only compiling for js (primarily because it allows me to focus
> on what I currently care about) if that makes a difference.
>
> Here’s my current output:
>
> https://paste.apache.org/YwCz <https://paste.apache.org/YwCz>
>
>> On Mar 6, 2017, at 5:57 PM, Alex Harui <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>> Is this happening during the cross-compile?
>>
>> If so, the dual branch may suppress these issues as well. The
>> ABCGenerator is asked to run even during cross-compiles to catch certain
>> kinds of errors, but then might fail in other situations that we don't
>> care about.
>>
>> -Alex
>>
>> On 3/6/17, 6:01 AM, "Harbs" <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>> Anyone have an idea what this error might be?
>>>
>>> [compc]
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/text_engine/frameworks/t
>>> lf/src/org/apache/flex/textLayout/container/TextContainerManager.as
>>> Error: Internal error in ABC generator subsystem, when generating code
>>> for:
>>> /Users/harbs/Documents/git/PrintUI/printui-flexjs/text_engine/frameworks/t
>>> lf/src/org/apache/flex/textLayout/container/TextContainerManager.as:
>>> java.lang.NullPointerException
>>> [compc] at
>>> org.apache.flex.compiler.internal.projects.FlexProject.doubleCheckAmbiguou
>>> sDefinition(FlexProject.java:2152)
>>> [compc] at
>>> org.apache.flex.compiler.internal.scopes.ASScopeCache.findProperty(ASScope
>>> Cache.java:173)
>>> [compc] at
>>> org.apache.flex.compiler.internal.scopes.ASScope.findProperty(ASScope.java
>>> :1428)
>>> [compc] at
>>> org.apache.flex.compiler.internal.definitions.references.LexicalReference.
>>> resolve(LexicalReference.java:71)
>>> [compc] at
>>> org.apache.flex.compiler.internal.definitions.DefinitionBase.resolveType(D
>>> efinitionBase.java:1054)
>>> [compc] at
>>> org.apache.flex.compiler.internal.definitions.DefinitionBase.resolveType(D
>>> efinitionBase.java:1094)
>>> [compc] at
>>> org.apache.flex.compiler.internal.definitions.DefinitionBase.resolveType(D
>>> efinitionBase.java:876)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.ClassDirectiveProcessor.decla
>>> reVariable(ClassDirectiveProcessor.java:1166)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNod
>>> e(DirectiveProcessor.java:226)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(D
>>> irectiveProcessor.java:188)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.decl
>>> areClass(GlobalDirectiveProcessor.java:429)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNod
>>> e(DirectiveProcessor.java:206)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(D
>>> irectiveProcessor.java:188)
>>> [compc] at
>>> org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(ABCGene
>>> rator.java:122)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.ASCompilationUnit.handleABCBytesRe
>>> quest(ASCompilationUnit.java:389)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCByte
>>> sRequest(CompilationUnitBase.java:873)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase.access$300(Com
>>> pilationUnitBase.java:108)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(Compi
>>> lationUnitBase.java:310)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(Compi
>>> lationUnitBase.java:306)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(Reque
>>> stMaker.java:228)
>>> [compc] at
>>> org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(Reque
>>> stMaker.java:222)
>>> [compc] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>>> [compc] at
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
>>> 1142)
>>> [compc] at
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java
>>> :617)
>>> [compc] at java.lang.Thread.run(Thread.java:745)
>>>
>>> If I would have to guess, it would be coming from this code:
>>> public override function dispatchEvent(event:Event):Boolean
>>> {
>>> if (event.type == DamageEvent.DAMAGE)
>>> {
>>> _textDamaged = true;
>>> if (_composeState == COMPOSE_FACTORY)
>>> _damaged = true;
>>> }
>>> else if (event.type ==
>>> FlowOperationEvent.FLOW_OPERATION_BEGIN)
>>> {
>>> //TODO fix mouseChildren
>>> // if (_container.mouseChildren == false)
>>> // _container.mouseChildren = true;
>>> }
>>> var result:Boolean = super.dispatchEvent(event);
>>> if (!result)
>>> event.preventDefault();
>>> return result;
>>> }
>>>
>>>
>>
>