aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface
Commit message (Collapse)AuthorAgeFilesLines
* Rename JULIA/IULIA to Yul in assembly interfaceAlex Beregszaszi2018-06-142-9/+9
|
* Do not catch exceptions by value in StandardCompilerJulius Huelsmann2018-05-171-2/+2
|
* Add control flow analyzer and test for uninitialized storage returns.Daniel Kirchner2018-05-151-0/+9
|
* Add control flow graph.Daniel Kirchner2018-05-151-0/+9
|
* Support shifts in gas estimatorAlex Beregszaszi2018-05-011-5/+14
|
* Correctly ignore costs of fallback for other functions.chriseth2018-04-121-1/+8
|
* Do not abort excessive warnings, just ignore them.Alex Beregszaszi2018-04-062-15/+38
|
* Ignore warnings when limited errors to 256Alex Beregszaszi2018-04-061-3/+10
|
* reindentAlex Beregszaszi2018-04-061-70/+69
|
* Catch FatalError in CompilerStack::analysis to cover all the analysis testsAlex Beregszaszi2018-04-061-0/+10
|
* Limit the number of errors output in a single run to 256Alex Beregszaszi2018-04-062-0/+16
|
* Support constantinople in evm-versionAlex Beregszaszi2018-03-131-1/+1
|
* Warn about using loose inline assembly features as experimental 0.5.0 feature.chriseth2018-03-071-1/+1
|
* Merge pull request #3640 from ↵chriseth2018-03-061-2/+2
|\ | | | | | | | | AnthonyBroadCrawford/spanning-multiline-message-fix moved spanning multi lines message to appear on some lane vs new line…
| * Improved messaging when an error spans multiple lines and updated change log ↵Anthony Broad-Crawford2018-03-061-2/+2
| | | | | | | | file.
* | Use EVM version in gas meter and optimizer.chriseth2018-03-053-18/+25
| |
* | Only warn for shift instructions if not using constantinopleAlex Beregszaszi2018-03-021-0/+1
| |
* | Add constantinople.chriseth2018-03-021-3/+5
| |
* | Add TangerineWhistle.chriseth2018-03-021-15/+24
| |
* | Provide EVM version to assembly analysis.chriseth2018-03-022-3/+6
| |
* | Use EVM version in type checker.chriseth2018-03-021-1/+1
| |
* | Provide target EVM version in CompilerContext.chriseth2018-03-021-2/+2
| |
* | Store EVM version in settings.chriseth2018-03-021-0/+1
| |
* | Add ability to set the target EVM version.chriseth2018-03-024-9/+114
|/
* Ensure that library addresses supplied are of correct length and hex ↵Alex Beregszaszi2018-03-011-2/+18
| | | | prefixed in JSONIO
* Properly validate invalid hex characters in JSONIO librariesAlex Beregszaszi2018-02-281-2/+14
|
* Add more comprehensive tests and checks for libraries in JSONIOAlex Beregszaszi2018-02-281-1/+5
|
* Merge pull request #3554 from ethereum/reuseScannerOrNotchriseth2018-02-211-1/+1
|\ | | | | Expect end of string at end of top-level block for assembly parser.
| * Expect end of string at end of top-level block for assembly parser.chriseth2018-02-211-1/+1
| |
* | Add new JSON API for better abstraction and for supporting strict JSON parsingAlexander Arlt2018-02-211-4/+3
|/
* Merge pull request #3135 from federicobond/formatter-instancechriseth2018-02-202-50/+43
|\ | | | | Convert static SourceReferenceFormatter functions to member ones
| * Fix scannerFromSourceName use-after-free.chriseth2018-02-191-3/+3
| |
| * Convert static SourceReferenceFormatter functions to member onesFederico Bond2018-02-192-49/+42
| |
* | Minor improvement: check sourcesAlexander Arlt2018-02-171-1/+5
|/ | | | | - returns error, if "sources" is an array, an empty object or not defined - Added new test-cases in test/libsolidity/StandardCompiler.cpp
* Prevent libraries from being called.chriseth2018-01-191-3/+6
|
* Support strict assembly mode in AssemblyStackAlex Beregszaszi2018-01-062-1/+3
|
* Split inline assembly into loose and strict flavours.chriseth2018-01-061-2/+19
|
* Properly support library file names containing a colon (such as URLs).Alex Beregszaszi2018-01-051-1/+1
|
* Properly handle colons in file names within jsonioAlex Beregszaszi2018-01-031-1/+1
|
* Populate the sourceLocation field properly in standard JSON on errorsAlex Beregszaszi2017-12-181-2/+2
|
* Limit number of secondary source locations.chriseth2017-12-121-0/+12
|
* Simplify target selection codeAlex Beregszaszi2017-11-301-18/+9
|
* Rename target selection to use the word artifactAlex Beregszaszi2017-11-301-32/+32
|
* Add workaround for bytecode/deployedBytecode selectionAlex Beregszaszi2017-11-301-2/+20
|
* Limit output according to the selected targets in StandardCompilerAlex Beregszaszi2017-11-301-20/+32
|
* Add target selection helpers to StandardCompilerAlex Beregszaszi2017-11-301-0/+56
|
* Merge pull request #3092 from rivenhk/b_2885chriseth2017-10-231-0/+15
|\ | | | | added formatting when source snippets is too long
| * updated formatting when source snippets is too longrivenhk2017-10-191-3/+3
| |
| * updating formatting when source snippets is too longrivenhk2017-10-181-5/+5
| |
| * added formatting when source snippets is too longrivenhk2017-10-181-0/+15
| |
* | Simplify contract lookup in CompileStackAlex Beregszaszi2017-10-191-5/+10
| |
* | Implement CompilerStack.lastContractName()Alex Beregszaszi2017-10-192-10/+19
| |
* | Always require a contract/sourceName in CompilerStackAlex Beregszaszi2017-10-191-14/+14
|/
* Restrict contracts compiled via outputSelection (but not the individual ↵Alex Beregszaszi2017-10-051-0/+19
| | | | output details)
* Provide optional list of contract names to CompilerStack.compileAlex Beregszaszi2017-10-052-1/+21
|
* Use solAssert and not assertAlex Beregszaszi2017-10-041-1/+1
|
* Ensure parameter names match between headers and implementationAlex Beregszaszi2017-09-201-1/+1
|
* Use "tuple" for struct types in ABI JSON.chriseth2017-09-161-1/+1
| | | | Only use tuple as a type in the ABI (and remove all "anonymous struct" references too)
* Fix tests.chriseth2017-09-161-1/+1
|
* Structure type json using "components".chriseth2017-09-161-8/+8
|
* Fix interface type conversion internal to structs.chriseth2017-09-161-1/+3
|
* Function signatures containing structs.chriseth2017-09-161-2/+3
|
* Allow structs as part of function interfaces.chriseth2017-09-162-9/+53
|
* Merge pull request #2848 from ethereum/checkViewPurechriseth2017-09-141-0/+11
|\ | | | | Enforce view and pure.
| * View-pure checker.chriseth2017-09-061-0/+11
| |
* | Introduce assemblyStringAlex Beregszaszi2017-09-114-13/+8
| |
* | Do not return the stream in asssemblyStreamAlex Beregszaszi2017-09-112-4/+3
| |
* | Split out the JSON functionality from assembly.stream()Alex Beregszaszi2017-09-114-8/+22
|/
* Reorder some methods in CompilerStack for readabilityAlex Beregszaszi2017-08-281-5/+7
|
* Merge pull request #2825 from ethereum/contract-unused-natspecchriseth2017-08-281-3/+0
|\ | | | | Removed unused natspec members of ContractDefinition
| * Removed unused natspec members of ContractDefinitionAlex Beregszaszi2017-08-261-3/+0
| |
* | Merge pull request #2821 from ethereum/errorreporter-copyAlex Beregszaszi2017-08-261-0/+3
|\ \ | |/ |/| Add copy constructor to ErrorReporter (since it has assignment operator)
| * Add copy constructor to ErrorReporter (since it has assignment operator)Alex Beregszaszi2017-08-251-0/+3
| |
* | Do not create a new TypeChecker instance for every contractAlex Beregszaszi2017-08-251-3/+1
| |
* | Attach natspec before type checkingAlex Beregszaszi2017-08-251-6/+4
| |
* | Remove duplicate work from CompilerStack.analyze()Alex Beregszaszi2017-08-251-10/+0
|/
* Remove unused statements from the Natspec headersAlex Beregszaszi2017-08-251-27/+0
|
* Reorder ABI for readabilityAlex Beregszaszi2017-08-251-9/+10
|
* Rename statemutability to stateMutability in ABI/ASTAlex Beregszaszi2017-08-241-3/+3
|
* Introduce pure specifier on functionsAlex Beregszaszi2017-08-241-1/+1
|
* Rename read file callback.chriseth2017-08-235-16/+17
|
* Cleanup.chriseth2017-08-231-1/+1
|
* z3 conditionschriseth2017-08-231-0/+8
|
* Introduce view (and keep constant as an alias)Alex Beregszaszi2017-08-231-1/+2
|
* Mark appropriate constructors explicitAlex Beregszaszi2017-08-222-2/+2
|
* Mark a lot of functions const (where possible)Alex Beregszaszi2017-08-221-1/+1
|
* Merge pull request #2771 from ethereum/unused-includesAlex Beregszaszi2017-08-212-3/+0
|\ | | | | Remove some unused includes
| * Remove some unused includesAlex Beregszaszi2017-08-212-3/+0
| |
* | Remove DocumentationType from natspecAlex Beregszaszi2017-08-163-38/+38
|/
* Add statemutability field to the ABIAlex Beregszaszi2017-08-151-0/+3
|
* Use a secondary location for function override errorsFederico Bond2017-08-121-2/+2
|
* Output experimental flag in metadata only for risky featuresAlex Beregszaszi2017-08-111-9/+27
|
* Store experimental flag in metadata CBORAlex Beregszaszi2017-08-111-0/+6
|
* Show unimplemented function if trying to instantiate an abstract classAlex Beregszaszi2017-08-042-0/+16
|
* Replace isFullyImplemented with unimplementedFunctions in ASTAnnotationsAlex Beregszaszi2017-08-041-1/+1
|
* Consistent format for secondary location in sourceformatterAlex Beregszaszi2017-08-021-2/+1
|
* Consistent new line in sourceformatterAlex Beregszaszi2017-08-021-0/+2
|
* Add isFallback() helperAlex Beregszaszi2017-07-281-1/+3
|
* Merge pull request #2645 from ethereum/assertsAlex Beregszaszi2017-07-271-5/+5
|\ | | | | Use solAssert where possible
| * Use solAssert instead of boost throw where possibleAlex Beregszaszi2017-07-271-5/+5
| |
* | Merge pull request #2643 from ethereum/compilerstackYoichi Hirai2017-07-272-39/+55
|\ \ | | | | | | Reorder CompilerStack to be in logical order
| * | Reorder CompilerStack to be in logical orderAlex Beregszaszi2017-07-272-39/+55
| |/
* | Merge pull request #2646 from ethereum/standardcompilerYoichi Hirai2017-07-271-18/+23
|\ \ | | | | | | Clean up error catching in StandardCompiler
| * | DocstringParsingError is not thrown anymore in StandardCompilerAlex Beregszaszi2017-07-271-16/+8
| | |
| * | Catch FatalError in StandardCompilerAlex Beregszaszi2017-07-271-3/+16
| |/
* | Merge pull request #2566 from ethereum/metadata-only-relevantchriseth2017-07-271-0/+9
|\ \ | |/ |/| Metadata: only include relevant files in the source list
| * Only include files usde in metadataAlex Beregszaszi2017-07-191-0/+9
| |
* | Merge pull request #1637 from ethereum/warn-shadowing-globalschriseth2017-07-262-12/+24
|\ \ | | | | | | Warn if shadowing built-ins
| * | Warn about shadowing variables.Alex Beregszaszi2017-07-252-12/+24
| |/
* | Add CompilerStack::setOptimiserSettingsAlex Beregszaszi2017-07-263-9/+12
| |
* | Add CompilerStack::setLibrariesAlex Beregszaszi2017-07-263-6/+12
| |
* | Remove unused interfaces from CompilerStackAlex Beregszaszi2017-07-262-38/+4
|/
* Merge pull request #2589 from ethereum/rename-onchainmetadataYoichi Hirai2017-07-193-11/+11
|\ | | | | Rename onChainMetadata to metadata
| * Rename onChainMetadata to metadataAlex Beregszaszi2017-07-193-11/+11
| |
* | Remove unneccesary interface from NatspecAlex Beregszaszi2017-07-193-31/+6
|/
* Mark const variablesAlex Beregszaszi2017-07-181-4/+4
|
* Reorder code for readabilityAlex Beregszaszi2017-07-181-9/+9
|
* Refactor exceptions and provide comment function.chriseth2017-07-131-13/+0
|
* Merge pull request #2527 from ethereum/onlyASTIfAnalysisSuccessfulchriseth2017-07-061-2/+2
|\ | | | | Only output AST if the analysis was successful.
| * Only output AST if the analysis was successful.chriseth2017-07-061-2/+2
| |
* | Do not omit error type.chriseth2017-07-061-4/+4
|/
* Merge pull request #2507 from ethereum/jsonio-safechriseth2017-07-032-14/+17
|\ | | | | Handle parsing errors in StandardCompiler
| * Use more refined states in StandardCompilerAlex Beregszaszi2017-07-031-6/+7
| |
| * Export CompilerStack stateAlex Beregszaszi2017-07-031-8/+10
| |
* | Add Julia mode as an option to EVMCodeTransformAlex Beregszaszi2017-07-031-1/+1
| |
* | Run analyzer in Julia mode if requested in AssemblyStackAlex Beregszaszi2017-07-021-1/+1
|/
* Remove Why3 error classAlex Beregszaszi2017-07-014-27/+0
|
* Remove Why3 generatorAlex Beregszaszi2017-06-252-22/+0
|
* Merge pull request #2404 from ethereum/methodidentifiersAlex Beregszaszi2017-06-223-18/+12
|\ | | | | Clean up method identifiers handling in CLI/CompilerStack
| * Make compiler.contractDefinition privateAlex Beregszaszi2017-06-221-3/+4
| |
| * Rework functionHashes into methodIdentifiersAlex Beregszaszi2017-06-223-7/+8
| |
| * Use compilerStack.functionHashes in StandardCompilerAlex Beregszaszi2017-06-221-9/+1
| |
* | Merge interface/Exceptions and interface/UtilsAlex Beregszaszi2017-06-224-47/+12
|/
* Split block code generation into main and finalize.chriseth2017-06-161-1/+1
|
* Merge pull request #2382 from ruchevits/combined-json-hasheschriseth2017-06-152-0/+11
|\ | | | | Allow including hashes of method signatures in --combined-json output
| * Reverted functionHashes output to use method signature as keysEdward Ruchevits2017-06-141-1/+1
| |
| * Allow including hashes of method signatures in --combined-json outputEdward Ruchevits2017-06-142-0/+11
| |
* | Supply text representation of assemblyAlex Beregszaszi2017-06-091-1/+3
| |
* | Introduce MachineAssemblyObjectAlex Beregszaszi2017-06-092-5/+17
|/
* Remove excess includesAlex Beregszaszi2017-06-092-1/+1
|
* Simplify CodeGenerator by remove seldom used caseAlex Beregszaszi2017-06-091-1/+2
|
* Remove error reporter from code generation phase.chriseth2017-06-082-6/+6
|
* Initial EVM1.5 assembly implementation.chriseth2017-06-081-1/+8
|
* Refactor AssemblyStackAlex Beregszaszi2017-06-072-4/+7
|
* Add analyze(block) to AssemblyStackAlex Beregszaszi2017-06-072-0/+18
|
* Reset error list in parseAndAnalyzeAlex Beregszaszi2017-06-071-0/+1
|
* Fix state after CompilerStack.reset()Alex Beregszaszi2017-06-012-1/+26
|
* Remove unused functions from CompilerStackAlex Beregszaszi2017-06-012-48/+0
|
* Refactor error reportingRhett Aultman2017-05-306-39/+328
| | | | | | | | | 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
* More comments for assemblychriseth2017-05-261-0/+2
|
* Adapt EVM codegen to new namespace.chriseth2017-05-262-16/+14
|
* Support multiple assembly front and backends.chriseth2017-05-262-0/+170
|
* Also change error message.chriseth2017-05-261-1/+1
|
* Scanner requires only the SourcesSet stateAlex Beregszaszi2017-05-251-1/+1
|
* Merge pull request #1810 from ethereum/compactJsonchriseth2017-05-221-1/+2
|\ | | | | Compact format for AST-Json.
| * Support the new AST in StandardCompilerAlex Beregszaszi2017-05-171-0/+1
| |
| * Compact format for AST-Json with backwards compatibilitychriseth2017-05-171-1/+1
| |
* | Rename CompilerStack.metadata to CompilerStack.natspecAlex Beregszaszi2017-05-193-9/+9
| |
* | Rename InterfaceHandler to NatspecAlex Beregszaszi2017-05-194-11/+11
| |
* | Split ABI out of InterfaceHandlerAlex Beregszaszi2017-05-196-105/+212
| |
* | Use CompilerStack.contractABI directlyAlex Beregszaszi2017-05-192-2/+7
| |
* | Rename CompilerStack.interface to CompilerStack.contractABIAlex Beregszaszi2017-05-192-3/+3
|/
* Ensure proper checks are in CompilerStackAlex Beregszaszi2017-05-111-4/+10
|
* Do not crash on AST if parsing failedAlex Beregszaszi2017-05-111-0/+3
|
* Merge pull request #2211 from ethereum/jsonio-fixesAlex Beregszaszi2017-05-021-3/+3
|\ | | | | Follow the JSON I/O spec closely
| * Follow the JSON I/O spec closelyAlex Beregszaszi2017-05-021-3/+3
| |
* | Remove why3 from standard compilerAlex Beregszaszi2017-05-021-24/+0
|/
* conditional reset of compilerState-Enumdjuju2017-04-291-1/+4
|
* Merge pull request #2171 from ethereum/splitParseAndAnalyzechriseth2017-04-282-17/+63
|\ | | | | refactoring parse() into two separate functions
| * error fixeddjuju2017-04-281-8/+7
| |
| * enumchecks not workingdjuju2017-04-282-15/+36
| |
| * documentation, checks and renamingdjuju2017-04-272-14/+13
| |
| * refactoring parse() into two separate functionsdjuju2017-04-272-7/+34
| |
* | Make assembler errors fatalAlex Beregszaszi2017-04-271-12/+4
| |
* | Catch assembler exceptions and throw readable Solidity exceptionsAlex Beregszaszi2017-04-271-2/+35
|/
* Catch jsoncpp exceptionsAlex Beregszaszi2017-04-251-0/+8
|
* Do not crash on invalid JSON inputAlex Beregszaszi2017-04-251-0/+4
|
* Merge pull request #2161 from ethereum/jsonio-cleanupchriseth2017-04-242-8/+12
|\ | | | | Small cleanups to JSON IO
| * Do not fail if parsing failed in StandardCompilerAlex Beregszaszi2017-04-241-1/+1
| |
| * Change error type names to not include spacesAlex Beregszaszi2017-04-241-6/+6
| |
| * Be a bit more verbose and capture Boost exceptions in StandardCompilerAlex Beregszaszi2017-04-241-1/+5
| |
* | Merge pull request #2159 from ethereum/jsonio-source-verifychriseth2017-04-241-4/+45
|\ \ | |/ |/| Verify supplied hash in JSON I/O
| * Verify supplied hash in JSON I/OAlex Beregszaszi2017-04-241-4/+45
| |
* | Document that the ReadFileCallback should not emit exceptionsAlex Beregszaszi2017-04-222-2/+4
|/
* Changed const reference to value.chriseth2017-04-221-1/+1
|
* Support URL sources in StandardCompilerAlex Beregszaszi2017-04-212-3/+35
|
* Rename ast to legacyAST in StandardCompilerAlex Beregszaszi2017-04-211-1/+1
|
* Ensure the language field is present in the JSONAlex Beregszaszi2017-04-211-0/+6
|
* Pull out collectEVMObjectAlex Beregszaszi2017-04-211-17/+19
|
* Enclose local functions in a namespaceAlex Beregszaszi2017-04-211-0/+4
|
* Support Why3 in StandardCompilerAlex Beregszaszi2017-04-211-0/+24
|
* Support gas estimates in StandardCompilerAlex Beregszaszi2017-04-211-1/+1
|
* Reject import URLs for nowAlex Beregszaszi2017-04-211-1/+6
|
* Support the metadata.useLiteralContent settingAlex Beregszaszi2017-04-211-0/+3
|
* Properly split contract filename and nameAlex Beregszaszi2017-04-211-3/+10
|
* Support linkReferencesAlex Beregszaszi2017-04-211-2/+29
|
* Support new assembly outputAlex Beregszaszi2017-04-211-3/+4
|
* Move opcodes inside the bytecode sectionAlex Beregszaszi2017-04-211-1/+2
|
* Support methodIdentifiersAlex Beregszaszi2017-04-211-1/+9
|
* Support proper error reporting in StandardCompilerAlex Beregszaszi2017-04-211-18/+104
|
* Refactor formatErrorAlex Beregszaszi2017-04-211-6/+19
|
* Fail if no sources are givenAlex Beregszaszi2017-04-211-4/+1
|
* Support the AST outputAlex Beregszaszi2017-04-211-1/+2
|
* Include source mapping identifierAlex Beregszaszi2017-04-211-0/+10
|
* Output legacyAssembly in StandardCompilerAlex Beregszaszi2017-04-211-1/+12
|
* Capture error messages from the JSON parserAlex Beregszaszi2017-04-211-2/+8
|
* Add formatFatalError() to StandardCompilerAlex Beregszaszi2017-04-211-0/+15
|
* Parse remappings in StandardCompilerAlex Beregszaszi2017-04-211-0/+5
|
* Parse libraries in StandardCompilerAlex Beregszaszi2017-04-211-0/+8
|
* Parse optimizer settings in StandardCompilerAlex Beregszaszi2017-04-211-3/+6
|
* Catch exceptions of StandardCompilerAlex Beregszaszi2017-04-212-1/+15
|
* Initial implementation of StandardCompilerAlex Beregszaszi2017-04-211-0/+132
|
* Add StandardCompiler skeletonAlex Beregszaszi2017-04-212-0/+90
|
* Fix source index allocation in CompilerStack. Depending on ↵Alex Beregszaszi2017-04-211-1/+2
| | | | compiler(optimisations) this could be off-by-one.
* Keep gas values as a string in CompilerStack::gasEstimateAlex Beregszaszi2017-04-131-3/+3
|
* Exclude fallback function from the internal functions in estimateGasAlex Beregszaszi2017-04-131-1/+2
|
* Move gasEstimate into CompilerStackAlex Beregszaszi2017-04-132-0/+88
|
* Merge pull request #2098 from ethereum/sourceformatterAlex Beregszaszi2017-04-101-0/+11
|\ | | | | Introduce formatExceptionInformation
| * Introduce formatExceptionInformationAlex Beregszaszi2017-04-101-0/+11
| |
* | Pull out ReadFile from CompilerStackAlex Beregszaszi2017-04-103-13/+50
|/
* Rename ErrorMesage to ErrorMessageAlex Beregszaszi2017-03-172-3/+3
|
* Merge pull request #1747 from ethereum/fixICEInternalConstructorYoichi Hirai2017-03-091-1/+1
|\ | | | | Move privateness of constructor into AST itself.
| * Move public constructor property into AST itself.chriseth2017-03-061-1/+1
| |
* | Merge pull request #1699 from ethereum/asmlabelsYoichi Hirai2017-03-082-0/+10
|\ \ | | | | | | Assembly labels with stack information
| * | Analysis refactoring.chriseth2017-03-032-0/+10
| |/
* | Merge pull request #1733 from ethereum/selfReferentialConstantchriseth2017-03-071-0/+9
|\ \ | | | | | | Detect cyclic dependencies between constants.
| * | Check for circular references in constant variables.chriseth2017-03-061-0/+9
| |/
* / Error constructor.chriseth2017-03-062-2/+12
|/
* Add line info to serious exceptions.chriseth2017-02-251-0/+14
|
* Extract scopes into compiler stack.chriseth2017-02-142-1/+5
|
* Refactor json return type generation.chriseth2017-01-272-20/+38
|
* Add option to store literal sources in metadataAlex Beregszaszi2017-01-262-4/+11
|
* Check if constructor is public or not.chriseth2017-01-211-1/+5
|
* Reset AST node IDs between compilation runs.chriseth2017-01-201-0/+1
|
* Merge pull request #1397 from roadriverrail/contract_collisionchriseth2017-01-182-42/+61
|\ | | | | Error out when contracts collide on name
| * Provide fall-back method for contract lookupRhett Aultman2017-01-171-1/+18
| | | | | | | | | | | | | | | | 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.
| * Remove checkLibraryNameClashes()Rhett Aultman2017-01-172-37/+0
| | | | | | | | | | | | | | | | 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.
| * Remove unique error for contract collisionRhett Aultman2017-01-171-39/+10
| | | | | | | | | | | | 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.
| * Stylistic correctionsRhett Aultman2017-01-171-8/+4
| |
| * Push the error instead of throwing itRhett Aultman2017-01-171-10/+34
| | | | | | | | | | | | | | 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.
| * Only avoid collision if it's the same fileRhett Aultman2017-01-172-12/+40
| | | | | | | | | | | | | | | | | | @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.
| * Tab whitespace cleanup (again)Rhett Aultman2017-01-171-1/+2
| |
| * Tidy up the error messageRhett Aultman2017-01-171-3/+3
| |
| * Fix tab, drop stupid '!!!', change error message.Rhett Aultman2017-01-171-3/+3
| |
| * Error out when contracts collide on nameRhett Aultman2017-01-171-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Include SOL_VERSION_COMMIT/SOL_VERSION_PLATFORM in buildinfo.hAlex Beregszaszi2017-01-171-1/+2
| |
* | Store strict version number in metadata (exclude the platform)Alex Beregszaszi2017-01-173-1/+5
|/
* fixedVoR02202017-01-121-2/+2
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* added fix and a test for order independence of nested prefixingVoR02202017-01-121-2/+2
| | | | Signed-off-by: VoR0220 <rj@erisindustries.com>
* cleanupVoR02202017-01-122-14/+15
| | | | | | | | Signed-off-by: VoR0220 <rj@erisindustries.com> fixup Signed-off-by: VoR0220 <rj@erisindustries.com>