1
0
mirror of https://github.com/robertkrimen/otto synced 2025-10-12 20:27:30 +08:00
Commit Graph

23 Commits

Author SHA1 Message Date
Steven Hartland
233dfa4ef0
chore: remove perl, make and local docs. (#476)
Remove the dependencies on perl and make.

inline.pl is replaced by tools/gen-jscore and token/tokenfmt is replaced
by tools/gen-tokens which are both golang text/template utilities.

gen-jscore uses property ordering that matches chromes output ordering
adding missing properties to the Error types.

Local generated documentation have been removed as https://pkg.go.dev/
is more feature rich.

The use of make has been removed as the functionality is now replicated by
standard golang tools go test ./... and go generate ./... as well as integrated
into github actions.
2022-12-05 22:19:34 +00:00
Steven Hartland
026a1d9a9c
chore: lint and naming refactor (#475)
Enable more linters, address the issues and do a major naming refactor
to use golang lower camelCase identifiers for types, functions, methods
and variable names.

Also: 
* Clean up inline generation so it doesn't rely on temporary variables.
* Remove unused functions generated by inline.pl.
2022-12-04 21:49:38 +00:00
Steven Hartland
242e87ac0e
fix(ast): invalid idx1 for new expression (#473)
Fix invalid Idx1() return for NewExpression when there are no
parenthesis.

Fixes #261
2022-11-29 13:55:47 +00:00
Steven Hartland
93fb47cccc
fix(ast): walk missing nodes (#471)
Fix ast.Walk missing out:
* DotExpressions.Identifier
* LabelledStatement.Label

Fixes #299
2022-11-29 11:09:56 +00:00
Steven Hartland
7009038f79
fix: linting errors (#441)
Disable new linters which aren't compatible with this code module.

Upgrade github actions to fix caching issues.

Run go mod to bring in new styling.

Remove space on nolint declarations.

Apply all changes to whitespace as required to pass goimports linter.

Only trigger checks on pull_request which works for pulls from other
forks, where as push only works from the same repo.
2022-10-08 00:12:19 +01:00
Steven Hartland
9297a9abe4
feat: add github action tests and linting (#418)
Leverage github actions for tests and linting.

This includes fixing a bunch of issues highlighted by golangci
including:
* Dead code.
* Ineffectual assigns.
* Goto warnings.
* Nil return err.
* Reused literal strings.
* Test parameter order.

Also:
* Setup clog.
2021-09-27 16:19:28 +01:00
Eddy Reyes
50ed21f88e Walk/Visitor should follow Enter/Exit Pattern (#258)
* (#257) Change Walk/Visit to follow an explicit Enter/Exit pattern

* (#257) Convert walk example into test.

* (#257) restore walk/visitor example

* (#257) Fix godoc comment in the Visitor interface

... typo referred to `End` method instead of `Exit`
2017-07-21 20:42:34 +01:00
Olivier Poitrey
49fee9c1c0 Add a an ast.Walk utility function (#250) 2017-06-04 11:36:02 +01:00
Wael Nasreddine
bc4cd51799 ast: ThisExpression.Idx1() should point to the end of this (#251) 2017-06-02 10:04:14 +01:00
wolfgarnet
ab433a4a50 Improved comment map
* More precise
* Line break special cases supported
* Less intrusive
2016-02-22 15:16:41 +01:00
wolfgarnet
1003ce01cb DotExpression identifier as pointer 2016-02-19 13:15:14 +01:00
wolfgarnet
3b2178bf55 Added FunctionStatement 2016-02-19 13:14:42 +01:00
wolfgarnet
09ad467104 [#148] Lower cased errors 2016-01-11 09:20:14 +01:00
wolfgarnet
fc505844b4 [#148] Removed superfluous lines 2016-01-11 09:15:29 +01:00
wolfgarnet
17dd6bba73 [#148] Removed display comment map 2016-01-06 09:25:44 +01:00
wolfgarnet
6cd63e968f [#148] Added empty expressions instead of nil
Instead of having nils for empty array elements, empty expressions are used.
This will add support for comments for empty array elements.
2016-01-04 11:06:22 +01:00
wolfgarnet
b9d17aea26 [#148] Added empty expression 2016-01-04 11:06:04 +01:00
wolfgarnet
af88758381 [#148] Storing comments to a commentmap 2015-12-17 13:50:33 +01:00
Robert Krimen
e6768252c2 Improve error reporting
* Delay entering global scope on code evaluation, not runtime creation

This fixes #66
2014-06-12 21:27:32 -07:00
Robert Krimen
bf7b16f4a3 Add internal compilation step
* Streamline what we get from "otto/parser"
* Get rid of some "otto/parser" cruft
* FunctionExpression => FunctionLiteral
* The debugger statement (debugger) should do nothing (not panic)
* Fix aspects of function expression call evaluation
2014-04-19 14:05:51 -07:00
Robert Krimen
8aca2c886a Disable script marshalling/unmarshalling for now 2014-04-15 18:34:24 -07:00
Robert Krimen
142951ac5a Add Script marshalling/unmarshalling 2014-04-13 19:47:23 -07:00
Robert Krimen
ad8a97c028 New parser
* Faster, more straightforward, etc.
* More advanced object literals (get ..., set ...)
* More tests using JavaScript from the wild (http://cdnjs.com/)
2014-04-10 20:42:25 -07:00