Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide candidates when function is called using incompatible caller capabilities #98

Merged
merged 1 commit into from
Jan 25, 2018

Conversation

franklinsch
Copy link
Collaborator

This resolves #7.

@franklinsch franklinsch merged commit 20c2887 into master Jan 25, 2018
@franklinsch franklinsch deleted the better-suited-candidates branch January 25, 2018 22:39
franklinsch added a commit that referenced this pull request Feb 7, 2018
Provide candidates when function is called using incompatible caller capabilities
SusanEisenbach pushed a commit that referenced this pull request Jan 17, 2019
* [WIP] External traits (#71)

* ABNF syntax for external traits

* Add external token into Sources/Lexer/Token.swift

* Parse new token in Sources/Lexer/Lexer.swift

* Extend Sources/Parser/Parser+Declaration.swift (parseTopLevelDeclarations, parseTraitDeclaration)

* Add tests to Tests/ParserTests

* Change vim plugin to reflect external

* Parse if let statements (#69)

Parsing if let statements

* Parse do-catch statements (#68)

* ABNF grammar for do-catch statements

* Add tokens do, catch, and is Token.swift

* Add parser handling of do ... catch ...

* Add tests

* address review comments

* Address scoping in doCatch

* Fix post catch body scoping

* Parse external calls (#70)

* ABNF grammar for external calls

* Adding backticks for consistency

* Add call token and parse it in lexer

* Add ExternalCall ASTNode

* Parse external calls

* Moved external trait test to Integration folder

* Fix all target in Makefile

* Added tests

* Remove semicolon from Makefile

* Add comment

* Change variable name x to paramVisit

* Remove unnecessary backticks for non-keywords

* Introduce mode enum for external calls

* Removed ASTPass.swift generated file

* Address style changes for enum members

* Prioritise external call on top of binary expression, inside parseExpression

* Remove useless type function

* Create PR

* Add stubs and comments for changes required

* Add external call semantic error messages

* Add isInsideDo context variable

* Add external call type checks

* Remove  from

* Remove  requirements reflecting changed proposal

* Add stubs and comments for changes required

* Add external call semantic error messages

* Add isInsideDo context variable

* Add external call type checks

* Remove  from

* Remove  requirements reflecting changed proposal

* Add semantic checks

* Merge external call semantic checks

* Correct pass context for isInsideDoBlock variable

* Move optional type external call variable declaration to BinaryExpression process function

* Add accidentally deleted process(functionalCall, ...) function

* Improve variable names and comment new error function

* Remove isInsideIfCondition context element

* Add external call in nested do-catch test

* Replace isInsideDoCatch context variable by counter to support nested do-catches

* Replace backticks with single quotation marks in error messages

* Replace backticks with single quotation marks in test case

* added semantic checks for external call hyperparameter types and usage (#106)

Added semantic checks for correct hyperparameter types and usages regarding payable and non-payable functions.

* Fix dot associativity (#116)

* fix associativity of dot

* fix linux not running all tests

* fix function calls and variable dereferencing by adding new pass

* fix linter errors in EnclosingTypeAssigner

* add fix for loop variables

* fix property ordering

Properties were added to special declaration bodies in a different order
to how they were declared. This probably isn't a problem right now, but
might be a problem down the line so since I came across it I fixed it.

* Revert "fix property ordering"

This reverts commit d4917f4.

* fix codegen for memory test, same issue as for ForStatement

* update comments to be more descriptive

* fix pivot op tokens

* Implement casting parsing (#102)

* work in progress – adding parsing for as as? as!

* parse as

* type conversions parser testing

* fix linter issue

* add semantic checks for as? as occurrence

* wip compat check

* add reinterpret checks + tests

* add semantic analyzer tests and messages when types cannot be reinterpreted

* add isSolidityType

* fix tabs

* ignore swp

* fix external call type resolution and rename x-call flag

* preliminary checks and diagnostic message

* fix rebase isExternalCall => isExternalFunctionCall

* correct ExternalCall visit not passing forward process result

* fix type conversion tests

* indicate kind when dumping AST of TCX

* early return in default case for corrected enclosing type resolution in binary expressions

* return true in isComplexStatement for x-calls and tcx

* Add stubs and comments for changes required

* Add external call semantic error messages

* Add isInsideDo context variable

* Add external call type checks

* Remove  from

* Remove  requirements reflecting changed proposal

* Add semantic checks

* Merge external call semantic checks

* Correct pass context for isInsideDoBlock variable

* Move optional type external call variable declaration to BinaryExpression process function

* Improve variable names and comment new error function

* Remove isInsideIfCondition context element

* Add external call in nested do-catch test

* Replace isInsideDoCatch context variable by counter to support nested do-catches

* Replace backticks with single quotation marks in error messages

* Replace backticks with single quotation marks in test case

* Rebase

* Merge
SusanEisenbach pushed a commit that referenced this pull request Jan 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Provide function candidates when function is called with incorrect capabilities
1 participant