Comments (6)
I've finally gotten through my two crunch-weeks at work and got time to get back working on IronJS, I'll look into this ASAP and make sure we fix it within the next few days.
from ironjs.
So, the source of coffeescript says this:
if scope.expressions is this
if o.scope.hasDeclarations()
code += "#{@tab}var #{ scope.declaredVariables().join(', ') };\n"
The issue is certainly that o.scope.hasDeclarations()
is returning a false positive. (not that there is a bug in CoffeeScript...)
The definitions of these in the coffeestript source is something like:
a.prototype.hasDeclarations = function () {
return !!this.declaredVariables().length
}, a.prototype.declaredVariables = function () {
var a, b, c, d, e, f;
a = [], b = [], f = this.variables;
for (d = 0, e = f.length; d < e; d++) c = f[d], c.type === "var" && (c.name.charAt(0) === "_" ? b : a).push(c.name);
return a.sort().concat(b.sort())
}
My bet is on sort
or concat
causing issues. Not sure yet.
from ironjs.
Thanks for tracking this down @otac0n, i'm suspecting that there's something going on in that for-loop that isn't kosher with the IronJS parser (just saying, the bug is obviously in IronJS no doubt).
I'm betting either on sort
and concat
or some of the logic inside the loop.
from ironjs.
var a = [];
var b = [];
a.concat(b).length;
returns 1.
At this point, I'm almost certain that it is the concat
function.
from ironjs.
This problem is fixed in 34584ac.
@otac0n: Thanks for locating the source function, finding the exact bug was easy once I knew where to look.
from ironjs.
awesome, thanks!
from ironjs.
Related Issues (20)
- can IronJS handle Xml via parameters?
- Fails to load FSharp.Core in .NET 4.5 HOT 2
- the result of Number toString(16) isn't correct HOT 1
- can i expose c# object methods in javascript HOT 1
- classes support HOT 1
- Working with C# objects and classes HOT 2
- add ecmascript 6
- Iron JS for .NET Compact framework 3.5 for smart devices that run Windows CE OS
- Execution in memory
- Line Numbers Incorrect
- Explore the possibility to use Irony in IronJS HOT 6
- QUnit.js on IronJS
- how to return null from a CLR function exposed to Javascript HOT 2
- NuGet bug: Microsoft.Scripting.* assemblies shouldn't be referenced HOT 1
- How to parse JSON(send as string parameter) to a method in JavaScript function HOT 1
- Calling custom javascript object function with variable parameter list
- Compile CoffeeScript on Mono
- CLR type decimal not working correctly if thread CultureInfo has "," as a decimal separator HOT 4
- Issue with Integer datatype comparision using equality operators HOT 1
- mono based linux build is broken HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ironjs.