Edward Ruchevits
5f7bca94e5
Reverted functionHashes output to use method signature as keys
2017-06-13 18:04:33 +01:00
Edward Ruchevits
2e816967d3
Allow including hashes of method signatures in --combined-json output
2017-06-13 17:03:17 +01:00
Alex Beregszaszi
998ca552b8
Fix state after CompilerStack.reset()
2017-06-01 13:44:08 +01:00
Alex Beregszaszi
c212d7c2e6
Remove unused functions from CompilerStack
2017-06-01 13:28:05 +01:00
Rhett Aultman
89b60ffbd4
Refactor error reporting
...
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.
This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
chriseth
40d5d5a956
Also change error message.
2017-05-26 11:13:32 +02:00
Alex Beregszaszi
8c3ec16132
Scanner requires only the SourcesSet state
2017-05-24 22:45:10 +01:00
Alex Beregszaszi
cd5d93da2a
Rename CompilerStack.metadata to CompilerStack.natspec
2017-05-19 16:11:04 +01:00
Alex Beregszaszi
81877cc594
Rename InterfaceHandler to Natspec
2017-05-19 16:11:04 +01:00
Alex Beregszaszi
12328b7848
Split ABI out of InterfaceHandler
2017-05-19 16:11:03 +01:00
Alex Beregszaszi
4bf3cbb09a
Use CompilerStack.contractABI directly
2017-05-19 15:57:36 +01:00
Alex Beregszaszi
8169e149c9
Rename CompilerStack.interface to CompilerStack.contractABI
2017-05-19 15:57:36 +01:00
Alex Beregszaszi
c0f31e4c1b
Ensure proper checks are in CompilerStack
2017-05-11 08:02:03 +01:00
Alex Beregszaszi
5b4b620d8b
Do not crash on AST if parsing failed
2017-05-11 08:02:03 +01:00
djuju
e9954eb325
conditional reset of compilerState-Enum
2017-04-28 18:46:27 +02:00
chriseth
f33614e1f7
Merge pull request #2171 from ethereum/splitParseAndAnalyze
...
refactoring parse() into two separate functions
2017-04-28 17:19:31 +02:00
djuju
a6306a1d44
error fixed
2017-04-28 16:20:32 +02:00
djuju
45f8c5aa88
enumchecks not working
2017-04-28 15:24:59 +02:00
Alex Beregszaszi
b0485e327b
Make assembler errors fatal
2017-04-27 16:34:57 +01:00
Alex Beregszaszi
16276ab10b
Catch assembler exceptions and throw readable Solidity exceptions
2017-04-27 16:06:49 +01:00
djuju
5fd7942173
documentation, checks and renaming
2017-04-27 12:56:56 +02:00
djuju
99a7aefb75
refactoring parse() into two separate functions
2017-04-27 12:38:24 +02:00
Alex Beregszaszi
bf074f3f41
Fix source index allocation in CompilerStack. Depending on compiler(optimisations) this could be off-by-one.
2017-04-20 19:20:14 +01:00
Alex Beregszaszi
54dcb0e11b
Keep gas values as a string in CompilerStack::gasEstimate
2017-04-13 02:18:29 +01:00
Alex Beregszaszi
3fbb48bd46
Exclude fallback function from the internal functions in estimateGas
2017-04-13 02:17:40 +01:00
Alex Beregszaszi
e6221108b6
Move gasEstimate into CompilerStack
2017-04-13 02:17:37 +01:00
Alex Beregszaszi
623b8eb107
Pull out ReadFile from CompilerStack
2017-04-10 12:49:47 +01:00
Alex Beregszaszi
e0ff70778a
Rename ErrorMesage to ErrorMessage
2017-03-16 23:59:36 +00:00
Yoichi Hirai
e364909e06
Merge pull request #1747 from ethereum/fixICEInternalConstructor
...
Move privateness of constructor into AST itself.
2017-03-08 17:49:14 +01:00
chriseth
5c5d83fd70
Check for circular references in constant variables.
2017-03-06 15:05:09 +01:00
chriseth
f300bdb020
Move public constructor property into AST itself.
2017-03-06 14:12:42 +01:00
chriseth
e67faa9839
Extract scopes into compiler stack.
2017-02-14 13:23:44 +01:00
Alex Beregszaszi
fcf483ee6b
Add option to store literal sources in metadata
2017-01-26 13:16:26 +00:00
chriseth
0ef460461a
Check if constructor is public or not.
2017-01-20 19:22:39 +01:00
chriseth
7159944f0f
Reset AST node IDs between compilation runs.
2017-01-20 12:00:16 +01:00
chriseth
005e190885
Merge pull request #1397 from roadriverrail/contract_collision
...
Error out when contracts collide on name
2017-01-18 14:28:00 +01:00
Alex Beregszaszi
350c7e7e2c
Store strict version number in metadata (exclude the platform)
2017-01-17 12:54:58 +00:00
Rhett Aultman
94b092d87c
Provide fall-back method for contract lookup
...
Properly, contracts are now looked up via <source>:<contract> identifiers
called "fully qualified names." As a modicum of backward-compatibility,
failure on a lookup is now backed up by seeing if the ":" exists at all,
and if it doesn't, then the known contracts are scanned for any matching
contract name.
2017-01-16 23:47:04 -05:00
Rhett Aultman
5a2331a9f6
Remove checkLibraryNameClashes()
...
The library name clash checker throws errors when two libraries of the
same name are spotted. In a previous commit, this function was
rewritten to use fully-qualified names instead, which makes it redundant
to the checker for multiply-declared identifiers. Since it no longer
serves a clear purpose, the function is being dropped.
2017-01-16 12:32:58 -05:00
Rhett Aultman
85c55c796a
Remove unique error for contract collision
...
Because contracts are uniquely identified by their source unit, there
is no need for a unique error for this; it's actually covered by the
checker for double-declaration of identifiers.
2017-01-16 12:32:57 -05:00
Rhett Aultman
0c98e4b2da
Stylistic corrections
2017-01-16 12:32:57 -05:00
Rhett Aultman
e3b0827721
Push the error instead of throwing it
...
Throwing a CompilerError on multiple contract definition violates the
expectations of the test suite, which thinks that compile() will
return false if the code can't compile. This brings contract
collision reporting in line with most of the other errors.
2017-01-16 12:32:57 -05:00
Rhett Aultman
071b936b37
Only avoid collision if it's the same file
...
@chriseth had suggested that it would be better if contracts were
referenced in a file:contract notation, and that we output .bin files
that prepend original path names if necessary to avoid a collision.
This commit is mostly a draft; it still needs to be run through the test
suite.
2017-01-16 12:32:57 -05:00
Rhett Aultman
9e88f1eebe
Tab whitespace cleanup (again)
2017-01-16 12:32:57 -05:00
Rhett Aultman
ce3082dec2
Tidy up the error message
2017-01-16 12:32:57 -05:00
Rhett Aultman
b24ca4fa23
Fix tab, drop stupid '!!!', change error message.
2017-01-16 12:32:57 -05:00
Rhett Aultman
f3a84eab91
Error out when contracts collide on name
...
The previous behaviour, courtesy of the [] operator in std::map, would
uncritically store a new ContractDefinition in m_contracts even when a
ContractDefinition already existed. This "resolved" collissions on contract
names by clobbering the original one with the new one, and could lead to
scenarios where the clobber would only be discovered when the original
ContractDefinition could not be found or referred to, which was an unhelpful
InternalCompilerError.
This change checks the m_contracts map for a collision first and will not let
the ContractDefinition be changed to a new one once it's set, throwing a
CompilerError with information about the conflict.
2017-01-16 12:32:57 -05:00
VoR0220
b6508ca992
fixed
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 12:03:54 -06:00
VoR0220
4542f459f1
added fix and a test for order independence of nested prefixing
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:45:14 -06:00
VoR0220
4585bfdce7
cleanup
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
fixup
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 11:03:02 -06:00
VoR0220
e02270bbb4
fixed unused filepath bug
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-11 09:03:41 -06:00
VoR0220
8ace851831
much smaller helper function
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-10 07:17:11 -06:00
VoR0220
79dbd40096
can do this purely on length. Also made prefix filesystem string for more accurate readings.
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:57 -06:00
VoR0220
6d9020b3b8
fixed test and added solution
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-01-08 22:53:54 -06:00
Yoichi Hirai
41fe412389
interface: change absolutePath() so that ".dir" is considered as an absolute path
...
fixes #1534
2017-01-03 18:18:22 +01:00
chriseth
56a027bedc
Use multiple URLs for metadata.
2016-12-13 16:37:48 +01:00
chriseth
c111d6e27e
Merge pull request #1491 from ameten/refactoring
...
Just refactored some code
2016-12-12 21:43:04 +01:00
Federico Bond
05139500fb
Warn about using msg.value in non-payable function
2016-12-08 16:22:13 -03:00
Danil Nemirovsky
db42294a20
- fixed a misprint.
2016-12-08 21:33:09 +03:00
chriseth
f1907bbb12
Add the _runs
parameter.
2016-12-01 16:04:00 +01:00
chriseth
6a7ff039df
Use CBOR encoding.
2016-12-01 16:03:59 +01:00
chriseth
91ecc4533d
Add swarm hash to the end of the bytecode.
2016-12-01 16:03:59 +01:00
chriseth
659b635b2d
Make sure some keys are present.
2016-12-01 16:03:59 +01:00
chriseth
e666f8cda7
Incorporate comments.
2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d
Metadata stamp.
2016-12-01 16:03:59 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth
ec31d08775
Change encoding to address-funid and add "function" as ABI type.
2016-11-16 14:37:19 +01:00
chriseth
e543bd34c0
Stored combined creation and runtime tags.
...
Includes a change to Assembly to allow tags from sub-assemblies to be
used.
Sorry, this get a bit bigger than I thought.
2016-11-16 14:37:18 +01:00
Alex Beregszaszi
9719cf38e6
Move InterfaceHandler from string to JSON
2016-11-15 15:55:25 +00:00
chriseth
762f7ac250
Suggest correct version for pragma and complain about pre-release version.
2016-10-25 13:45:50 +02:00
Alex Beregszaszi
aefb6e5fcf
Rename dev::sha3 to dev::keccak256
2016-10-06 14:53:40 +01:00
Dimitry
061aee2e97
fix CompilerStack::absolutePath
2016-08-31 22:10:20 +03:00
Denton Liu
e00f802f72
Remove standard contracts
2016-08-19 10:34:50 -04:00
Dimitry
e5e2597702
remove solidity --interface
2016-08-17 12:39:10 +03:00
chriseth
c55584d3e2
Source location as part of AST.
2016-07-20 19:45:43 +02:00
chriseth
9a9a815fc9
Provide formal version in json output.
2016-07-18 18:26:56 +02:00
chriseth
3150ab2bcf
Allow remappings to change depending on the context.
2016-06-08 18:16:46 +02:00
chriseth
67c855c583
Merge pull request #356 from guanqun/break-not-in-loop
...
check whether break/continue is in the loop
2016-01-20 19:23:23 +01:00
chriseth
d21c4276b3
Merge pull request #351 from chriseth/autoload
...
Automatically load imported files in solc.
2016-01-19 13:14:25 +01:00
Lu Guanqun
c8886ed5cf
code changes according to Chris's comments
2016-01-19 02:16:13 +00:00
Lu Guanqun
e130bc7e7c
check whether break/continue is in the loop
2016-01-15 15:12:23 +08:00
chriseth
8f7c4e0cc2
Build fix for MacOS.
2016-01-14 14:47:32 +01:00
chriseth
17199edb4f
Set error flag to true.
2016-01-14 11:36:13 +01:00
chriseth
2364c55735
Detect library name clashes.
2016-01-14 11:36:13 +01:00
chriseth
287f0a2ddf
Autoload files in solc.
2016-01-12 01:05:05 +01:00
chriseth
603dc58040
Simple aliasing during import.
2015-12-18 12:46:56 +01:00
chriseth
d3c459b5a9
Parse complex import directives.
2015-12-18 12:46:54 +01:00
chriseth
f8228e8ab1
Relative paths in import directives.
2015-12-09 19:21:02 +01:00
chriseth
7cb7818cea
Source units are independent scopes.
2015-12-09 19:09:24 +01:00
chriseth
a957322fd7
Preliminary why3 code output.
2015-10-27 00:49:27 +01:00
chriseth
b4f561680a
Store docstrings in AST annotations.
2015-10-26 15:24:36 +01:00
chriseth
e3dffb611f
File reorganisation.
2015-10-21 00:46:01 +02:00