integrate to app, renderer

pull/1/head
yann300 8 years ago
parent 9bde45fd63
commit 264163403e
  1. 17
      assets/css/browser-solidity.css
  2. 3
      index.html
  3. 6
      src/app.js
  4. 16
      src/app/renderer.js
  5. 2
      src/app/staticanalysis/staticAnalysisView.js

@ -228,6 +228,10 @@ body {
display: block;
}
#header #optionViews.staticanalysisView #staticanalysisView {
display: block;
}
#header #optionViews.txView input,
#header #optionViews.txView select {
max-width: 13em;
@ -283,6 +287,19 @@ body {
cursor: pointer;
}
#staticanalysisView button {
background-color: #C6CFF7;
font-size: 12px;
padding: 0.25em;
margin-bottom: .5em;
color: black;
border:0 none;
border-radius: 3px;
width: 8em;
margin-right: 1em;
cursor: pointer;
}
#header .origin,
#header #executionContext {
display: block;

@ -61,6 +61,7 @@
<li class="publishView" title="Publish" ><i class="fa fa-cloud-upload"></i></li>
<li class="debugView" title="Debugger"><i class="fa fa-bug"></i></li>
<li class="verificationView" title="Formal Verification"><i class="fa fa-check"></i></li>
<li class="staticanalysisView" title="Static Analysis"><i class="fa fa-search"></i></li>
<li id="helpButton"><a href="https://solidity.readthedocs.org" target="_blank" title="Open Documentation" class="fa fa-question"></a></li>
</ul>
<img id="solIcon" title="Solidity realtime compiler and runtime" src="assets/img/sol.svg" alt="Solidity realtime compiler and runtime">
@ -123,6 +124,8 @@
<div id="debugView">
<div id="debugger" ></div>
</div>
<div id="staticanalysisView">
</div>
<div id="verificationView">
<p>This tab provides support for <b>formal verification</b> of Solidity contracts.<br/>
This feature is still in development and thus also not yet well documented,

@ -19,6 +19,7 @@ var UniversalDApp = require('./universal-dapp.js')
var Debugger = require('./app/debugger')
var FormalVerification = require('./app/formalVerification')
var EventManager = require('./lib/eventManager')
var StaticAnalysis = require('./app/staticanalysis/staticAnalysisView')
// The event listener needs to be registered as early as possible, because the
// parent will send the message upon the "load" event.
@ -444,6 +445,9 @@ var run = function () {
var renderer = new Renderer(editor, executionContext.web3(), updateFiles, udapp, executionContext, formalVerification.event, compiler.event) // eslint-disable-line
var staticanalysis = new StaticAnalysis(compiler, renderer)
$('#staticanalysisView').append(staticanalysis.render())
var autoCompile = document.querySelector('#autoCompile').checked
document.querySelector('#autoCompile').addEventListener('change', function () {
@ -609,7 +613,7 @@ var run = function () {
selectedVersion = queryParams.get().version
}
loadVersion(selectedVersion)
loadVersion(selectedVersion)
}).fail(function (xhr, text, err) {
// loading failed for some reason, fall back to local compiler
$('#versionSelector').append(new Option('latest local version', 'builtin'))

@ -35,9 +35,11 @@ function Renderer (editor, web3, updateFiles, udapp, executionContext, formalVer
})
}
Renderer.prototype.error = function (message, container, noAnnotations) {
Renderer.prototype.error = function (message, container, noAnnotations, type) {
var self = this
var type = utils.errortype(message)
if (!type) {
type = utils.errortype(message)
}
var $pre = $('<pre />').text(message)
var $error = $('<div class="sol ' + type + '"><div class="close"><i class="fa fa-close"></i></div></div>').prepend($pre)
if (container === undefined) {
@ -66,12 +68,12 @@ Renderer.prototype.error = function (message, container, noAnnotations) {
}
self.editor.handleErrorClick(errLine, errCol)
})
$error.find('.close').click(function (ev) {
ev.preventDefault()
$error.remove()
return false
})
}
$error.find('.close').click(function (ev) {
ev.preventDefault()
$error.remove()
return false
})
}
Renderer.prototype.contracts = function (data, source) {

@ -57,7 +57,7 @@ staticAnalysisView.prototype.run = function () {
}
var selected = this.selectedModules()
var warningContainer = $('#staticanalysisresult')
warningContainer.html('')
warningContainer.empty()
if (this.lastASTs) {
var self = this
this.runner.run(this.lastASTs, selected, function (results) {

Loading…
Cancel
Save