flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Harui <aha...@adobe.com>
Subject Re: [FalconJX] Vanilla compiler, all externs parsing and contained in SWC :)
Date Tue, 09 Jun 2015 19:14:51 GMT
Freakin’ awesome!  Can you check it in so I can try to integrate it into
the builds?

-Alex

On 6/9/15, 11:20 AM, "Michael Schmalle" <teotigraphixllc@gmail.com> wrote:

>Oh yeah, here is the class list;
>
>AlphaFilter.as
>AlphaImageLoaderFilter.as
>ANGLE_instanced_arrays.as
>Arguments.as
>Array.as
>ArrayBuffer.as
>ArrayBufferView.as
>Attr.as
>Audio.as
>AudioBuffer.as
>AudioBufferSourceNode.as
>AudioChannelMerger.as
>AudioChannelSplitter.as
>AudioContext.as
>AudioDestinationNode.as
>AudioGain.as
>AudioListener.as
>AudioNode.as
>AudioPannerNode.as
>AudioParam.as
>AudioProcessingEvent.as
>AudioSourceNode.as
>BatteryManager.as
>BiquadFilterNode.as
>Blob.as
>BlobBuilder.as
>Boolean.as
>BoxObject.as
>BufferSource.as
>CanvasGradient.as
>CanvasPattern.as
>CanvasPixelArray.as
>CanvasRenderingContext2D.as
>CaretPosition.as
>CDATASection.as
>CharacterData.as
>chrome.as
>ChromeBooleanEvent.as
>ChromeCsiInfo.as
>ChromeEvent.as
>ChromeLoadTimes.as
>ChromeNumberEvent.as
>ChromeObjectEvent.as
>ChromeStringArrayEvent.as
>ChromeStringEvent.as
>ChromeStringStringEvent.as
>ClientInformation.as
>ClientRect.as
>ClientRectList.as
>ClipboardData.as
>Comment.as
>Console.as
>ControlRange.as
>ConvolverNode.as
>Counter.as
>CSSCharsetRule.as
>CSSFontFaceRule.as
>CSSImportRule.as
>CSSInterface.as
>CSSMatrix.as
>CSSMediaRule.as
>CSSPageRule.as
>CSSPrimitiveValue.as
>CSSProperties.as
>CSSRule.as
>CSSRuleList.as
>CSSStyleDeclaration.as
>CSSStyleRule.as
>CSSStyleSheet.as
>CSSUnknownRule.as
>CSSValue.as
>CSSValueList.as
>CustomEvent.as
>CustomEventInit.as
>Database.as
>DatabaseCallback.as
>DataTransfer.as
>DataTransferItem.as
>DataTransferItemList.as
>DataView.as
>Date.as
>DedicatedWorkerGlobalScope.as
>DelayNode.as
>DeviceAcceleration.as
>DeviceMotionEvent.as
>DeviceOrientationEvent.as
>DeviceRotationRate.as
>DirectoryEntry.as
>DirectoryReader.as
>Document.as
>DocumentCSS.as
>DocumentEvent.as
>DocumentFragment.as
>DocumentRange.as
>DocumentStyle.as
>DocumentType.as
>DOMApplicationCache.as
>DOMConfiguration.as
>DOMError.as
>DOMErrorHandler.as
>DOMException.as
>DOMImplementation.as
>DOMImplementationCSS.as
>DOMImplementationList.as
>DOMImplementationSource.as
>DOMLocator.as
>DOMStringList.as
>DOMTokenList.as
>DOMURL.as
>DragEvent.as
>DynamicsCompressorNode.as
>Element.as
>ElementCSSInlineStyle.as
>Entity.as
>EntityReference.as
>Entry.as
>Error.as
>ErrorEvent.as
>ErrorEventInit.as
>EvalError.as
>Event.as
>EventInit.as
>EventListener.as
>EventTarget.as
>ExceptionCode.as
>EXT_texture_filter_anisotropic.as
>ExtendableEvent.as
>File.as
>FileEntry.as
>FileError.as
>FileList.as
>FileReader.as
>FileSaver.as
>FileSystem.as
>FileWriter.as
>Float32Array.as
>Float64Array.as
>FontFace.as
>FontFaceDescriptors.as
>FontFaceLoadStatus.as
>FontFaceSet.as
>FontFaceSetLoadStatus.as
>FormData.as
>Function.as
>GainNode.as
>Generator.as
>Geolocation.as
>GeolocationCoordinates.as
>GeolocationPosition.as
>GeolocationPositionError.as
>GeolocationPositionOptions.as
>GestureEvent.as
>HashChangeEvent.as
>History.as
>HTMLAnchorElement.as
>HTMLAppletElement.as
>HTMLAreaElement.as
>HTMLAudioElement.as
>HTMLBaseElement.as
>HTMLBaseFontElement.as
>HTMLBodyElement.as
>HTMLBRElement.as
>HTMLButtonElement.as
>HTMLCanvasElement.as
>HTMLCollection.as
>HTMLContentElement.as
>HTMLDetailsElement.as
>HTMLDialogElement.as
>HTMLDirectoryElement.as
>HTMLDivElement.as
>HTMLDListElement.as
>HTMLDocument.as
>HTMLElement.as
>HTMLEmbedElement.as
>HTMLFieldSetElement.as
>HTMLFilter.as
>HTMLFiltersCollection.as
>HTMLFontElement.as
>HTMLFormElement.as
>HTMLFrameElement.as
>HTMLFrameSetElement.as
>HTMLHeadElement.as
>HTMLHeadingElement.as
>HTMLHRElement.as
>HTMLHtmlElement.as
>HTMLIFrameElement.as
>HTMLImageElement.as
>HTMLInputElement.as
>HTMLIsIndexElement.as
>HTMLLabelElement.as
>HTMLLegendElement.as
>HTMLLIElement.as
>HTMLLinkElement.as
>HTMLMapElement.as
>HTMLMediaElement.as
>HTMLMenuElement.as
>HTMLMenuItemElement.as
>HTMLMetaElement.as
>HTMLModElement.as
>HTMLObjectElement.as
>HTMLOListElement.as
>HTMLOptGroupElement.as
>HTMLOptionElement.as
>HTMLOptionsCollection.as
>HTMLParagraphElement.as
>HTMLParamElement.as
>HTMLPictureElement.as
>HTMLPreElement.as
>HTMLQuoteElement.as
>HTMLScriptElement.as
>HTMLSelectElement.as
>HTMLShadowElement.as
>HTMLSourceElement.as
>HTMLSpanElement.as
>HTMLStyleElement.as
>HTMLTableCaptionElement.as
>HTMLTableCellElement.as
>HTMLTableColElement.as
>HTMLTableElement.as
>HTMLTableRowElement.as
>HTMLTableSectionElement.as
>HTMLTemplateElement.as
>HTMLTextAreaElement.as
>HTMLTitleElement.as
>HTMLUListElement.as
>HTMLVideoElement.as
>IceCandidate.as
>IDBCursor.as
>IDBCursorWithValue.as
>IDBDatabase.as
>IDBDatabaseException.as
>IDBFactory.as
>IDBIndex.as
>IDBKeyRange.as
>IDBKeyType.as
>IDBObjectStore.as
>IDBOpenDBRequest.as
>IDBRequest.as
>IDBTransaction.as
>IDBVersionChangeEvent.as
>Image.as
>ImageData.as
>int.as
>Int8Array.as
>Int16Array.as
>Int32Array.as
>Iterable.as
>Iterator.as
>JavaScriptAudioNode.as
>JSONType.as
>KeyboardEvent.as
>KeyboardEventInit.as
>LinkStyle.as
>LocalFileSystem.as
>Location.as
>Math.as
>MediaConstraints.as
>MediaConstraintSet_.as
>MediaConstraintSetInterface_.as
>MediaConstraintsInterface_.as
>MediaElementAudioSourceNode.as
>MediaError.as
>MediaList.as
>MediaQueryList.as
>MediaQueryListListener.as
>MediaStream.as
>MediaStreamAudioDestinationNode.as
>MediaStreamAudioSourceNode.as
>MediaStreamConstraints.as
>MediaStreamConstraintsInterface_.as
>MediaStreamEvent.as
>MediaStreamTrack.as
>MediaStreamTrackEvent.as
>MediaStreamTrackState.as
>MediaTrackConstraints.as
>MediaTrackConstraintSet.as
>MediaTrackConstraintSetInterface_.as
>MediaTrackConstraintsInterface_.as
>MemoryInfo.as
>MessageChannel.as
>MessageEvent.as
>MessagePort.as
>MessageSender.as
>Metadata.as
>MimeType.as
>MimeTypeArray.as
>MouseEvent.as
>MouseEventInit.as
>MSCSSMatrix.as
>MutationEvent.as
>MutationObserver.as
>MutationObserverInit.as
>MutationRecord.as
>NamedNodeMap.as
>NameList.as
>Navigator.as
>NavigatorUserMediaError.as
>Node.as
>NodeFilter.as
>NodeIterator.as
>NodeList.as
>Notation.as
>Notification.as
>NotificationCenter.as
>NotificationEvent.as
>NotificationOptions.as
>NotificationPermissionCallback.as
>Number.as
>Object.as
>ObjectPropertyDescriptor.as
>OES_depth_texture.as
>OES_element_index_uint.as
>OES_standard_derivatives.as
>OES_texture_float.as
>OES_texture_half_float.as
>OES_vertex_array_object.as
>OfflineAudioCompletionEvent.as
>OfflineAudioContext.as
>OscillatorNode.as
>PageTransitionEvent.as
>Performance.as
>PerformanceEntry.as
>PerformanceMemory.as
>PerformanceNavigation.as
>PerformanceResourceTiming.as
>PerformanceTiming.as
>PeriodicWave.as
>Plugin.as
>PluginArray.as
>PopStateEvent.as
>Port.as
>ProcessingInstruction.as
>ProgressEvent.as
>ProgressEventInit.as
>Promise.as
>Range.as
>RangeError.as
>RangeException.as
>RealtimeAnalyserNode.as
>Rect.as
>ReferenceError.as
>RegExp.as
>RelatedEvent.as
>RGBColor.as
>RTCConfiguration.as
>RTCConfigurationInterface_.as
>RTCConfigurationRecord_.as
>RTCDataChannel.as
>RTCDataChannelEvent.as
>RTCDataChannelInit.as
>RTCDataChannelInitInterface_.as
>RTCDataChannelInitRecord_.as
>RTCIceCandidate.as
>RTCIceConnectionState.as
>RTCIceGatheringState.as
>RTCIceServer.as
>RTCIceServerInterface_.as
>RTCIceServerRecord_.as
>RTCPeerConnection.as
>RTCPeerConnectionErrorCallback.as
>RTCPeerConnectionIceEvent.as
>RTCSdpType.as
>RTCSessionDescription.as
>RTCSessionDescriptionCallback.as
>RTCSignalingState.as
>RTCStatsCallback.as
>RTCStatsElement.as
>RTCStatsReport.as
>RTCStatsResponse.as
>RTCVoidCallback.as
>Screen.as
>ScriptProcessorNode.as
>ScriptProfile.as
>ScriptProfileNode.as
>Selection.as
>ShadowRoot.as
>SharedWorker.as
>SharedWorkerGlobalScope.as
>SourceInfo.as
>SQLError.as
>SQLResultSet.as
>SQLResultSetRowList.as
>SQLStatementCallback.as
>SQLTransaction.as
>StereoPannerNode.as
>Storage.as
>StorageEvent.as
>StorageInfo.as
>StorageQuota.as
>String.as
>StyleSheet.as
>StyleSheetList.as
>symbol.as
>SyntaxError.as
>Tab.as
>Text.as
>TextDecoder.as
>TextEncoder.as
>TextMetrics.as
>TextRange.as
>TextTrack.as
>TextTrackCue.as
>TextTrackCueList.as
>TextTrackList.as
>Thenable.as
>TimeRanges.as
>Touch.as
>TouchEvent.as
>TouchList.as
>Transferable.as
>TraversalDocument.as
>TreeWalker.as
>TypeError.as
>TypeInfo.as
>UIEvent.as
>UIEventInit.as
>uint.as
>Uint8Array.as
>Uint8ClampedArray.as
>Uint16Array.as
>Uint32Array.as
>URIError.as
>URL.as
>UserDataHandler.as
>ValidityState.as
>VideoPlaybackQuality.as
>ViewCSS.as
>VisibilityState.as
>VTTCue.as
>WaveShaperNode.as
>WaveTable.as
>WEBGL_compressed_texture_s3tc.as
>WEBGL_debug_renderer_info.as
>WEBGL_debug_shaders.as
>WEBGL_lose_context.as
>WebGLActiveInfo.as
>WebGLBuffer.as
>WebGLContextAttributes.as
>WebGLContextEvent.as
>WebGLFramebuffer.as
>WebGLObject.as
>WebGLProgram.as
>WebGLRenderbuffer.as
>WebGLRenderingContext.as
>WebGLShader.as
>WebGLShaderPrecisionFormat.as
>WebGLTexture.as
>WebGLUniformLocation.as
>WebGLVertexArrayObjectOES.as
>WebKitAnimationEvent.as
>webkitAudioContext.as
>webkitAudioPannerNode.as
>WebKitBlobBuilder.as
>WebKitCSSMatrix.as
>webkitIDBCursor.as
>webkitIDBDatabaseException.as
>webkitIDBKeyRange.as
>webkitIDBRequest.as
>webkitIDBTransaction.as
>webkitIDBVersionChangeEvent.as
>webkitOfflineAudioContext.as
>WebKitPoint.as
>webkitURL.as
>WebSocket.as
>WebWorker.as
>WheelEvent.as
>WheelEventInit.as
>Window.as
>WindowLocalStorage.as
>WindowSessionStorage.as
>Worker.as
>WorkerGlobalScope.as
>WorkerLocation.as
>XDomainRequest.as
>XMLDOMDocument.as
>XMLHttpRequest.as
>XMLHttpRequestEventTarget.as
>XMLHttpRequestUpload.as
>XPathEvaluator.as
>XPathException.as
>XPathExpression.as
>XPathNamespace.as
>XPathNSResolver.as
>XPathResult.as
>
>
>On Tue, Jun 9, 2015 at 2:20 PM, Michael Schmalle
><teotigraphixllc@gmail.com>
>wrote:
>
>> Hey,
>>
>> Well I spent the whole day getting this working and did a Web Audio
>> experiment as well! Wow, code completion in class form for Audio apps, I
>> think I am hooked. :)
>>
>> 1. AS
>> 2 .JS (around a 2M SWC for everything)
>> 3. List of classes currently compiled
>>
>> This thing is pretty stable compiling this mess of JS in all the files
>> below.
>>
>> WebGL and HTML5 is in there as well. :)
>>
>> Mike
>>
>>
>> -------------------------------------------------------------
>> Extern Libs in SWC
>> -------------------------------------------------------------
>>
>> model.addExternal("es3");
>> model.addExternal("es5");
>> model.addExternal("es6");
>>
>> model.addExternal("w3c_anim_timing");
>> model.addExternal("w3c_audio");
>> model.addExternal("w3c_batterystatus");
>> model.addExternal("w3c_css");
>> model.addExternal("w3c_css3d");
>> model.addExternal("w3c_device_sensor_event");
>> model.addExternal("w3c_dom1");
>> model.addExternal("w3c_dom2");
>> model.addExternal("w3c_dom3");
>> model.addExternal("w3c_elementtraversal");
>> model.addExternal("w3c_encoding");
>> model.addExternal("w3c_event");
>> model.addExternal("w3c_event3");
>> model.addExternal("w3c_geolocation");
>> model.addExternal("w3c_indexeddb");
>> model.addExternal("w3c_navigation_timing");
>> model.addExternal("w3c_range");
>> model.addExternal("w3c_rtc");
>> model.addExternal("w3c_selectors");
>> //model.addExternal("w3c_serviceworker");
>> //model.addExternal("w3c_webcrypto");
>> model.addExternal("w3c_xml");
>>
>>         //model.addExternal("fetchapi");
>>
>> model.addExternal("window");
>>
>> model.addExternal("ie_dom");
>> model.addExternal("gecko_dom");
>>
>> model.addExternal("webkit_css");
>> model.addExternal("webkit_dom");
>> model.addExternal("webkit_event");
>> model.addExternal("webkit_notifications");
>>
>> model.addExternal("iphone");
>> model.addExternal("chrome");
>> model.addExternal("flash");
>>
>> model.addExternal("page_visibility");
>> model.addExternal("fileapi");
>> model.addExternal("html5");
>>
>>     model.addExternal("webgl");
>> model.addExternal("webstorage");
>>
>>
>>
>>
>> -------------------------------------------------------------
>> AS
>> -------------------------------------------------------------
>>
>> package
>> {
>>
>> import ui.ButtonFactory;
>>
>> public class Main
>> {
>>     public var factory:ButtonFactory;
>>
>>     private var _audioContext:AudioContext;
>>     private var sound:ArrayBuffer;
>>
>>     public function Main()
>>     {
>>         factory = new ButtonFactory();
>>
>>         var button:Element = factory.createButton(function ():void {
>>             button.textContent = "Say Hello FalconJX!";
>>             window.alert("Hello browser from FalconJX!");
>>         });
>>         button.textContent = "Say Hello";
>>         document.body.appendChild(button);
>>
>>         var n:Number = Math.ceil(420);
>>         button.tabIndex = 1;
>>         //ButtonFactory.foo();
>>
>>         var t:Touch = new Touch();
>>         t.pageY = 3;
>>
>>         var context:AudioContext;
>>         try {
>>             _audioContext  = new AudioContext();
>>         }
>>         catch (e:Error) {
>>             alert('Web Audio API is not supported in this browser')
>>         }
>>
>>         loadSound('/foo/bark.wav');
>>     }
>>
>>     private function loadSound(url:String):void
>>     {
>>         var request:XMLHttpRequest = new XMLHttpRequest();
>>         request.open('GET', url, true);
>>         request.responseType = 'arraybuffer';
>>
>>         // Decode async
>>         request['onload'] = function () {
>>             _audioContext.decodeAudioData(request.response,
>>                                           function
>> (buffer:ArrayBuffer):void {
>>                 sound = buffer;
>>                 playSound();
>>             }, onError);
>>         };
>>
>>         request.send();
>>     }
>>
>>     private function playSound():void
>>     {
>>         var source:AudioBufferSourceNode =
>> _audioContext.createBufferSource();
>>         source.connect(_audioContext.destination);
>>         source.start(0);
>>     }
>>
>>     private function onError():void
>>     {
>>
>>     }
>> }
>>
>>
>>
>> -------------------------------------------------------------
>> JS
>> -------------------------------------------------------------
>>
>>
>> /**
>>  * Main
>>  *
>>  * @fileoverview
>>  *
>>  * @suppress {checkTypes}
>>  */
>>
>> goog.provide('Main');
>>
>> goog.require('org_apache_flex_utils_Language');
>>
>>
>>
>> /**
>>  * @constructor
>>  */
>> Main = function() {
>>   var self = this;
>>   this.factory = new ui_ButtonFactory();
>>   var /** @type {Element} */ button =
>>this.factory.createButton(function()
>> {
>>     button.textContent = "Say Hello FalconJX!";
>>     window.alert("Hello browser from FalconJX!");
>>   });
>>   button.textContent = "Say Hello";
>>   document.body.appendChild(button);
>>   var /** @type {number} */ n = Math.ceil(420);
>>   button.tabIndex = 1;
>>   var /** @type {Touch} */ t = new Touch();
>>   t.pageY = 3;
>>   var /** @type {AudioContext} */ context;
>>   try {
>>     this._audioContext = new AudioContext();
>>   } catch (e) {
>>     alert('Web Audio API is not supported in this browser');
>>   }
>>   this.loadSound('/foo/bark.wav');
>> };
>>
>>
>> /**
>>  * @expose
>>  * @type {ui_ButtonFactory}
>>  */
>> Main.prototype.factory;
>>
>>
>> /**
>>  * @private
>>  * @type {AudioContext}
>>  */
>> Main.prototype._audioContext;
>>
>>
>> /**
>>  * @private
>>  * @type {ArrayBuffer}
>>  */
>> Main.prototype.sound;
>>
>>
>> /**
>>  * @private
>>  * @param {string} url
>>  */
>> Main.prototype.loadSound = function(url) {
>>   var self = this;
>>   var /** @type {XMLHttpRequest} */ request = new XMLHttpRequest();
>>   request.open('GET', url, true);
>>   request.responseType = 'arraybuffer';
>>   request['onload'] = function() {
>>     self._audioContext.decodeAudioData(request.response,
>>function(buffer) {
>>       self.sound = buffer;
>>       self.playSound();
>>     }, goog.bind(self.onError, this));
>>   };
>>   request.send();
>> };
>>
>>
>> /**
>>  * @private
>>  */
>> Main.prototype.playSound = function() {
>>   var /** @type {AudioBufferSourceNode} */ source =
>> this._audioContext.createBufferSource();
>>   source.connect(this._audioContext.destination);
>>   source.start(0);
>> };
>>
>>
>> /**
>>  * @private
>>  */
>> Main.prototype.onError = function() {
>> };
>>
>>
>> /**
>>  * Metadata
>>  *
>>  * @type {Object.<string, Array.<Object>>}
>>  */
>> Main.prototype.FLEXJS_CLASS_INFO = { names: [{ name: 'Main', qName:
>> 'Main'}] };
>>
>>
>>
>>
>>
>> Mike
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

Mime
View raw message