Hey, I'm using the head of GCC code base and I think I might be using some API that is not in the closure.jar that is downloaded in FalconJX right now.
Plus I need to do some refactoring. I have some hacks on some classes like the missing.js but we said, hey good enough is good enough right now and it works. Once we get it integrated, I don't see any reason why people can't start using the JS.SWC with FlexJS code now. It's funny, this whole tangent started with me trying to get FlexJS javascript you were writing eradicated. :) Oh yeah, remember that error I told you about when we were trying to get Randori to compile the builtin SWC, I found the error, so there is a fix I have to apply to ClassDirective, that was looking for a superclass and it was null, well the null is the Object class I have included. SO I check for null and it started compiling. So maybe tomorrow or early Friday I can get this in, my day tomorrow is pretty much busy. Don't know if this will work in FlashBuilder but IntelliJ it does. :) But it's just a SWC so hopefully there isn't a problem. Mike On Tue, Jun 9, 2015 at 3:14 PM, Alex Harui <aha...@adobe.com> wrote: > 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" <teotigraphix...@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 > ><teotigraphix...@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 > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >