<div>Javascript has some syntaxic rules allowing to omit some semicolons.</div><div><br></div><div>However, it is often advisable to add these semicolons in order to prevent some weird errors.</div>


<div>Quality tools JSLint and JSHint check this kind of stuff too.</div><div><br></div><div>If you want a practical reason , please consider this code. It will fail, because the foo variable declaration is interpreted as a the return value of the call of a function which alert 'test' and whose the first argument is the return value of the call of a function which call foo (which is not yet defined, so an error is thrown), instead of a function which alert 'test', then a call to a function which call foo. Adding the semicolon after the variable declaration fixes this issue (not sure if it's very clear .. ?).</div>




<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><span style="color:rgb(119,0,136);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">var </span><span style="font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">foo </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">= </span><span style="color:rgb(119,0,136);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">function </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">( </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">) </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">{</span><br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">




<span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">    </span><span style="font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">alert</span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">( </span><span style="color:rgb(170,34,34);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">'test' </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">)</span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">;</span><br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">




<span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">}</span><br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">




<br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px"><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">(</span><span style="color:rgb(119,0,136);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">function </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">( </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">) </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">{</span><br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">




<span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">    </span><span style="font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">foo</span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">( </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">)</span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">;</span><br style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">




<span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">} </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">( </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">) </span><span style="color:rgb(102,102,102);font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">)</span><span style="font-family:Inconsolata,Monaco,Consolas,'Andale Mono','Bitstream Vera Sans Mono','Courier New',Courier,monospace;font-size:12px;line-height:15px">​</span></blockquote>




<div><br></div><div>For more informations (and trolls), you can check this recent thread[1].</div><div><br></div><div>[1] <a href="https://github.com/twitter/bootstrap/issues/3057" target="_blank">https://github.com/twitter/bootstrap/issues/3057</a> </div>




<div><br><div class="gmail_quote">On 2 August 2012 19:46, Daniel Dunbar <span dir="ltr"><<a href="mailto:daniel@zuster.org" target="_blank">daniel@zuster.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




Hey Michael,<br>
<br>
Is this really necessary?<br>
<br>
I find this ugly and I am unlikely to write it by default. What is the<br>
compelling reason for doing this?<br>
<br>
 - Daniel<br>
<br>
On Wed, Aug 1, 2012 at 2:39 PM, Michael Gottesman <<a href="mailto:mgottesman@apple.com" target="_blank">mgottesman@apple.com</a>> wrote:<br>
> Author: mgottesman<br>
> Date: Wed Aug  1 16:39:07 2012<br>
> New Revision: 161137<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=161137&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=161137&view=rev</a><br>
> Log:<br>
> [LNT] Ran jslint on View2D.js and fixed all missing semicolons. There are<br>
> still more than a few warnings. This should be checked out.<br>
><br>
> Modified:<br>
>     lnt/trunk/lnt/server/ui/static/View2D.js<br>
><br>
> Modified: lnt/trunk/lnt/server/ui/static/View2D.js<br>
> URL: <a href="http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/View2D.js?rev=161137&r1=161136&r2=161137&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/ui/static/View2D.js?rev=161137&r1=161136&r2=161137&view=diff</a><br>





> ==============================================================================<br>
> --- lnt/trunk/lnt/server/ui/static/View2D.js (original)<br>
> +++ lnt/trunk/lnt/server/ui/static/View2D.js Wed Aug  1 16:39:07 2012<br>
> @@ -143,7 +143,7 @@<br>
><br>
>  ViewData.prototype.copy = function() {<br>
>      return new ViewData(this.location, this.scale);<br>
> -}<br>
> +};<br>
><br>
>  /* ViewAction Class */<br>
>  function ViewAction(mode, v2d, start) {<br>
> @@ -155,29 +155,29 @@<br>
>  ViewAction.prototype.update = function(v2d, co) {<br>
>      if (this.mode == 'p') {<br>
>          var delta = vec2_sub(v2d.convertClientToNDC(co, this.vd),<br>
> -            v2d.convertClientToNDC(this.start, this.vd))<br>
> +            v2d.convertClientToNDC(this.start, this.vd));<br>
>          v2d.viewData.location = vec2_add(this.vd.location, delta);<br>
>      } else {<br>
>          var delta = vec2_sub(v2d.convertClientToNDC(co, this.vd),<br>
> -            v2d.convertClientToNDC(this.start, this.vd))<br>
> +            v2d.convertClientToNDC(this.start, this.vd));<br>
>          v2d.viewData.scale = vec2_Npow(Math.E,<br>
>                                         vec2_add(vec2_log(this.vd.scale),<br>
> -                                                delta))<br>
> +                                                delta));<br>
>          v2d.viewData.location = vec2_mul(this.vd.location,<br>
>                                           vec2_div(v2d.viewData.scale,<br>
> -                                                  this.vd.scale))<br>
> +                                                  this.vd.scale));<br>
>      }<br>
><br>
>      v2d.refresh();<br>
> -}<br>
> +};<br>
><br>
>  ViewAction.prototype.complete = function(v2d, co) {<br>
>      this.update(v2d, co);<br>
> -}<br>
> +};<br>
><br>
>  ViewAction.prototype.abort = function(v2d) {<br>
>      v2d.viewData = this.vd;<br>
> -}<br>
> +};<br>
><br>
>  /* EventWrapper Class */<br>
><br>
> @@ -185,7 +185,7 @@<br>
>      this.domevent = domevent;<br>
>      this.client = {<br>
>          x: domevent.clientX,<br>
> -        y: domevent.clientY,<br>
> +        y: domevent.clientY<br>
>      };<br>
>      this.alt = domevent.altKey;<br>
>      this.shift = domevent.shiftKey;<br>
> @@ -196,7 +196,7 @@<br>
>  EventWrapper.prototype.stop = function() {<br>
>      this.domevent.stopPropagation();<br>
>      this.domevent.preventDefault();<br>
> -}<br>
> +};<br>
><br>
>  /* View2D Class */<br>
><br>
> @@ -239,7 +239,7 @@<br>
>      }<br>
><br>
>      // FIXME: Capturing!<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.onMouseDown = function(event) {<br>
>      pos = [event.client.x - this.canvas.offsetLeft,<br>
> @@ -253,7 +253,7 @@<br>
>      else if (event.alt || event.meta)<br>
>          this.viewAction = new ViewAction('z', this, pos);<br>
>      event.stop();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.onMouseMove = function(event) {<br>
>      pos = [event.client.x - this.canvas.offsetLeft,<br>
> @@ -262,7 +262,7 @@<br>
>      if (this.viewAction != null)<br>
>          this.viewAction.update(this, pos);<br>
>      event.stop();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.onMouseUp = function(event) {<br>
>      pos = [event.client.x - this.canvas.offsetLeft,<br>
> @@ -272,7 +272,7 @@<br>
>          this.viewAction.complete(this, pos);<br>
>      this.viewAction = null;<br>
>      event.stop();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.onMouseWheel = function(event) {<br>
>      if (this.viewAction == null) {<br>
> @@ -290,18 +290,18 @@<br>
>          this.refresh();<br>
>      }<br>
>      event.stop();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.setViewData = function(vd) {<br>
>      // FIXME: Check equality and avoid refresh.<br>
>      this.viewData = vd;<br>
>      this.refresh();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.refresh = function() {<br>
>      // FIXME: Event loop?<br>
>      this.draw();<br>
> -}<br>
> +};<br>
><br>
>  // Coordinate conversion.<br>
><br>
> @@ -311,28 +311,28 @@<br>
>      } else {<br>
>          return [1.0, this.aspect];<br>
>      }<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.getPixelSize = function() {<br>
>      return vec2_sub(this.convertClientToWorld([1,1]),<br>
>                      this.convertClientToWorld([0,0]));<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.convertClientToNDC = function(pt, vd) {<br>
>      if (vd == null)<br>
> -        vd = this.viewData<br>
> +        vd = this.viewData;<br>
>      return [pt[0] / this.size[0] * 2 - 1,<br>
>              pt[1] / this.size[1] * 2 - 1];<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.convertClientToWorld = function(pt, vd) {<br>
>      if (vd == null)<br>
> -        vd = this.viewData<br>
> -    pt = this.convertClientToNDC(pt, vd)<br>
> +        vd = this.viewData;<br>
> +    pt = this.convertClientToNDC(pt, vd);<br>
>      pt = vec2_sub(pt, vd.location);<br>
>      pt = vec2_div(pt, vec2_mul(vd.scale, this.getAspectScale()));<br>
>      return pt;<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.convertWorldToPreview = function(pt, pos, size) {<br>
>      var asp_scale = this.getAspectScale();<br>
> @@ -342,7 +342,7 @@<br>
>      pt = vec2_mul(pt, size);<br>
>      pt = vec2_add(pt, pos);<br>
>      return pt;<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.setViewMatrix = function(ctx) {<br>
>      ctx.scale(this.size[0], this.size[1]);<br>
> @@ -351,7 +351,7 @@<br>
>      ctx.translate(this.viewData.location[0], this.viewData.location[1]);<br>
>      var scale = vec2_mul(this.viewData.scale, this.getAspectScale());<br>
>      ctx.scale(scale[0], scale[1]);<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.setPreviewMatrix = function(ctx, pos, size) {<br>
>      ctx.translate(pos[0], pos[1]);<br>
> @@ -360,13 +360,13 @@<br>
>      ctx.translate(1, 1);<br>
>      var scale = this.getAspectScale();<br>
>      ctx.scale(scale[0], scale[1]);<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.setWindowMatrix = function(ctx) {<br>
>      ctx.translate(.5, .5);<br>
>      ctx.translate(0, this.size[1]);<br>
>      ctx.scale(1, -1);<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.draw = function() {<br>
>      var canvas = document.getElementById(this.canvasname);<br>
> @@ -398,10 +398,10 @@<br>
>      ctx.restore();<br>
><br>
>      if (this.useWidgets)<br>
> -        this.drawPreview(canvas, ctx)<br>
> +        this.drawPreview(canvas, ctx);<br>
><br>
>      ctx.restore();<br>
> -}<br>
> +};<br>
><br>
>  View2D.prototype.drawPreview = function(canvas, ctx) {<br>
>      // Setup the preview context.<br>
> @@ -440,27 +440,27 @@<br>
>      // Draw the current view overlay.<br>
>      //<br>
>      // FIXME: Find a replacement for stippling.<br>
> -    ll = this.convertClientToWorld([0, 0])<br>
> +    ll = this.convertClientToWorld([0, 0]);<br>
>      ur = this.convertClientToWorld(this.size);<br>
><br>
>      // Convert to pixel coordinates instead of drawing in content<br>
>      // perspective.<br>
> -    ll = vec2_floor(this.convertWorldToPreview(ll, pv_pos, pv_size))<br>
> -    ur = vec2_ceil(this.convertWorldToPreview(ur, pv_pos, pv_size))<br>
> +    ll = vec2_floor(this.convertWorldToPreview(ll, pv_pos, pv_size));<br>
> +    ur = vec2_ceil(this.convertWorldToPreview(ur, pv_pos, pv_size));<br>
>      ll = vec2_clamp(ll, this.previewPosition,<br>
> -                    vec2_add(this.previewPosition, this.previewSize))<br>
> +                    vec2_add(this.previewPosition, this.previewSize));<br>
>      ur = vec2_clamp(ur, this.previewPosition,<br>
> -                    vec2_add(this.previewPosition, this.previewSize))<br>
> +                    vec2_add(this.previewPosition, this.previewSize));<br>
><br>
>      ctx.strokeStyle = "rgba(128,128,128,255)";<br>
>      ctx.lineWidth = 1;<br>
>      ctx.strokeRect(ll[0], ll[1], ur[0] - ll[0], ur[1] - ll[1]);<br>
> -}<br>
> +};<br>
><br>
> -View2D.prototype.on_size_change = function() {}<br>
> -View2D.prototype.on_draw_start = function() {}<br>
> -View2D.prototype.on_draw = function(canvas, ctx) {}<br>
> -View2D.prototype.on_draw_preview = function(canvas, ctx) {}<br>
> +View2D.prototype.on_size_change = function() {};<br>
> +View2D.prototype.on_draw_start = function() {};<br>
> +View2D.prototype.on_draw = function(canvas, ctx) {};<br>
> +View2D.prototype.on_draw_preview = function(canvas, ctx) {};<br>
><br>
>  /* View2DTest Class */<br>
><br>
> @@ -486,7 +486,7 @@<br>
>      ctx.arc(0, 0, .5, 0, 2 * Math.PI, false);<br>
>      ctx.fill();<br>
>      ctx.closePath();<br>
> -}<br>
> +};<br>
><br>
>  View2DTest.prototype.on_draw_preview = function(canvas, ctx) {<br>
>      ctx.fillStyle = "rgba(255,255,255,.4)";<br>
> @@ -504,7 +504,7 @@<br>
>      ctx.arc(0, 0, .5, 0, 2 * Math.PI, false);<br>
>      ctx.fill();<br>
>      ctx.closePath();<br>
> -}<br>
> +};<br>
><br>
>  /* Graph2D_GraphInfo Class */<br>
><br>
> @@ -518,19 +518,19 @@<br>
>  Graph2D_GraphInfo.prototype.toNDC = function(pt) {<br>
>      return [2 * (pt[0] - this.ll[0]) / (this.ur[0] - this.ll[0]) - 1,<br>
>              2 * (pt[1] - this.ll[1]) / (this.ur[1] - this.ll[1]) - 1];<br>
> -}<br>
> +};<br>
><br>
>  Graph2D_GraphInfo.prototype.fromNDC = function(pt) {<br>
>      return [this.ll[0] + (this.ur[0] - this.ll[0]) * (pt[0] + 1) * .5,<br>
>              this.ll[1] + (this.ur[1] - this.ll[1]) * (pt[1] + 1) * .5];<br>
> -}<br>
> +};<br>
><br>
>  /* Graph2D_PlotStyle Class */<br>
><br>
>  function Graph2D_PlotStyle() {<br>
>  }<br>
><br>
> -Graph2D_PlotStyle.prototype.plot = function(graph, ctx, data) {}<br>
> +Graph2D_PlotStyle.prototype.plot = function(graph, ctx, data) {};<br>
><br>
>  /* Graph2D_LinePlotStyle Class */<br>
><br>
> @@ -562,7 +562,7 @@<br>
>      ctx.lineWidth = this.width * (graph.getPixelSize()[0] + graph.getPixelSize()[1]) * .5;<br>
>      ctx.strokeStyle = col3_to_rgb(this.color);<br>
>      ctx.stroke();<br>
> -}<br>
> +};<br>
><br>
>  /* Graph2D_PointPlotStyle Class */<br>
><br>
> @@ -593,7 +593,7 @@<br>
>      }<br>
>      ctx.fillStyle = col3_to_rgb(this.color);<br>
>      ctx.fill();<br>
> -}<br>
> +};<br>
><br>
>  /* Graph2D_ErrorBarPlotStyle Class */<br>
><br>
> @@ -625,7 +625,7 @@<br>
>      ctx.lineWidth = this.width * (graph.getPixelSize()[0] + graph.getPixelSize()[1]) * .5;<br>
>      ctx.strokeStyle = col3_to_rgb(this.color);<br>
>      ctx.stroke();<br>
> -}<br>
> +};<br>
><br>
>  /* Graph2D_Axis Class */<br>
><br>
> @@ -649,7 +649,7 @@<br>
>          res += "-" + (date.getUTCMonth() + 1);<br>
>          res += "-" + (date.getUTCDate() + 1);<br>
>          return res;<br>
> -    },<br>
> +    }<br>
>  };<br>
><br>
>  Graph2D_Axis.prototype.draw = function(graph, ctx, ll, ur, mainUR) {<br>
> @@ -786,13 +786,13 @@<br>
>              ctx.restore();<br>
>          }<br>
>      }<br>
> -}<br>
> +};<br>
><br>
><br>
>  /* Graph2D Class */<br>
><br>
>  function Graph2D(canvasname) {<br>
> -    View2D.call(this, canvasname)<br>
> +    View2D.call(this, canvasname);<br>
><br>
>      this.useWidgets = false;<br>
>      this.plots = [];<br>
> @@ -812,7 +812,7 @@<br>
>      this.graphInfo = null;<br>
>      // FIXME: Need event loop.<br>
>      this.refresh();<br>
> -}<br>
> +};<br>
><br>
>  Graph2D.prototype.layoutGraph = function() {<br>
>      var gi = new Graph2D_GraphInfo();<br>
> @@ -867,24 +867,24 @@<br>
>      gi.ur = vec2_add(center, vec2_mulN(size, .5));<br>
><br>
>      return gi;<br>
> -}<br>
> +};<br>
><br>
>  //<br>
><br>
>  Graph2D.prototype.convertClientToGraph = function(pt) {<br>
>      return this.graphInfo.fromNDC(this.convertClientToWorld(pt));<br>
> -}<br>
> +};<br>
><br>
>  //<br>
><br>
>  Graph2D.prototype.on_size_change = function() {<br>
>      this.graphInfo = null;<br>
> -}<br>
> +};<br>
><br>
>  Graph2D.prototype.on_draw_start = function() {<br>
>      if (!this.graphInfo)<br>
>          this.graphInfo = this.layoutGraph();<br>
> -}<br>
> +};<br>
><br>
>  Graph2D.prototype.on_draw = function(canvas, ctx) {<br>
>      var gi = this.graphInfo;<br>
> @@ -893,11 +893,11 @@<br>
>      this.xAxis.draw(this, ctx,<br>
>                      this.convertClientToGraph([gi.yAxisW, 0]),<br>
>                      this.convertClientToGraph([w, gi.xAxisH]),<br>
> -                    this.convertClientToGraph([w, h]))<br>
> +                    this.convertClientToGraph([w, h]));<br>
>      this.yAxis.draw(this, ctx,<br>
>                      this.convertClientToGraph([0, gi.xAxisH]),<br>
>                      this.convertClientToGraph([gi.yAxisW, h]),<br>
> -                    this.convertClientToGraph([w, h]))<br>
> +                    this.convertClientToGraph([w, h]));<br>
><br>
>      if (this.debugText != null) {<br>
>          ctx.save();<br>
> @@ -921,19 +921,19 @@<br>
>          style.plot(this, ctx, data);<br>
>      }<br>
>      ctx.restore();<br>
> -}<br>
> +};<br>
><br>
>  // Client API.<br>
><br>
>  Graph2D.prototype.clearPlots = function() {<br>
>      this.plots = [];<br>
>      this.graphChanged();<br>
> -}<br>
> +};<br>
><br>
>  Graph2D.prototype.addPlot = function(data, style) {<br>
>      if (!style)<br>
>          style = new Graph2D_LinePlotStyle(1);<br>
>      this.plots.push( [data, style] );<br>
>      this.graphChanged();<br>
> -}<br>
> +};<br>
><br>
><br>
><br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Maël Nison<br>Epitech 2014, Paris - Astek<br><br>
</div>