1
0
Fork 0
Commit Graph

167 Commits (master)

Author SHA1 Message Date
Mike Gerwitz 5c3b7ab042
Modernize documentation examples
Despite working with ES3+, the perceived age of the project is probably a
deterrent, and we really should be showing users the modern way of doing
things.

`impl-details.texi' was _not_ modernized because those details are indeed
specific to ES3.

* doc/classes.texi:
* doc/integration.texi:
* doc/interop.texi:
* doc/mkeywords.texi: Update documentation.
2017-11-02 00:52:00 -04:00
Mike Gerwitz 6c6e41c415
Add Class.assert{InstanceOf,isA}
* lib/class.js (assertInstanceOf, assertIsA): New methods.
* test/Class/GeneralTest.js: Add respective tests.
* doc/classes.texi (Type Checks and Polymorphism): Add reference for
    methods.  Update and format text.  Add indexes for "polymorphism",
    "type checking", and "duck typing".
2017-10-27 23:46:16 -04:00
Mike Gerwitz 90fd1a8d08
`override' implies `virtual'
This behavior is consistent with other OO languages like C++ and C# that do
not have virtual methods by default.

This solution isn't ideal, but I don't have time for a larger refactoring
right now.  I sat on this change for a good few weeks before committing it
unchanged.

* lib/MemberBuilderValidator.js (validateMethod): Allow override of
  supertype overrides.

* test/*: Stripped `virtual' keyword where appropriate.

* doc/classes.texi (Inheritance): Update to state that `override' implies
  `virtual'.
2017-06-30 02:01:40 -04:00
Mike Gerwitz 311118de81
Copyright 2017 year update on manual and headers
I'm starting to get old.  And so's ease.js.

* doc/easejs.texi: Add 2017 copyright year.
* tools/combine-test.tpl: Add 2017 copyright year.
* tools/license-min.tpl: Add 2017 copyright year.
* tools/license.tpl: Add 2017 copyright year.
2017-01-02 23:42:23 -05:00
Mike Gerwitz ab4874e285
Add constructor reference caveat to manual
* doc/classes.texi: Add caveat for referencing the constructor when using
  ES6-style naming.
2017-01-02 23:38:48 -05:00
Mike Gerwitz 92c57c8ffe
Constructor virtual by default
* lib/ClassBuilder.js (_keywordParser): Make __construct virtual.
* test/Class/ConstructorTest.js: Add test.

* doc/classes.texi (Constructors): Update documentation.
2017-01-02 23:30:33 -05:00
Mike Gerwitz e39ff83b40
Rework constructor section in manual
My writing style has changed quite a bit since this was first written.

* doc/classes.text (Constructors):
  Reword section.
  Remove reference to static classes and singletons (we do not want to
    encourage such things).
  Add mention of good constructor practices.
2017-01-02 22:34:43 -05:00
Mike Gerwitz 18b2c13f7b
Update copyright years on main Texinfo manual page
* doc/easejs.texi: Add 201{5,6} to copyright years
2016-07-16 00:27:06 -04:00
Mike Gerwitz c662106e86
Copyright year update on classes.texi
* doc/classes.texi: Add 2016 to copyright
2016-07-15 23:43:21 -04:00
Mike Gerwitz ef5eade499
Add "Class Caveats" manual section
This will grow.

* doc/classes.texi (Class Caveats): Added with `this.__inst' documentation
2016-07-15 23:35:36 -04:00
Mike Gerwitz 30e7feefc9
Remove strong recommendation for `public' in manual
* doc/classes.texi (Defining Classes): Remove the recommendation for using
  the `public' keyword always (instead of omitting it), and the reference
  stating that it may be required in the future.  This is not the case.
2016-07-15 13:40:15 -04:00
Mike Gerwitz a7e1d2ad70
Error constructor integration into ClassBuilder
This introduces the transparent subtyping.

* doc/classes.texi (Error Subtyping): Section added

* lib/ClassBuilder.js (ClassBuilder): Accepts ErrorCtor instance
  (build): Transparent Error subtyping

* lib/class.js: Provide ErrorCtor instance to ClassBuilder

* test/ClassBuilder/ErrorExtendTest.js: Add test case for transparent error
  subtyping
2016-07-15 00:21:06 -04:00
Mike Gerwitz 7dfb288ba7 dia check via configure 2015-12-22 22:52:04 -05:00
Mike Gerwitz d4478cdcd1
distcheck target fix
`make distcheck` now works as expected (does not fail).
2015-12-22 11:45:14 -05:00
Mike Gerwitz c0a1a9bdcc
[copyright] Copyright update for recent changes 2015 2015-10-26 22:49:28 -04:00
Mike Gerwitz 02e8b796ee
Documentation compatibility with Texinfo 5.2
I upgraded Texinfo recently and found that ease.js' documentation would no
longer compile.  The errors make sense, but it's an unfortunate regression.
The previous version that I was using was 4.13, which is quite old.
2015-10-17 00:11:28 -04:00
Mike Gerwitz 0e26f9fd0f Strip `public` keyword from __construct in docs
It must be public, so by convention, I don't include it anymore.  But this
is personal preference.
2015-09-16 00:38:04 -04:00
Mike Gerwitz 90aa74d0cb ES6-style constructor added to documentation 2015-09-16 00:37:24 -04:00
Mike Gerwitz 1fe8a0e8d6
Remove interactive.js jQuery dependency
Importantly, this also removes loading from ajax.googleapis.com, which is a
problem, because the domain must be allowed using NoScript, and hosts many
other things.

Why this was added to begin with is beyond me.  Perhaps it demonstrates my
novice abilities back in the day.
2015-08-23 00:37:24 -04:00
Mike Gerwitz 1d828b7ee2
LibreJS license header for doc/interactive.js 2015-07-06 23:42:53 -04:00
Mike Gerwitz db3ade378a
[copyright] Copyright update 2015-05-28 01:01:51 -04:00
Mike Gerwitz 98e76be94f
Implementation note on this.__super scope with private method calls 2015-05-27 23:23:26 -04:00
Mike Gerwitz 1484806456
Documentation for `super` method reference 2014-07-28 00:00:58 -04:00
Mike Gerwitz 2a8965f17d Added section to manual on interoperable polymorphism 2014-04-29 02:03:51 -04:00
Mike Gerwitz 8cfe231a63 Began work on interop chapter of manual 2014-04-29 02:03:51 -04:00
Mike Gerwitz a537721ea1
Added documentation for implicit private members 2014-04-20 02:53:02 -04:00
Mike Gerwitz 82a02c0081 [copyright] Copyright assignment to the FSF
Thanks to Donald Robertson III for his help and guidance during this
process.
2014-04-09 19:05:07 -04:00
Mike Gerwitz 74b4525f00
Added details of private method wrapping exemption to manual 2014-03-20 23:55:16 -04:00
Mike Gerwitz c5b6562d34 Mention of "Traits as mixins" in README.md and manual
No documentation yet; this is planned for the 0.2.1 release to prevent
further delays of the first GNU release.
2014-03-15 21:16:27 -04:00
Mike Gerwitz 89f00e0cdd [copyright] Copyright update 2014-01-20 22:55:29 -05:00
Mike Gerwitz e07ebc8028 Added mention of liza
The recently liberated work-in-progress framework for which I originally
created ease.js; it's nice to be able to complete that part of this
project's history. :)
2014-01-17 22:33:04 -05:00
Mike Gerwitz 4b871dabc8 Corrected all line lengths in doc/
Now conforms to tools/linechk's 76-char limitation.
2014-01-17 22:30:15 -05:00
Mike Gerwitz 4cde73e205 Moved easejs.texi copyright comment header
This must appear below the line that inputs the Texinfo macros; otherwise,
any Tex output contains all @c lines, since the macro has not yet been
defined (and @ isn't even an escape character yet).
2014-01-16 23:48:51 -05:00
Mike Gerwitz ffad3b81f3 [copyright] Copyright update 2014-01-06 21:48:55 -05:00
Mike Gerwitz ddfea8a173 [copyright] Added 2014 to easejs.texi 2014-01-06 00:48:37 -05:00
Mike Gerwitz b74698a8eb Added initial, basic documentation for method proxies
Implementation details will follow; this has gone undocumented long enough
and it does not feel right making another release without this.
2014-01-06 00:42:32 -05:00
Mike Gerwitz 4efa6b0438 Added GNU to `ease.js' in certain manual titles
For consistency and to promote GNU
2014-01-06 00:14:02 -05:00
Mike Gerwitz 5511ef78b5 Manual corrections for class examples; overrides must be virtual
Artifact from pre-virtual days.
2013-12-25 02:04:30 -05:00
Mike Gerwitz a11a1a4efc Corrected html dep ordering issue to ensure img files are built 2013-12-24 23:55:14 -05:00
Mike Gerwitz fdd7d0f1b2 doc Makefile modified to let automake do much of the work
Also no longer using build/ directory for output and using -o in favor of stdout
to correct @contents error.
2013-12-24 23:50:25 -05:00
Mike Gerwitz 2d928215cd automake did not seem to update version.texi when included inside header comments 2013-12-24 23:03:10 -05:00
Mike Gerwitz 018351e565 [copyright] Copyright update for texinfo documents and misc. scripts 2013-12-23 00:39:48 -05:00
Mike Gerwitz 8b83add95f ease.js is now GNU ease.js.
On Sun, Dec 22, 2013 at 03:31:08AM -0500, Richard Stallman wrote:
> I hereby dub ease.js a GNU package, and you its maintainer.
>
> Please don't forget to mention prominently in the README file and
> other suitable documentation places that it is a GNU program.
2013-12-23 00:27:18 -05:00
Mike Gerwitz 26dffce00a [copyright] Copyright update after adding --follow to copyright script 2013-12-22 22:50:29 -05:00
Mike Gerwitz bef545b425 Corrected doc Makefile EXTRA_DIST img/ 2013-12-22 01:05:31 -05:00
Mike Gerwitz 3d3cb42982 Corrected @setfilename for easejs.texi 2013-12-22 01:05:30 -05:00
Mike Gerwitz efc82bb9a9 {manual=>easejs}.texi
Brandon Invergo recommended the name change so that the info file was
identifiable after installation.
2013-12-21 23:58:02 -05:00
Mike Gerwitz 9ec3529b60 verset will no longer update version.tex; deprecated by previous commit 2013-12-21 23:43:47 -05:00
Brandon Invergo f9bb93c54d Applied autotool-related patch by Brandon Invergo
On Sat, Dec 21, 2013 at 12:29:23PM +0000, Brandon Invergo wrote:
> - configure.ac: add "foreign" to the AM_INIT statement so you don't have
>   to do it from the command line
>
> - configure.ac: add a test for midair -p, which is standard boilerplate
>   stuff
>
> - configure.ac: let the user dictate the locations of the java, node and
>   closure-compiler executables via the JAVA, NODE and CCJAR environment
>   variables
>
> - Makefile.am: use the MKDIR_P and CCJAR environment variables insntead
>   of hard-coded paths
>
> - doc/Makefile: rename to doc/Makefile.am
>
> - doc/Makefile.am: remove manual infodoc handling; Automake can automate
>   this stuff
>
> - doc/Makefile.am: support installing the documentation (install-plain,
>   install-pdf, install-html), which gets installed usually to
>   ${prefix}/share/doc/easejs (i.e. /usr/share/doc/easejs)
>
> - doc/classes.texi: fix some @ref macros
>
> - doc/manual.texi: fix the @include location
2013-12-21 23:31:45 -05:00
Mike Gerwitz 2a76be2461
[copyright] Copyright update 2013-12-20 00:50:54 -05:00