[openjfx-compiler~marina-mixins] mercurial commit: revision of JFXC-3089 - Collapse on-replace triggers into setter (by jl232587)

  • From: James.Laskey@...
  • To: commits@...
  • Subject: [openjfx-compiler~marina-mixins] mercurial commit: revision of JFXC-3089 - Collapse on-replace triggers into setter (by jl232587)
  • Date: Wed, 13 May 2009 19:20:35 +0000

Project:    openjfx-compiler
Repository: marina-mixins
Revision:   5138
Author:     jl232587
Date:       2009-05-13 17:05:02 UTC
Link:       
http://kenai.com/projects/openjfx-compiler/sources/marina-mixins/revision/5138

Log Message:
------------

Initial data for the openjfx-compiler project.
auto commit for alm editor.
auto commit for alm editor.
Committed through web interface.
Committed through web interface.
initial checkin of web content for July release
changed references to 'Javafx Compiler' to 'OpenJFX Compiler'
more changes based on feedbacks
OpenJFX Compiler is the 'project' name, so corrected references to compiler 
'product' name as JavaFX compiler.
Initial import.
minor mods after html markups were validated
Add preliminary grammar as an appendix.
Committed through web interface.
Committed through web interface.
test
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Changed project name to JavaFX Compiler, made jar name lower-case to match 
build message.

Committed through web interface.
Committed through web interface.
Updated "early stages" warning with Robert's new text.
Added language spec generation question
Committed through web interface.
Committed through web interface.




Fixed error in parsing attribute initializer. Removed an extra nextToken(). 
statement() VAR case now consistent with attributeDefinition -- accept(EQ); 
is called.
Initial replace trigger functionality. Fixed a problem with not entering 
JavaFX primitive types into the compilation unit -- for on-demand imports and 
error reporting if imported a Java class with same name.
Set the result of the Attr visitor when setting the type of JavaFX primitive 
type VarDecl.
Add Duration class for implementing animations.
Added ANTLR parser option.

You will now need an ANTLR runtime to build the compiler.  Get it from:

        http://www.antlr.org/download.html

If you won't be working with the grammar get the "ANTLR tool+runtime binary 
only jar".
If you will, I recommend getting ANTLRWorks (which includes the runtime).

Current default is to use the old hand-written parser, as the error handling 
isn't there in the ANTLR version yet (doesn't even stop).  But to use the 
ANTLR based parser when you run the compiler, include

     -XDparser=vn
Fixed a type inference bug.
Fixed error creating this for instantiating the Ecpression Location.
Fixed an NPE in JavafxMembrerEnter.
ANTLR parser fixes --
 JavaFX integrated error handling.
 tree position information.
 grammar fixes
@Override does not work properly for methods that implement interfaces; see 
bug 5008260.  (Also confuses some IDEs).
Full String Expression implementation
(in ANTLR parser only)
with regression test.
Switch to ANTLR parser default.   Use -XDparser=old for old parser.
All parsing is now better in ANTLR.
Fix handling of single inheritance in Javafx2Java translator.
Fix handling of removed trees in JavafxTreeTranslator.
Add two broad coverage regression test.  One of which "All" doesn't quite 
work and has lots commented out which don't work yet.
Extract interface for Location; turn previous Location abstract class into 
AbstractLocation.
Create simpler ANT build that is not dependent on NB (alt-build.xml); 
formalize milestone process; check-in first milestone (M1) which demonstrates 
compilation of simple expressions.
Create javafxc ANT task.  Requires ANT runtime library in the build class 
path.
Separate ANT task into separate subproject with its own build.xml.  Must put 
ant task jar into ANT classpath when using main build.
alt-build uses javafx task to build milestone
alt-build uses javafx task to build milestone
Re-generated with some more patches to Gen.java and Code.java.
Add milestones M2 (simple binding of variables, passes) and M3 (simple 
binding of attributes, does not currently pass)
Add milestone M4, instantiate a JFrame using raw Swing calls (passes).
Add new JFXBlockExpression subclass of JCExpression.
Add support code in Vistors etc.
Use it to parse block-expressions  Change parsing of 'if' and function-bodies.
Remove code re-ordering using prependInFrontOfStatement.
Change "old" compiler to default, until -parser option works.
Updated build so local copy of ANTLR isn't needed, added spec build target.
Added "all" target for continuous build.
Made some more methods public, in Items.java and Code.java.
Fix so BlockExpressions get pretty-printed, even if called via
plain Pretty.java - as called by JCTree.toString.
When generating code a BlockExpression, the result value
may need to be loaded on the JVM stack.
Update for latest javac, using JCTree.getTag method.
Patch file containing needed javac changes.
Enabled unit testing, fixed existing unit test class names to match 
*Test.java pattern, added test to test class that didn't define any tests.
Added junit, since build server uses a clean JDK environment.
Added v2.g grammar corresponding to the currently implemented and currently 
agreed grammar.  Make it non-ambiguous and LL(*).  Leave default the old 
parser, until BlockExpressions are integrated into it.

Begin transition from old AST.  Rename AST node needed only for backward 
compatibility "Retro".

Fix some non-LL(*) cases in v1.g, since it is the base.

Properly set PARAMETER flag on parameter vars.
Add BlockExpressions in v2.g grammar.

JavafxTreeMaker def/decl AST conversion.
Continue to move toward new AST form.

Plus minor clean-up.
Def/decl merge ...

Use consistent naming.

Remove unused symbol fields.
Revamp declaration AST nodes
Added entries for continuous build, fisheye browser.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
Committed through web interface.
v2 grammar now default.  v2 grammar is the implemented subset of the 
language.   It moves towards being an expression langauge, including support 
for block expressions, a single "if" form. etc.  It unfies the declaration 
and definition of class members.

Add ASTs for unified member declaration and definition.

Conversion of function body to block done in Javafx2Java (not in parser).

Lots of clean-up.
Until we have and in preparation for having JavaFX JUnit tests, this is the 
very beginning of a set of tests.  Please run these before doing a commit.

Not the tests in test/scripts are  broken, out-of-date and the wrong 
granularity.
Updated path to use Java-standard separators.
Rename according to naming convention: XxxTest is a runnable test case; 
XxxTestCase is an abstract test case.
Partial implementation for sequences: interface, abstract class (not 
complete), concrete classes for empty, singleton, array-backed, integer 
range, composite, filtering, subsequence extraction; JUnit test case for 
implemented functionality.
Added javax.tools.Tool programmatic interface, framework that tests 
compilation of .fx files (doesn't test execution yet).
Fix Issue 18 by updating M3.fx to current syntax and addressing Location 
initialization for attributes without initializing expressions.
Fixed a bug reported by Robert.
Finish implementation of AbstractSequence; test coverage
Add implementation (and tests) for sequence.set(position, value)
Add missing @Override annotations
Fix bugs detected by IDE inspections
Added javax.tools.Tool programmatic interface, framework that tests 
compilation of .fx files (doesn't test execution yet).
Make Sequence.get() return 0 for Integer sequences and Double sequences, so 
that calling code need not check for nulls.
Add specification for Sequence and Sequences; fix omission in BooleanLocation
Grammar and AST support for init & on change.
Clean up JFXAbstractMember.
Test for last commit.
Turn M3 back on.
Add support for foreach comprehension
Initial replacement of constructor with initialize method.
Fixed spec generation.
Modify FXCompilerTest framework to mimic directory structure of test source, 
so that files in test/milestones/M3 are built in build/test/milestones/M3, to 
facilitate isolation of test cases from each other.
Bind on class attribututes.

Bind to boolean expressions.

Hack to remove incorrect constant determination coming from phases before the 
type morpher.
Add regression test for bind on class attribututes and on module variables.
Extend FXCompilerTest framework to actually RUN the tests, writing out 
contents of standard out and standard error to 
test/build/.../testName.fx.{ERROR,OUTPUT}, and failing if anything is written 
to std err.
Add a test directory for failing tests (with Issues) -- "fail"

As suggested, rename "scripts" to more appropriate "sandbox"

Delete duplicate tests.
Add fail test for Issue 21.

Add comment to fail test for Issue 20.
Add fail test for Issue 22.
Make else part of if-expression optional (since it is the only if now).  
Choose null as value of else side (rather than void) as this seems more in 
keeping with lenient language.
Test missing else part in if-expression.
Fail test for BlockExpression without terminal expression break Attr -- issue 
23
Make ant task self-describing.
Remove "legacy" partial Sequence implementation.
Implemented object literal and default attribute values setting. Handled in 
the synthetic initialize$() method.
Minor cleanup.
Disabled initialization code. It exposes error in JavafxTypeMorpher and 
breaks the bind.fx test. The code:
        /*synthetic*/ public void initializer$() {
            if (alpha == 0) alpha = 3;
            if (beta == 0) beta = alpha * 10;
        }

translates into:
        /*synthetic*/ public void initializer$() {
            if (alpha.get() == 0) alpha.set(3);
            if (beta.get() == 0) beta.set(args[0].asInt().get() * 10);
        }
args[0] should be alpha.
Turned off explicit fail task call for tests, so Hudson reports a build with 
test failures as UNSTABLE (yellow light).
Added failing test to verify Hudson responds with an UNSTABLE build status.
Removed failing dummy test, as Hudson reported it correctly.
Extend test framework to compare output of tests to expected output.  For 
each test file f, if the file f.EXPECTED exists, it compares the test output 
with the expected file and fails if the files are not identical.
Remove expected files for tests that don't produce deterministic output.
Removed dependency on java.class.path property for ant library (individual 
classpaths can be very different).
Add Sequences.make factory; split M5 into M5 and M6
Put the initialization visitor after the morpher. This hides the morpher 
problem.
Put the initialization visitor after the morpher. This hides the morpher 
problem.
Grammar and JavaFX AST part of sequence creation expressions. (not usable yet)

Remove BlockExpression from operator list.

Clean-up.
Make SequenceMapper map from T to V, rather than T to T
Minor code cleanup pass; mark methods @Override, satisfy other code-inspector 
warnings.
Minor code cleanup pass; mark methods @Override, satisfy other code-inspector 
warnings.
Class supertypes now JCExpression (JCIdent) instead of (positionless) Name.

Allow for implemented interfaces on class.

Syntax (probably temporary work-around) specify "implements" and a list of 
interfaces in v2 grammar.
More initialization implementation.
More initialization implementation.
More initialization implementation. Now after a NewClass AST for Javafx 
classes, the javafx$init method is called.
Process object literal part as definitional assignment.
Hooked up the new init and postprocess blocks into the initialization handler.
A better test.
on-change triggers implemented. An anonymous class is generated for each 
attribute on-change block. javafx$init$ method calls 
addChangeListener(ChangeListenerEntry) on the Location object of the 
attribute to register the anonymous listener.As of now the change listener is 
a strong reference to the anonymous class.
Generate line number information.
In FX2Java, translate on change subtree.
Unconstify on change subtree.
Type morph on change subtree.
Allow generated classes without apply methods.
Update init.fx test.
Translate attribute and function modifiers.
Workaround: initialization and object literal code will need access to modify 
readonly (aka final) attributes.
Check in tools bootstrap build files, in preparation for removing tools 
archives from svn
Check in tools bootstrap build files, in preparation for removing tools 
archives from svn
Fixed a bug reported by Brian.
Fix NPE on inferring type of method containing var def.
Start FishEye at trunk build.
Committed through web interface.
Committed through web interface.

Testing (removed ! in welcome msg)
Remove tools from SVN; instead, rely on tools.dir directory.  If you're not 
using <checkout-dir/tools for your tools, must set =Dtools.dir=xxx on 
command line (already done this for build server).
Add findbugs target to main build.
Removed empty directory.
Tell FindBugs to push the results of each build to the /export directory, 
where we can monitor bug trends.
Extend block expression visit hack so that it visits var usage analysis.
In var usage analysis, mark binding on bind var.
Fix pretty printing of block expressions.
Comment out apply0-2 methods until needed.
Allow module name and contained class to have the same name.
Module level operations accessible as statics.
JavafxModuleBuilder: prepare for merging with Javafx2JavaTransformer.
JavafxTreeMaker: fix ClassDeclaration case w/o interfaces.
Init builder: handle the case where there are no new-class expressions.
New location implementation that handles both instances and sequences; test 
cases
Add specification comments; optimize update path for already-valid expression 
locations.
Add utility prettyPrint method
Allow access to attributes in classes of separate modules
        - these attributes have been converted to Locations
        - change the type checking to convert Locations
Fix the implementation of "implements".
At least for now,add "Void" type so we can workaround type missmatches.
Rename JavaFX "run" method so it doesn't clash with normal (eg, Runnable) 
"run" method.
Add Double{Expression,Location,Var}, ObjectExpression
Add SequenceExpression; optimize notification in SequenceVar
Test cases for sequence-valued bound expressions; bug fixes.
Add download description for emma code coverage tool; exclude findbugs 
warnings from antlr-generated classes
Add download description for emma code coverage tool
Swap out cobertura coverage for emma
Modify build scripts to gather Cobertura coverage data during tests and 
publish results.
Allow use of attributes in external modules.  For example, object literals on 
classes in external modules.

Also, clean-up some warnings.
Reduce findbugs warning count
Updated instructions to describe how to apply patch.
More tests; some test refactoring.
Part of previous checkin; fix broken build.
Fold ANT task into main build; eliminate separate ant-task JAR.
Overhaul in preparation to moving to new Location implementation.

Allow qualified type name on "new".
Recast milestone tests as feature tests
Recast milestone tests as feature tests
Recast milestone tests as feature tests
Respect @test and @run tags in test cases.
Rename milestone tests to features
Give generated test cases more meaningful names
Clean up after botched rename operation
Exclude .fx files from build jar (like .java files), added cobertura to 
bootstrap.xml's clean target, set Subversion's ignore property for the build, 
dist, and tools directories.
Added bootstrap directory to ignore list.
NetBeans 6.0 support file auto-update.
Turn off feature tests F5 and F6 for now; fix F2 to not change its output 
every day; add some simple test cases for DoubleLocation and ObjectLocation.
Changed test to use GMT, so tests pass when run in any timezone.
Add feature test for multiple module support.
Add expected output for func.fx and newInstance.fx

Update  func.fx so that its output is comparable.

Add @run to regression tests so that they run again.
Add test framework support for multi-module tests; get rid of all dates in 
tests because it is too hard to get the timezones right.
Add feature test case for change triggers.  Currently fails.
Refinement of test case F8
Add efficient reverse() operation on sequences.
feature test F7 --

Flesh it out with cross-module object literal, bind, and assignment.  Each 
with all types.
Test module name-space model.
Add expected file.
Get compiler to shut up about Unsafe.
Add SequenceBuilder, Sequence.flatten(), add lazy map() operation, more test 
cases for multi-dimensional comprehensions.
More test cases for list comprehensions; create special case implementations 
for cartesian-product comprehensions; roll up SequenceInternal into Sequence.
Issue 24: allow FQN for method return type.
Simple command-line scripts for *nix and Windows.  The *nix script has 
bootclasspath
support for OS X, but hasn't been tested.
Runtime support for nontrivial (bijective) bidirectional binding.  
Bidirectional bindings are created with Bindings.bijectiveBind(...).

Add support for change listeners that manage their own weak references.

Create wrappers to create ObjectLocation views of {Int,Double,...} locations.

Add MutableLocation marker interface.

Extend GC tests to make sure that weak references behave as expected.
Test case for chained bijective bindings.
Add Boolean versions of Location classes.
Fix (accurate) FindBugs warning in BijectiveBinding
Merged runtime jars into single jar file; added check for tools and call 
bootstrap.xml if not present; modified command-line scripts to use 
bootclasspath.
Add support to detect, and reject, circular bijective bindings.

Fix (accurate) FindBugs warning in CompositeSequence.
More circular binding tests
Generate XML coverage report as well, for the coverage plugin
Push generated artifacts to subdirectory of docroot directory in hudson build
Publish more artifacts to web server; enable javadoc build
Use svnstat to generate subversion statistics.
Use svnstat to generate subversion statistics.
Giving up on svnstat for now.
Some build changes: generate HTML instead of XHTML for docs; build parser 
from ANTLR source.
Fixed bootstrap on new workspace, delete ANTLR generated files during clean.
added bootstrap test for additional antlr jar file
New feature tests for BlockExpressions.
New feature tests for function values.
Visitor reorg -- first part. This will break Hudson builds.
Visitor reorg -- second part. This will break Hudson builds.
Visitor reorg -- third part. This will break Hudson builds.
Visitor reorg -- fifth part. Disabling this test. This will break Hudson 
builds.
Visitor reorg merge -- javac changes. Need to do more fixes.
Disabled failing tests.
Change from Robert.
Made some functions from TreeTranslator visible.
Fixed a bug in JavafxModuleBuilder and re-enabled F9 test.
Switch to new Location implementation:
   Switch to a closure based model for expression Locations.
   Overhaul type morpher.
   Eliminate Context interface and apply methods.
   Use new ChangeListener in init builder.
Remove unconstify work-around.
Fix vars marked as parameters by parser.
Mark bound/bound-to vars final and attributes not.
Fix block expression bug in Lower (and elsewhere) where local scanners miss 
the contents of block expressions by generalizing the hack in 
JFXBlockExpression to all TreeScanners and TreeTranslators.
Delete old Location implementation.
fixed parser file generation in NetBeans
Implement lazy bind.
Associated new feature test.
Fix warnings caused by the form of the generic trees being generated.
Note:  test\regress\newJavaInstance.fx continues to give warning since this 
due to the general problem being discussed.
Also copy diagnostic position of generated Java ASTs and code clean-up.
Specified location for downloading javac sources to which the 
javac-for-jfx.patch.
Simple bidirectional bind (by identity).
And corresponding new feature test F12-bidirectional-bind.
Fix lint errors.
static class members.
And corresponding new feature test: F13-static-members
Specified location for downloading javac sources to which the 
javac-for-jfx.patch - 2.
Code clean-up based on coverage analysis.
Code clean-up based on find-bugs analysis.
Add more javadoc to Sequence classes; make internal sequence nodes 
package-private rather than public, to enforce that clients use the factories 
in Sequences.
If a main module class is abstract, no main method is generated in the class.
Ignore ANTLR output files.
If a main module class is abstract, no main method is generated in the class. 
No need to call NewClass anymore. run of the module can be a static method.
Baby steps on sequence implementation.
Explicit sequence creation.
simple list comprehension AST node, AST building, and skeletal visitors.
simple list comprehensions.
One dimensional, no where clauses, no void blocks.
List comprehensions -- allow where clauses.
Still one dimensional, eager, and no void blocks.
Very minor clenup.
Allow compilation of multiple source files at the same time.
Allow linkage to attributes of classes in separate source files.
Fix lost translations:
    do translation of block expression to block only in JavafxToJava.
    don't use translationInit field of object literal part.
Move translation of function definition statement into operation definition 
to JavafxToJava (from hidden conversion in type morpher).
Correct default translations of attribute and operation.
Clean-up: use default translation instead of copied code.
List comprehensions -- multidimensional
Still eager, and no void blocks.
Remove @Version annotations, because com.sun.tools.javac.util.Version is gone.
Remove the runtime.bind package as it is not needed and causes Unsafe 
warnings.
Remove corresponding tests.
Replace both with README.txt files listing what was there.

Also, add some sandbox tests.
Fix default boolean literal creation.
Fix BindingExpression access to separately compiled modules.
Remove @Version annotations, because com.sun.tools.javac.util.Version is gone.
The booleanType etc fields of Symtab are no loner static, so access them
via the syms field.
Check javac.jar and javac-for-jfx.patch for latest javac SVN.
JavafxEnter.java (visitTypeParameter): Update for new Ty
Use accept to process tree.value - this works even when
tree.value.type is null.
Add test for successive nested block-expressions.
Change to test an optional semi-colon.
In order to prevent collisions between the translation phases, reorganize 
them into a single visitor.
This is the first half: InitizationBuilder is no longer a visitor -- it is 
now library code called from JavafxToJava.
Introduce a JFXInstanciate tree to differentiate from generated NewClass.
Build an empty class init method in the module builder so that new within a 
module will detect that it is an FX class.
Complete the reorg to do translation to Java in a single phase -(in order to 
prevent collisions between the translation phases).
This is the second half: the type morpher is no longer a visitor -- it is now 
library code called from JavafxToJava.
VarUsageAnalysis is now its own phase -- not a translation.
Translation is now (almost) non-destructive, that is the JavaFX tree is no 
longer ripped apart to make the Java tree.
Add sequence range creation -- e.g.  [1 .. 20]

Although the lexer gets confused about digit dot, so, until I fix that you 
need spaces on either side of ".."
Removed javac changes that should not have been allowed.
Removed not allowed changes to javac.
Syntax changes based on today's meeting.
'for (...) blockExpr' to 'foreach (...) expr'
'on change' to 'on replace'

Corresponding changes in tests.
Allow void values in list comprehensions.
Fix block expression to allow null value.
Fix reported NPE on attribute initialized to sequence.
Check bind status rather than type to deterime handling.

Regression test included.
Beginning of sequence indexing implementation.

Initial handling of explicit sequence creation with elements of disjoint 
types.
Sequence indexing implementation -- seq[index]

Does not cover: attribute sequences, bound sequences, or 'seq[index] = val' 
-- which are under design discussion.
Results of Terence Parr of ANTLR to fix the 1..10 problem.
Used suggested fix to floating point / dotdot -- generating multiple emits.
Then worked around bug in ANTLR codegen.
Add sequence creation and access feature test.
Fixed spec generation on Windows
Fix environments for foreach.
Fix foreach tags.
Delete some of the test garbage I just committed.
Delete the remainder of the test garbage I just committed.
Since sequences are mutable and changes must propagate to the Location, 
intermediate sequence values must also be Locations.
Convert the runtime and the compiler to behave this way.

Tests to follow but preliminary tests show bind and sequence modification now 
working.

Runtime internal test "SequenceBindingTest.java" mostly disabled.
Add list comprehensions feature test (F15).
suppress build directory from Subversion
Fixed errors when reporting werror messages.
Allowing forward read-reference of uninitialized Javafx attributes.




Fixed acondition for StackOcerflowException.
NPE fix.
Since we are now doing transformation to Java in a single phase, the tree 
transformation nodes aren't needed any longer.
Part II. Since we are now doing transformation to Java in a single phase, the 
tree transformation nodes aren't needed any longer.
Remove remaining unneeded infrastructure.
Re-added the notification to call the triggers at the end of the javafx$init 
function, so ObjectLiteral set attributes will propagate their values through 
triggers/bindings.
Add FXObject; roll back Lubo's stack overflow code.
Initial multiple inheritance.
More multiple inheritance.
More multiple inheritance.
Commit Robert's initialization helper strategy, which factors out some of the 
initialization boilerplate into InitializationHelper.
Unification and simplification of JFXType processing.
JFXType processed in one place: during JavafxAttr visit.
JFXOperationDefinition no longer subclasses JCMethodDecl.
JavafxEnv switched to FX entities, e.g., enclosing function.
JFXType tree never null -- uses JFXTypeUnknown for unspecified.
Remove JFXFunctionDefinitionStatement.
v1.g grammar maintained for reference, but generated parser no longer 
compiled (as this is a maintenance burden).
JFXVar used consistently for vars (no longer via JCVariableDecl) -- this 
includes parameters.
Remove default constructor construction and its use in NewClass.
Now JCMethodDecl is never present in an FX AST.
Fix merge bug.

Also, some clean-up possible because of last commit.
  Remove Ident processing
  Remove visitType
  Remove JavafxVarDef.
Refinements to initialization strategy; commit example code that documents 
initialization and MI strategy
Fix typo $Crap in .fx example classes.
Initial trees and grammar for sequence insert and delete.
To make adding trees easier and to reduce redundancy, make JavafxMemberEnter 
and JavafxEnter into JavafxTreeScanners,
Remove redundant visitors.
Fix bugs in var and attribute tree scanning.
New javac patch.
New javac jar and very minor cleanup.
Attribution for sequence insert & delete.
Other visitors for these trees (stub for JavafxToJava).
Type morpher isn't really a translator any more, correct this.
Now, that makes JavafxToJava the only subclass of JavafxTreeTranslator, and 
in order to be non-destructive, the JavafxTreeTranslator translations can't 
be used.  So merge the few right bits of JavafxTreeTranslator into 
JavafxToJava.  Then make non-destructive translations for all the inherited 
Java AST nodes.
Delete JavafxTreeTranslator.
Compilation example for method dispatch and override.
Add deleteAll and deleteValue on SequenceLocation
Sequence insert and delete --

        insert x in seq;
        delete x from seq;
        delete seq[index];
        delete seq;

This last piece: Java AST translation, tree building, full attribution, etc.
Feature test for sequence insert and delete -- F16-sequence-insert-delete
Java source no longer dumped by default, at Tom's request.  To dump Java-ish 
source use:

        -XDdump=java
Prep for on insert, delete, etc triggers.
Initial commit - update to include Chris Oliver's file
Add support for backward and skip range sequences
Added support for tool access to parsed AST; not implemented yet are the 
attribute and generate phases.
Back out SequenceLocation interface changes; extend SequenceChangeListener to 
report index of changed; update and extend tests.
Parse, create tree nodes, visitors for --
  on replace [index] (old)
  on insert [index] (old)
  on delete [index] (old)
Extend on replace to --
  on replace (old)
Properly handle parameters.
Clean-up and simplify parser.
Remove defunct trees and visitors.
Unify handling of attribute and var.
Clean-up JavafxTag.
AST translation and attribution infrastructure for new 'on ...'.

Note: the sequence runtime commit intentionally broke tests.  This commit 
does not address that, so tests are still broken.  I will work on that now.
Use immutable sequence value model:
      Convert type morpher to this model.
      Remove hacks to sequence runtime which are unneed in correct model and 
which I should never have put in (sorry, Brian):
            SequenceBuilder.toStringLocation()
            Sequences.makeLocation.
            Sequences.rangeLocation.

This clears test failures.
Clear var init field on attribute translation, as these are set in class init.
This also fixes NPE in Alignment.fx
Dumping the pretty-printed translated Java AST is very useful for debugging.  
Pretty-printing values in the FX AST is also very useful for debugging -- but 
somewhat broken right now.  To be able to debug the pretty-printing and check 
the parsed AST, I have added an FX pretty-print option.  And both are now 
flexible in terms of where the output goes. And per team request, they do not 
generate ",java" extensions any more.  The new options are:

        -XDdumpjava=directoryname               dumps the Java AST, right 
after translation, to  directoryname/foo.javadump
        -XDdumpfx=directoryname         dumps the FX AST, right after 
parsing, to  directoryname/foo.fxdump
Convert JCConditional inside a JCExpressionStatement to a JCIf.
This avoids some problems in javac about "mismatched" but unused
void expressions.  Not a complete solution, but handles many cases
without modifying javac (which will probably be needed).
JFXOperationValue: New expression class for anonymous functions.
JFXOperationDefinition: Refactor to use JFXOperationValue.
Various Visitors: Update accordingly (though job isn't done yet).
Complete the implementation of sequence triggers:
  on replace [index] (old) {...}
  on insert [index] (old) {...}
  on delete [index] (old) {...}
Feature test for --
  on replace [index] (old) {...}
  on insert [index] (old) {...}
  on delete [index] (old) {...}
bug fix:  bind foreach ...
With regression test:  regress/bindforeach.fx

Compute expression dependencies based on pre-translated expression.
Include selects, exclude references to variables defined within the 
expression.
New interfaces used to represent function types.
Implement support for function types.
Add empty sequence creation and extend sequence creation feature test to 
include this.
Empty sequence is default value of sequences.  And regression test.
Unary operators on var declaration no longer crash teh compiler.
With regression test.
fixing unary expression
Sequence flattening -- first part.
Sequence expression type inferencing/flattening infrastructure.
Literal flattening.
Feature test.
Improve diagnostic information in generated trees.
Unify qualified name building.
Clean up token list.
More MI implementation.
More MI implementation.
Fix blocker reported by Jim:  method call on primitives not permitted (was: 
'Numeric to Integer conversion').
In attribution, if primitives seen as receiver on method call, treat as boxed 
type, and allow.
In translation, box by wrapping in NewClass.
Includes regression test.
Refactor initialization examples to reenable field rollup.
Fix blocker reported by Jim:  abstract function definition.
To allow this, refactor modifier flag processing in the parser.
Separate modifier flags for class, var/attribute, and function, each of which 
is now correctly different.
All accesses to the function body now allow it to be absent.
And all access is now through getBodyExpression() accessor.
Add corresponding regression test.
Remove the annoying warning on every test run caused by 
regress\newJavaInstance.fx
Change the test to use a class that won't generate a warning.
More MI implementation -- added setDefaults$, init$<attrName>, and 
userInit methods.
JFXC-26: Implement instanceof
With regression test.
Also some minor diagnostic fixes.
Fix for NPE seen by Jim (select on 'package javafx.ui' in JavafxToJava).
Make method dispatch examples consistent with initializatoin examples; add 
optimization to not fire change triggers when changing to the same value 
(which eliminates infinite recursion in some cases).
Re-enable F7-multiple-module test now that it works again
Changed issues URL to http://openjfx.java.sun.com/jira/.
Partial fix to JFXC-31 --
incompatible types
found : SomeFoo
required: com.sun.javafx.runtime.location.ObjectLocation<SomeFoo>

These are examples of missed or lost translations.  I don't know how many 
cases I will find, and I want to get this out fast so...
This first part is translations lost due to a bug in the if-block 
transformation code.
With regression test.
More MI implementation -- according to the latest spec.
Add annotations for modifiers: public, protected, private, final, abstract, 
readonly
More MI implementation -- fixed a broken build.
Changed Issue Tracker link to Issues/Bugs - modified url of link to 
http://openjfx.java.sun.com/jira/

Partial JFXC-11   Automated migration assist

Trees.
Pretty-printer.
Grammar.
Main.
Visitor support.

Nothing usable yet.
More MI implementation.
Correction to partial JFXC-11   Automated migration assist

Fix build errors.
More MI implementation -- fixed some bugs.
Moved async classes to sandbox and re-enabled javafxc task in build.
added initial classes from interpreter code base
copied jar files from openjfx.dev.java.net project
Added javafxrt.jar and swing-layout.jar to libraries in NB Project
Added classpath entry to javafxc task to pick up external jar files from NB 
project
Rollback unintended save
Rollback unintended save
Rollback unintended save
Rollback unintended save
Rollback unintended save
Removed need for javafxrt.jar file.
Inital Port for javafx.ui classes from interpreter
Continuing JFXC-11   Automated migration assist
Fixed JFXC-51 : instanceof does not accept qualified names

Blocker reported by Jim -- broken out of JFXC-46
Modify scandir to map .fx to .class, instead of .fx to .java
More MI implementation -- first cut of infrastruture to support inspecting 
FXObject interface extendors and building attribute/method lists from them.
Factor out pretty-printing of JFXOperationValue and JFXOperationDefinition
into static methods, and call these methods from the respective accept
methods if the Visitor is a plain Pretty (not JavafxPretty).  This
is so that 'toString' (which uses plain Pretty) can handle these trees.
JFXC-52: created sub-project for runtime, moved UI runtime classes there.
Added runtime target, so both projects can build together.
Fixed JFXC-54 : extra requirement for semicolons
semicolons no longer required after blocks/block-expressions, for example -- 
if (b) then {abc} else {xyz} /* semi optional  here */

Also more complete info on parser errors.
block expressions now expressions not primary expressions.
parser clean-up.
Fixed JFXC-48 : Need to support Java Integer Literals for Hex and Octal values
with regression test

Refine JFXC-54 : semicolons
Semicolons now consistently separators rather than terminator (they were an 
inconsistent mess before).
Consistency is across modules/module-items, classes/members, 
blocks/statements, block-expressions/statments-values.
Regression test refined.

Also more complete info on parser errors.
block expressions now expressions not primary expressions.
parser clean-up.
Fixed JFXC-55 : if-syntax should be consistent
Syntax: IF (cond) true_part [ELSE false_part]
Transitionally allow optional THEN after ")".

Fix ambiguity warning in if-else.
Fix warning in generated code for try-catch.
Work around code generation bug in function type.
Allow assignment to take if, foreach, or block-expression without parens.
Update tests to match.
Added CopyLibs ant task jar, which was implicitly part of any system which 
ran NetBeans.
Removed references to removed extents facility.
Fixed JFXC-57 : Grammar ambiguity in qualified names
Remove last grammar ambiguity and, in the process, allow qualified names for 
an object literal and function application on an arbirary expression.
Sorry for the changes to JavafxAttr and JavafxToJava -- but they are point 
changes and should be trivial to merge.
Remove CR, and change svn:eol-style property to LF.
More MI implementation --added extra cast to the calls to setDefault$ and 
userInit$. It resolves ambiguity in case of multiple class inheritance.
Fixed JFXC-31 : incompatible types 
com.sun.javafx.runtime.location.ObjectLocation<...>

To prevent type problems in separately compiled classes, subclassed 
ClassReader.
New patch and javac.jar files. Both based on r253 of openjdk.
Patch will be committed separately, as NB doesn't see it.
JavafxClassReader unmorphs Location<Foo> to Foo.
Type morpher remorphs.  Identification of FX classes is temporary until MI 
initialization code is in place (which will allow check of interface).
Part 1 of commit JFXC-31 : incompatible types 
com.sun.javafx.runtime.location.ObjectLocation<...>

New patch  based on r253 of openjdk.
Patch will be committed separately, as NB doesn't see it.
Patch relative to src/share/classes.
More checkins of the MI implementation.
Fixed JFXC-37 : exception handling

Flow generates error on undeclared uncaught exception.
JavaFX does not have throws declarations.  Disable this error,
Add regression test.
Subclass Flow.
New patch and javac.jar files. Both based on r253 of openjdk.
Patch will be committed separately, as NB doesn't see it.
Part2 JFXC-37 : exception handling

New patch based on r253 of openjdk.
Patch relative to src/share/classes.
Upgrade ANTLRWorks to 1.1.3; check in syntax diagrams to doc/syntax-diagrams. 
 Ideally, these should be generated programatically, but for now, we'll check 
them in.  See JFXC-47.

More  MI implementation.
Fixed failing regress test. (For JavaFX there is no need to invoke Flow 
analizer. JavaFX doesn't impose restrictions on initialized/non-initialized 
vars, non-reachable statements and/or uncought exception declarations in 
method signature.
Fixed JFXC-46 : type handling in if-else broken
ifthen.fx regression test enhanced.

Fixed JFXC-58 : assertion failure: void conditionals & block expressions
New regression test: jfxc59_voidCond.fx

Properly attribute block expressions which have no value.

Handle type attribution and translation of if-expressions with no else part.

Fold up expressions whose value is not used, which should include all void 
valued expressions, thus fixing the Gen bugs.  Converting conditional to 
if-statement; foreach to plain for-statement; and block-expression to block.

Fold up returns by the same mechanism.

Unify handling of block expression to block translations.
Have XxxLocation.set() return the value set.
Fixed JFXC-34 : Generics declaration fails
With regression test.
More JFXC-44: Have XxxLocation.set() return the value set.
Added the synthetic NUM$FIELDS to a JavaFX class.
MI implementation -- generating get$ and init$ from base classes
Fixed JFXC-44 : assignment of attribute has value
Bug title: Error in assignment when using new operator on Java class
Brian actually fixed this r426 & r424
I'm just verifying.
Test from bug report:  jfxc44_CanvasViewport.fx
Additonal regression test: jfxc44_attribAssignement.fx
Partial support (missing name-looking changes) for applying
a value (expression) containing a Function value.
FunctionType: New class extends ClassType.
Create FunctionType from JFXTypeFunctional and capture.
In JavafxToJava, if "method" is a FunctionType, invoke its "invoke" method.
Partial implementation of JFXC-42 - FXUnit framework.
JFXC-62: add copyright notices everywhere; correct dates on existing 
copyright notices.
JFXC-62: add copyright notices everywhere; correct dates on existing 
copyright notices.
Clean-up JavafxVarSymbol.
MI implementation -- added getNumFields$ and the initHelper$ field. Now all 
of the new initialization logic is generated now.
Fixed JFXC-64 : declaration with java.lang.Object as the type is ignored
Fixed JFXC-33 : No way to cast an object for assignment or return type.
Regression test covers both.
Attempt to fix JFXC-64 : declaration with java.lang.Object as the type is 
ignored
MI implementation -- added all the inherited methods to the base interfaces.
MI implementation -- added the static synthetic methods in the implementation 
classes.
MI implementation -- populated the content of setDefault$ method. Fixed bug 
JFXC-17.
MI implementation -- more population of the content of setDefault$ method. 
Started transforming attribute references to gat$X call form.
Add Copyright
MI implementation -- finished partial attribute reference replacement with 
get$X method call.
Move FXUnit stuff back into main project
Added missing property, set the Subversion ignore flag for build-created 
artifacts.
Initial port from interpreter.
Fixed auto-gen'ing of build-impl.xml file -- please don't directly edit any 
files in the nbproject directory.
MI implementation -- finished attribute reference replacement with get$X 
method call. Bug JFXC-28 resolved.
Fixed JFXC-15. Fixed order of translation and MI translation in JavafxToJava 
visitor.
Fixed broken build.
add runtime-clean target
move taskdef for javafxc to within -post-compile target so that clean target 
is not dependant on JavaFxAntTask
Work on JFXC-11 : Automated migration assist
Grammar and tree work.
Update build.xml to expose a hudson-all target.  Hudson all comprises 
everything in the base project plus compiling the runtime, and includes the 
runtime compilation in the coverage gathering, which should give more 
accurate coverage data.
Update JDK build number.
JFXC-94: added options to backEndContext so -target option isn't ignored.
Updated build to run on Java 5 and Mac OS X 10.4.
New javac patch.
Fixed properties so it works on client machines *and* the continuous build 
server.
Re-enabled the MI code after fixing the javac issues with non-existing import 
types (the base MI $Intf interfaces.)
Fixed properties so it works on client machines *and* the continuous build 
server -- subversion failed to include this file for some reason.
Rebuilt javac.jar with version 49 class files for 1.5 support.  To rebuild, 
use "-Djavac.target=5" with ant.
JFXC-95: fixed bad key prefix for resource lookup.
Bugs JFXC-76 and JFXC-77 -- skip ranges, exclusive ranges, Number ranges
JFXC-59: added unit test for JavaFX compiler implementation of 
javax.tools.Tool.
But JFXC-47 -- programmatic sequence diagram generation.  Using new 
ANTLRWorks 1.1.4.  Now automatically generates sequence diagrams when it 
recompiles the ANTLR grammar.
Bug JFXC-83 -- change default factory behavior for integer ranges to 
auto-sense the direction of the range (count up or count down) if the step is 
not specified.
Fixed JFXC-74 : Step down ranges
Fixed JFXC-32 : Exclusive ranges
Fixed JFXC-75 : skip ranges
Fixed JFXC-63 : Range literal issue umbrella (including Number (aka double) 
ranges).
Remove syntax diagrams
Removed absolute path from run target
initial port from interpreter

Fixed Ant SecurityManager issue.
Renamed JavafxTask to JavafxcTask.
Updated javadoc task to only describe supported public API.
Removed unused javadoc parameter.
Implemented analyze(), attribute(), and generate() phases of compiler tools 
API.
Cleanup cobertura files in clean target
Implemented last phase, errorCheck(), of compiler tools API.
Removed unused variables found by FindBugs.
Runtime portion of JFXC-21 -- make old value available to change triggers.
Fixed RFE JFXC-13. Implemented first cut of method dispatch. Fixed failing 
build. All the trunk/tests(s) are passing
Fixed JFXC-112 : Sizeof needs implementation
With regression test.
Test case for minimal location updates
Rename specification to language users's guide
Fixed bad parsing of generified type -- 
com.sun.javafx.runtime.location.ObjectLocation<java.lang.Double>.
Fixed failing runtime class compilation.
Implemented RFE JFXC-16.
Check for null return-expression.
Also, fix typo in comment.
Re-arrange/interleave Attr/MemberEnter/Enter phases so we can handle
forward references (and soon name lookup) more consistently.
Pulled in Java 6 gradient support -- we can remove these when it is 
officially decided Java 6 is the minimum platform.
Pulled in Java 6 gradient support -- we can remove these when it is 
officially decided Java 6 is the minimum platform.
In Javafx.AttrattribClassBody check for abstract methods *after* we've
attributes members.
Abstract method must have explicit return type.
If no explicit return type for abstract method,
make it javafx_AnyType, at least for now.
Added calls to the userInit$ method. Code for adding the attribute 
initializers to setDefault$ to be initialized.
Only generate syntax images when building spec.
JFXC-59:  created initial test for tool API, fixed initialization error 
reported by plug-in team.
Fix parsing of type and typeArgList so we handle zero parameters correctly.
Remove a bunch of no-longer-needed crud.
Refactor location wrappers into Locations class
Extend method dispatch example to include bound function handling
Fix JFXC-123 - coverage tests showing zero coverage.
Fixed JFXC-120 : anonymous inner class creation, that is, the ability to add 
attributes and functions to a class when it is being instanciated.
Unify NewClass/Instanciate with PureObjectLiteral code.
Non-destructive translation fixes.
With regression test.
JFXC-59:  added parse test, improved JavafxFileManager support.
Add makeUnmodifiable() factories for XxxVar classes, to facilitate boxing of 
temporaries when calling bound functions
Added comment regarding test classpath ordering, so I'll be the last person 
to screw it up. :-)
Correct inconsistency in BooleanExpression.make() signatures.
Edit syntax and expr chapters
Edit syntax chapter
boxIfNeeded: New convenience method.
condType1: Use it.
visitTypeFunctional: Use it.
For JFXVar, do attribType in JavafxAttr, not JavafxMemberEnter.

In JavafxAttr.visitInstanciate, add a needed Symbol.complete call.
When search for a "method name" in an application (i.e. foo(args)
or obj.foo(arg)), also search for variables/attributes, since
the latter may be function-values.
(Later on we'll do the converse: When we search for a variable,
and find a function, create a closure.)
Add tests for function types, and calling functional variables.
And enable compilation ....
Fixes for JFXC-19 and JFXC-13
Fixes for JFXC-19 and JFXC-13
Refactoring of new Location.addDependencies methods; pull up into abstract 
classes, make factories use addDependencies().
More location simplification.
Add link from JFXOperationValue to dummy JFXOperationDefinition.
Add support for Attr of JFXOperationValue.
Add incomplete support for compiling JFXOperationValue to Java.
(No support for captured names, yet.)
Now make the test @run.
Handle simple (non-capturing) anonymous functions,
assining to a variable, and calling it.  Yeah!
Partial (not-working) support for function values that take
primitive-type parameters.  (We may have to do this by hand,
rather than usinhg javac's AnonymousClassDef support.)
Improve name-lookup support for anonymous function values
in attribute initializer.
Add new testcase for functon value in attribute initializer.
Fixed JFXC-122 : 'Variable declaration fails' -- Integers in a Number sequence
With Regression test.
Initial Port from Interpreter
Updated to match changes in interpreter version
JFXC-137: fixed two problems in unit test.
JFXC-114: fixed duplicate help display
Initial Port from Interpreter
Still missing animation and net.java.javafx.ui.UIContext support
--This line, and those below, will be ignored

A    UIElement.fx
JFXC-133: fixed package-info warning messages.
Initial port from interpreter
JFXC-102: fixed Windows script's argument handling.
Fix for the need to compile the RTL classes multiple times to avoid error 
reports. The problem was introduced when the visitors got merged and all the 
phases of the attributor and the J2J transformer are executed on per each 
class instead of first the Attr on all classes and then the transformation.
Initial Port from interpreter
Initial port from Interpreter
Reenabled the test. It got fixed with the fix for unmorphing types of 
attributes/local variables during multiple source compilations.
Fix type morping static expressions. Making sure the correct target is 
accessed. Fix regtest jfxc120.
Fix type morping static expressions. Making sure the correct target is 
accessed. Fix regtest jfxc120.
Reverted a minor change from the golden test.
Modified to work around JXFC-142,
Class is not abstract and does not override abstract method
Modified to work around JFXC-141, Compiler Exception when building runtime
by removing "extends MouseEvent"


Fix for JFXC-142. The methods are overriden correctly now. The access 
modifier issue in JFXC-142 will be addressed with fixing JFXC-39 and JFXC-40.
Reverse work-around as JXFC-142 is now fixed.
Added //TODO JXFC-39 and 40 comment on private function declaration
Fixed JFXC-69.
Reverted back to original JXFC-141 is fixed
Included javax.annotation to javac.jar for 1.5 support.
Change syntax of function type specifiers to require colons.
Update runtime and testsuite files.
Fixed Ant directory declaration.
Rebuilt with javax.annotation.processing package added for Java 5 support.
commented out file references which are not in repository
Replaced all references, except newInstance to JFX classes to corresponding 
JFXClass$Intf interfaces. Enable a commented out test.
Fixed a minor MI bug. Added a regression testcase.
Added Solbook DTD for use by reference manual.
Fixed package name for API classes to match other runtime names.
Fixed package name for API classes to match other runtime names.
Add javax.script jar for 1.5 use
No JavafxToJava translation happens before all the sources in the batch are 
attributed. This simplified a lot of logic and code was removed/cleaned.
Store associated MethodType with FunctionType.
For now this is only used for FunctionType.toString.
Ooops - emit colon before return type of FunctionType.
Fix function type syntax in commented-out error tests.
Fixed JFXC-82 and added a testcase for it.
Initial port from interpreter, still need full function support and fix for 
JXFC-157 to complete
Initial port from interpreter
Fix declaration for function __EASE
Made the signature of the main module method -- javafx$run$ -- be 
()Llava/lang/Object;. If the last statement is an JCExpressionStatement and 
the type of it's embeded expr is not void, the value of the last statement is 
returned. Otherwise null is returned.
Fixed JFXC-146.
Generate bridge methods manually for FuntionTypes' invoke method.
This lets us tweak coercsions, specifically primitive parameter types
and returns, as qwell as void returns.
For function types and anaonymous functions, test
primitive and void parameter and result types.
Initial Port from interpreter
Initial Port from interpreter
Fixed JFXC-150. It looks the problem was introduced when elemType was added 
to the ovldValue on the JFXOnChange AST. In case the attribute/variable is 
not a sequence the elemType is null and it should not be assigned to the 
JFXVar typs for the OldValue. In such cases the type of the attribute/var 
should be used instead.
It looks like this uncovered another bug. When running the example it looks 
like the StingLiteralParts are not unmorphed and the Location object is 
printed instead of the wrapped value.
Add Unit test case
Preparatory work for JFXC-136 : Extends interface
Disentangle JFXClassDeclaration from JCClassDecl.
More preparatory work for JFXC-136 : Extends interface
Clean-up access to JFXClassDeclaration.
Implement all but syntax changes for JFXC-136 : Extends interface
Fixed JFXC-159.
Fix JFXC-136 : Extends interface
Last part: change the grammar and fix impacted file.
Existing file serves as regression test.
Initial Port from Interpreter
Initial Port from Interpreter
Fix JFXC-163 :  anonymous inner classes extending a Java interface
Regression test showing it.
Actually fix was in cluster of commits for JFXC-136.
JFXC-152: implemented basic tree API for JFX which is similar to javac's.  
Moved JavafxBindStatus to public API package.
JFXC-152: updated list of javadoc packages.
Removed println statement.
Made JavafxBindStatus immutible.
Made JavafxBindStatus immutible.
Regression test, as a TODO, for JFXC-147 :  Can't implement an interface with 
an object literal
The interface part of it now works, but the submitted example references 
outer class attributes from anonymous inner class, and that isn't working.
Initial fixes for JFXC-153.
Do nothing (i.e. don't recurse) for JFXOperationValue.
Implement support for mapping function or method as function value.
Add tests from treating metyhods/functions as function values.
New regression test.
Fix JFXC-164 : Non-JFX imports create bogus $Intf imports causing compile 
failures
Initial Port from Interpreter, still need to support 'do later' functionality
Initial Port from Interpreter
Fix JFXC-21 : Make old value available to change triggers

This now works:

  class Foo {
      attribute x : Integer
          on replace (oldValue) { System.out.println('x: {oldValue} => 
{x}'); };

The change trigger regression test was extended to cover this case and also 
to cover object types and compare its output.
Remove unused class.
Remove unused import.
Fix makeChangeListenerCall so we don't get a NullPointerException
if only 1 or 2 (and not all 3) of 'on replace/insert/delete' triggers
are specified.
Add support for a closure to "capture" (access) a local variable by
either making it final or forcing it to a Location.
Check in test case for "capture" of local variables by closure.
Fix JFXC-134 : Sequence concatenation with variable doesn't compile
Redesigned type checking in JavafxAttr and JavafxCheck to use a sequence 
dimension (required, permitted, disallowed) as well as type and kind.
With regression test for this particular case.
Test case for JFXC-169.
Fix JFXC-106 -- triggers on bound sequences not getting fired.  Added 
regression test.
Added support for referring to outer class members. Fixed and eabled regress 
testcase jfxc147.fx.
JFXC-143:  added unit test based on test project attached to issue.
Use general findIdentInType for object literal key, which seems more
robust and general.  Specifically, we get real error messages, rather
than a NullPointerException.
Tweak parsing of object literal part for (I believe) better error locations.
Fix various little problems, mostly with attribute of catch clauses.
This fixes various NullPointerExceptions found working on JFXC-162.
Remove TODO comment on JXFC-158
Fixed JFXC-166.
Remove an assert that caused a NullPointerException.
Move attribution of change triggers from finishVar to visitVar,
to avoid some kinds of cycles.
JFXC-143:  fixed initialization race condition.
Catch cycles in "type inference".
Fixed JFXC-155.
Initial port from interpreter, still outstanding JXFC-157, 172, 173, 175, 
178, 179
JFXC-143:  updated test to run correctly inside NetBeans.
modified to work around JXFC-180
Add feature test for multiple inheritance.  Currently fails (test disabled).  
Posted issue JFXC-181
Fixed JFXC-165.
Change to abstract class, and abstract function createComponent
Fix abstract class
Add "compilefirst" declaration to test framework, so that feature tests can 
specify whether files are to be compiled separately or together.
Second attempt at "compilefirst" declaration in test framework
Added test for JFXC-165.
JFXC-183:  fixed stack overflow when printing JFX class declarations; removed 
debug statement from test.
Partial fix for JFXC-175. Test is the Widget,fx. Uncommented the fixed parts. 
Checking to follow.
Uncommented some failing parts because of partial fix for JFXC-175.
JFXC-60: fixed moduleName() so it works with non file-based file systems 
needed to support scripting.
Download wysiwygdocbook as part of the tools bootstrap process,
rather than having it in repository.
Have doc/langspec/docbook.css be generated by bootstrap.xml.
As groundwork for
JFXC-67 : bound functions
and for the increased stability of the compiler, return to a single-pass 
non-destructive translation from JavaFX ASTs to Java ASTs.
Replace processing of translated trees with processing of FX trees.
Integrate the init builder class processing to the translation class visit.
Simplify the conversion of FX classes to a Java interface/class pair by 
introducing a definition prepend functionality, remove all the individual 
handling.
Remove hacks in JFXClassDeclaration which allowed mutative access.
Some finishing touches on my last commit (single-pass non-destructive 
translation from JavaFX ASTs to Java ASTs)
Further work on my last commit (single-pass non-destructive translation from 
JavaFX ASTs to Java ASTs).
Put all the building of SetDefaults methods in one place, thus cleaning up 
code used to tie them.
Partial JFXC-128 : generate bound function bodies
Make morphed type (Location type) available for all vars.
Make type morphing non-destructive.
Set up for bound function name and parameters (disabled).
partial edit update for logic, syntax, expr and arrays
Change working title
fix emphasis tags
Partial JFXC-128 : generate bound function bodies
Change type morphing control to be dynamic -- force morphing in bound 
contexts.
Address some special cases.
Clean up based on Cobertura report.
Partial JFXC-127 : Generate methodName$bound signatures in Class$Intf 
interface.
Partial JFXC-128 : Generate bound function bodies (static method and instance 
dispatch method) in concrete implementation classes.
Interface methods and instance dispatch methods are now generated, and 
parameter types are converted.
However, return is not morphed, and possibly significant work on bound body 
conversion.  Bound calls must be converted.
Global flag added to disable bound function generation (for commits) until it 
works.

Fixed JFXC-127 : Generate methodName$bound signatures in Class$Intf interface.
Partial JFXC-128 : Generate bound function bodies (static method and instance 
dispatch method) in concrete implementation classes.
Return type now morphed in bound versions of static implementation methods, 
interface methods and instance dispatch methods.
This was the last step to finish interface methods and instance dispatch 
methods.
Howeverm in the static implementation methods, the return value is yet to be 
computed as an expression Location (so, the types don't even match yet) and 
bound calls must be converted.
All of this is still disabled until it works.
As requested, and in support of JFXC-175 : Cannot resolve new value attribute 
within anon listerner within on insert
Introduce infrastructure to prepend an anonymous class definition in the 
correct scope (block scope).
However, that is currently disabled since generated classes define static 
members
and that isn't allowed in inner classes by an (unmodified) javac back-end.
I'm committing this now (despite being disabled) to stay in sync, to allow 
someone else to the back-end work (if desired), and since other changes as 
part of this are positive.
JFXC-60: javax.script support -- return values from scripts not implemented 
yet.
Partial JFXC-128 : Generate bound function bodies
Generate bound function bodies wrapped as ObjectBindingExpression classes
Simpler to use and more powerful callExpression and callStatement utility 
methods.  Usages updated.

Example code for inner classes
JFXC-60: added support for typed bindings.
JFXC-60: added test for global bindings.
JFXC-186: added javax.script.Invocable support -- scripting support is now 
complete, barring new requirements.
JFXC-188: regression test for NPE during attribution.
Removed cruft from earlier commit.
Removed cruft from earlier commit.
Removed cruft from earlier commit.
Fixed attribution issues with the synthetic newValue variable on the 
JFXAbstractOnChange AST -- fixes needed by JFXC-175 and JFXC-180.
JFXC-60: added public script engine interface to eliminate the need to cast 
an engine to access its Compilable and Invocable interfaces.
Partial JFXC-187 : inner classes (aka object literals with added functions) 
can't see method local vars
This is infrastructure for allowing innerclasses to be defined inside the 
method (instead of containing class).
Changes are all keyed on the inner class being marked FINAL.
This change causes all static member to instead be instance members.  And 
reference to match. No dispatch methods for class local functions.
Change is disabled since setDefaults$ in some cases needed static access to 
the class.
To enable, change innerClassFalgs to FINAL in JavafxTreeMaker and uncomment 
the code in translateStatement in JavafxToJava.
Remaining fix is to make inner class STATIC if it is in a class and not if it 
is in a nethod.
If type is a SequenceLocation, we don't need to wrap
it with ObjectLocation.

Use makeTypeTree instead of converting morphed type to String,
and then (incorrectly) trying to parse it.
Kludge to check for getNumFields$ method for generating static method:
act like it's synthetic even if we can't set the SYNTHETIC flag
Update for whitespace-cleaned-up javac.
Plus added a change for Lubo.
javac project rewrite to use the JDK's build instead of the default NetBeans 
build
Add QuickStart; update expressions

Added missing property file
Updated target names

Changes related to fix for JFXC-180 and one more bug fix for JFXC-175
Changes related to fix for JFXC-180 and one more bug fix for JFXC-175
Fixed JFXC-180 and one morfe bug within the JFXC-175.
Fixed JFXC-180.
Fixed JFXC-179.
Fixed JFXC-179.
One more JFXC-175 fix added a test for JFXC-179.
More JFXC-175 fixes.
removed 'return true' which is now unreachable and was just a work around for 
JXFC-175
Implemented 'do later' with SwingUtilites.invokeLater()
Creating new packages for java files
make class public
move supporting java class to com.sun.javafx.api.ui package
Initial port from interpreter
initial port from interpreter
Initial Port from interpreter
Refactor TimerImpl from Java to FX class
refactored EASE functions to work around JXFC-195
refactor EASE methods to work around issue JXFC-195
Revert Lubo's changes in JavafxResolve.findVar, and
involing the newValueSym field.  Instead, fix logic
for when to invoke findMethod.

Make index field final.

Set env's outer link in three more places.

Set Log's source on invoking completer.
Fix copyright
Added functions to support Font
Initial port from interpreter
Uncommented Font related items
Cleaned up remaining JXFC-157 commented code
Initial port from interpreter
fix conversion to int in swing TitledBorder ctor
added static methods fromAWTColor and transparent, added lightGray color 
constant
Include graphic files during doc build.
Fixed a couple FindBugs warnings, excluded copied directory.
pass diagnostic listener to back end so that javac errors get propagated back 
through the tool interface
This seems to fix jfxc-182.
New class.
initial port from interpreter
Initial port from compiler
Initial port from compiler
Initial Port from compiler
Initial port from interpreter
Rewrite funtion () { body; return exp } to function () { body; exp }
to allow former to be type-inferred.
Error message for return if return type unspecified except in this case.
This fixes jfxc-188.
JFXC-221: added regression test, which is disabled
added Scenario.jar to build
Make sure JFX ObjLit and anonymous classes extending Java classes are 
generated at the place where they are created and not at the beginning of the 
enclosing method. This way the relevant local variables are 
visible/accessible.
JFXC-227: Frame.fx, minus its critical visible attribute
JFXC-227: Moved Frame.fx to src/sandbox, as the visible attribute can't be 
committed out without the compiler throwing a different exception.
Last fix for JFXC-175. Now local classes for ObjLit inside onInsert, 
onDelete, etc. sequence triggers are generated just before their 
instantiation. This way local vars of the triggers are accessible.
Fixed JFXC-175.
Fixed JFXC-221. Testcase still disabled. The regtests have no access to the 
RTL classes.
changed Scenario references to scenegraph
Fix JFXC-184 : Generated javafx$run$ method no longer returns result
Test is to enable the scriptResult() test.
Now carried as a true block-expression from module builder.
Handle nested functions - i.e. ones not at class or module level.
The implementation is probably not ideal - we translate:
  function foo(args) { body }
to
  final var foo = function(args) { body }.
(Generating an anonymous class would probably be better.)

Move methods were moved from JavafxAttr ro JavafxSymtab because they're
also needed by JavafxToJava.
Suppressed unchecked warnings, since warnings a developer can't fix are evil.
Initial port from interpreter
Initial port from compiler
Fixed dependencies so "ant clean jar" works (NetBeans' rebuild-project uses 
that).
Added a real-clean target which removes all build artifacts -- clean 
purposely leaves the bootstrap and tools directories untouched.
Partial JFXC-128 : Generate bound function bodies in concrete implementation 
classes
A bound version of each function is generated with the correct argument and 
return types.
Currently, the bind is over the entire function body.  This will need to be 
changed so that the bind distributes through the body.
Disabled for now.
The static method and instance dispatch method part of this issue was 
committed before.
Also, because the bound version is a retranslation of the same function, it 
is critical that the trees be generated cleanly (multiple points can't 
reference the same node).
Add an assertion in prepForBackEnd to assure that tree nodes are unique.
Fix those parts of the code that didn't generate clean trees.
Fix comment typo.
changes for fxpad
use equals for immutable value types
"Port" error message to JavaFX.
In an 'if', when either then-type or else-type is void then the
resulting type is void.
Seems to fix jfxc-227.
removed JavaFXLint.java
moved JavafxLint.java to JavaFXLint.java

Fix for JFXC-181
Fixed JFXC-181 -- Subclass that extends from multiple base classes can't 
"see" attributes of second and subsequent base classes.
Fixed JFXC-181 -- Subclass that extends from multiple base classes can't 
"see" attributes of second and subsequent base classes.
Partial JFXC-128 : Generate bound function bodies in concrete implementation 
classes
Continued
renamed JavafxLint.java
Temporarily turn the assert into a warning to unbreak the runtime
Fixed JFXC-197 -- Cannot access outer members from within Runnable interface.
The problem was that when onChanges list was added to the JFXVar AST, the 
base JavafxTreeScanner visitor was not updated to visit them. So no onChanges 
and their parents were visited by any visitors. Therefor the access of outer 
members was never getting fixed up.

++ will fail hard, instead of silently, with the next commit.  work around 
this.
'Fix' JFXC-170 : parser silently ignores ++ and other operators
Use of unimplemented unary operators now causes a parse error instead of 
silently failing.
I've created JFXC-231 to track the actual implementation.
Temporarily disable regress\jfxc-175a.fx,  which uses ++, until this can be 
worked around.
Clean-up malformed trees seen in runtime classes.
Reenable the malformed tree assert.

Thanks Lubo!  It was at the top-level: import.
Enable temporary behavior for out-of-range sequence gets -- throw IOOBE 
instead of returning a default value.  Bulk extracts, set, insert, and delete 
still ignore out-of-range indexes.
Don't use reference equality for comparing whether objects having changed; 
hard-coding in a specific list of value types is asking for trouble.
Fix several findbugs bugs
initial port from compiler
Added applet, and image functions to UIContext
Add partial assertUOE to JavaFXTestCase to allow for better testing of things 
that are supposed to throw UOE; not complete.
Initial Port from Interpreter
Initial Port from Compiler
If return type of a function type is unspecified, default to void.
Initial Port from interpreter
Finish assertUOE implementation
Moved some functionality out of UIContextImpl.java to JavaFX sources.
Initial Port from Interpreter
Initial Port from interpreter
initial port from compiler
Initial port from interpreter
Fix bug JFXC-214 -- operation keyword goes away.  Changes to grammar, tests, 
runtime.
Fix copyright
Initial port from interpreter
Add @Static annotation
Fixed JFXC-234 -- Re-enable the jfxc175a.fx test. This test is intended to 
verify correct resolution of enclosing method locals var references from 
ObjLiterals.
Added support for SimpleLabel
added support for XLabel
Initial port from interpreter
A testcase for JFXC-171. This bug was fixed few days ago.
Tweak examples for inner classes.
workaround NPE
hacks to make inner classes resolve for now

Compile static methods and attributes to static methods in the
implementing class, with the "$static" suffix, and without a non-static
method in the interface.  Bonus: remove a kludge.
For static field, test CLASSNAME.FIELD in addition to CLASSVAR.FIELD.
Do some more "operation" -> "function" keyword updates.
Partial JFXC-128 : Generate bound functions
Allow fine-grained control of binding.
Handle the case where bound functions include an inner class (share the 
(class level) interface, but anonymous classes are separate).
Removed abstract parts, so it could be instantiated on its own
Updated with InternalFrame support
Initial Port from Compiler
Fixed script engine test failures; made error messages like compiler's, minus 
the generated source file name.
Enough hacks to be able to bring up an empty Frame with title, height, width, 
etc
Fix JFXC-202 : Bound sequence comprehension doesn't compile
Fix where clause translation.
With regression test
Finish the process, started for JFXC-187, and now needed for JFXC-128 : 
Generate bound functions
of generating anonymous classes as final (non-static) classes without proxy 
dispatch methods or static synthetics, rather than the static classes usually 
generated.

JFXC-201 -- support upcasting of sequences to sequence of superclass type.
implemented predicates by generating a for-expression tree in the grammar
copy PDF files into Hudson cache
Binding attributes interferred with declared variables with the same name.
JFXC-143: modified parser to return empty unit on failure instead of null 
(like javac), added test for class parsing.

Fixed JFXC-253 -- Anonymous event listener classes no longer compile.
Changes in the "ABI":
+ Removed the NUM$FIELDS field.
+ If a class is final (incluing when it is anonymous), generate just a
  class, without the interfaces.
Fix thinko.
We actually need to copy the specifiers of extended and implementing classes,
in case generateBoundFunctions is set, which causes JavafxPrepForBackEnd
to complain about any reused tree-nodes.
Initial port from interpreter
Copy over diagnosticPositionFor from TreeInfo.
This fixes JFXC-257.
A missing else is treated as a void expression.
Complain if initializing a variable with a void expression.
Modify ifthen.fx to not assume missing else default to real values.
This fixes JFXC-228.
change attribute id to public
Removed line endings from test output so tests work on Windows.
hacks to get Button partially working
JFXC-263: fixed script engine so it only assumes undeclared variables are 
bindings references for compiled scripts.  Evaluated scripts now just report 
errors for undeclared variables.
Fix JFXC-128 : Generate bound function bodies
Enable bound function generation.
This final step required fixing a general bug where foreach variables which 
must be final, are not.
And, for now, generate a warning and ignore the dependency, when attempting 
to set bound dependencies to a computed value instead of generating bad code 
which the back-end dies on.
Note that, JFXC-67: 'Bound functions' is still a ways from being done.  I 
have created JFXC-265 to track the next step 'Permeate binding into bound 
function implementation'.
Thanks again, Per, for enabling this by the quick work on fixing the blocker.
Initial port from interpreter
Initial port from interpreter, changed class from F3NodeListener to 
FXNodeListener.java
Partial JFXC-265 : Permeate binding into bound function implementation
Add first-approximation binding permeability analysis.
Fixed specification of scenerio.jar path, so it supports an external 
-Dtools.dir declaration.
Fixed specification of scenerio.jar path, so it supports an external 
-Dtools.dir declaration.
added shell script
adding hello world library
adding ant build file
updating shell scripts
Made bin scripts dist directory-relative again, moved bin files to src/bin to 
reduce confusion.
changes to work on macos
make executable
adding fxpad
fixing shell script
Add Scotts revision and my updates of CH2 - 6.
Partial JFXC-265 : Permeate binding into bound function implementation
Restructure bound translation.

Partial JFXC-265 : Permeate binding into bound function implementation
Disentange type morphing from symbol mapping.
Apply this to bound expression processing.
adding Frame class
Added Canvas.fx.
minimal initial canvas integration - bubblemark displays rects in scenerio
Copy javafx and javafx.bat to dist/bin/.
Initial implementation for JFXC-222. Now we allow extending a single Java 
class with a non-parametric constructor.
Examples for extending Java classes via no-arg ctor
Examples for extending Java classes via no-arg ctor
Examples for extending Java classes via no-arg ctor
Add section on extending java classes.
Disabled code that generates  BadClassFileError.
initial port from interpreter
Initial port from interpreter
initial port from interpreter
initial port from interpreter
initial port from interpreter
initial port from interpreter
made step default to 1.0 for range of Number; Made FX static attribute 
initializers be called from java static initializer
Initial port from interpreter- prefix changed from F3 to FX
Added getImageCache() to interface
initial port from compiler
initial port from interpreter
fix copyright
Initial port from interpreter
Partial JFXC-265 : Permeate binding into bound function implementation
Previously, the JavafxToJava visitor translated expressions only to 
expressions.
There was a separate overlying mechanism that translated expressions to 
return or exec statements.
Bind permeation makes yet a fourth desired yield and requires a more complex 
interplay that the overlying mechanism was to clumsy to allow.
Removed the overlying mechanism and introduced a desired yield state, special 
case translations are now handled directly in the visitor methods.
Also, tie into the dependency mechanism to control permeation.
Partial JFXC-265 : Permeate binding into bound function implementation
Work-around problems with the computed type of a block expression (bug filed: 
JFXC-287).

Also, fix inappropriate uses of make.Identifier (converting them to 
makeTypeTree).  Unfortunately the thought during our meeting that this might 
be the cause of the bad class didn't turn out to be true, but it was good to 
fix anyway.
Remaining case:

>> Also, fix inappropriate uses of make.Identifier (converting them to 
makeTypeTree).  Unfortunately the thought during our meeting that this might 
be the cause of the bad class didn't turn out to be true, but it was good to 
fix anyway.
Re-enable JFXC-128 : Generate bound function bodies in concrete 
implementation classes
With the fix to the below, this can be re-enabled.

Fix JFXC-278 : Bad class file error compiling test with javafx.ui.Frame 
reference
Unmorphing logic added to ClassReader in JavafxClassReader short-circuited 
signature parsing.
Added support for -J<flag> JVM argument escaping to scripts.
Fixed JFXC-282 -- Cannot assign a subclass to a typed attribute.
Fixed JFXC-252 -- Cannot embed cComponents in Frame.
Fixed JFXC-252 -- testcase.
Fixed extra quotes added during argument parsing.
Partial JFXC-292 : When in a bind context, call the bound function
Implement dynamic binding of function location as described in my email.
Does not yet work for calls to bound functions from bound attributes.
Bound function generation was disabled again to work around a bug, yet 
unfiled, encountered in JFXC-252.  So, none of this is enabled yet.
Examples from tutorials.
Runtime warning fixes, compiler workarounds.
Make -dumpjava and -dumpfx supported options.
Fixed option ordering.
Fixed runtime errors in TextField, added project support for javafxc options.
added default property
removed bogus project property
Fix JFXC-129 : Box or wrap method arguments when calling bound function
Attribute references and function calls are processed as bound left-hand 
sides.
All other arguments are wrapped in an expression location.

Partial JFXC-292 : When in a bind context, call the bound function
Instead of local tmp vars, the lazily evaluated Location of the called bound 
function is now a field of the binding expression, this allows for uniform 
bahavior in any context, and specifically, it now works for calls to bound 
functions from bound attributes.

Bound function generation is still disabled to work around a bug, yet 
unfiled, encountered in JFXC-252.  So, none of this is enabled yet.
Initial port from interpreter
Fix JFXC-295 : false error on abstract function not having bound 
implementation at time of JavafxAttr
To fix this, and consistent with the general approach of having 
JavafxClassReader revert the class to a Java-esque state, bound functions are 
now ignored in class reading.

Re-enable JFXC-128 : Generate bound function bodies in concrete 
implementation classes
With the fix to the above, this can be re-enabled.

Start JFXC-297 : Internal: Move shared definitions (static strings, Names, 
etc) into JavafxDefs
It finally reached the to-painful-to-leave-it state.
Moved core shared definitions into JavafxDefs.
PLEASE define all new shared definitions and definitions which become shared, 
in this file.
Removed unnecessary EventQueue.invokeLater step.
added runtime path to tests
enabled runtime tests
Partial JFXC-292 : When in a bind context, call the bound function
Now that the bound function Location is held in a field, the location holders 
aren't needed, remove them.
Partial JFXC-292 : When in a bind context, call the bound function
Now that the bound function Location is held in a field, the location holders 
aren't needed, remove them.
Part II.
Partial fix for JFXC-272 with testcases.
Partial fix for JFXC-272 with testcases.
Fix JFXC-292 : When in a bind context, call the bound function
With this, the bulk of 'JFXC-67:Bound functions' is implemented.
Add feature test F20-bound-functions

Remaining is JFXC-265 : Permeate binding into bound function implementation
Without this, functions called within bound functions are not bound, and the 
granularity of update is course.
Fixed last bug for issueJFXC-272. Renamed some testcase classes since they 
were interefering with the RTL cloasses with the same names.
FIxed JFXC-272.
Resolved JFXC-178. It was fixed few days ago.
Partial JFXC-265 : Permeate binding into bound function implementation
Normalize processing of bound expressions.
Ported Group.fx from interpreter.
Remove elementType method - use one in JavafxCheck instead.
Use chk.elementType method more places instead of a direct test..
Fix typo in method name makeEmptySeuenceCreator -> 
makeEmptySequenceCreator.
Ported CompositeNode from interpreter, used by BubbleMark.
JavaFXBalls demo, aka BubbleMark.  Doesn't build yet, due to JFXC-298.
Changed tool name to javafxc from javafx.
Prepare for using wildcards for sequence types:

More use of elementType helper methods (one in JavafxCheck
and one in JavafxToJava) to map sequence type to element types.
These helper methods "pass through" WildcardType and CapturedType.

For convenience, in TypeMorphInfo for object types set elementType as 
identity.

In makeTreeType handle WildcardType and ignore CapturedType.
Fix thinko in order of operands to Class.isAssignable.
Change Sequence<T> to Sequence<? extends T> for proper covariance.
This implied a number of changes.  Beyond changing signatures, I also
changed insertXxx and deleteXxx methods in Sequence to be static
methods in Sequences, since otherwise javac didn't infer correct types.
(This leads to some redundancy between insertxxx and concatenate methods.)

Note that SequenceVar is not covariant.
Added Text.fx from interpreter, fixed copyrights.
Commented out line 661-665 due to JXFC-249
Fix copyright
Added DND Support
Changed setBounds to be public to match super class
commented out insert statement for JXFC-301 issue
JavafxMemberEnter should stop recursing in visitDoLoop and visitWhileLoop.
This fixes JFXC-271.
Remove no-longer-needed JFXC-271 work-arounds.
Initial port from interpreter
Make class visible to javafxballs
Add Void return type to functions
Fix static method calls
Fix on replace block
Added support for Spinner
Initial port from interpreter
Initial port from interpreter, refactored to align with 
Radial/LinearGradiaentPaint in JDK 1.6 awt packagage implemented in the 
compiler in the com.sun.javafx.runtime.awt package.
Pulled Java 6 API into bridge directory.
Initial port from compiler
Initial port from interpreter
Initial port from interpreter
Initial port from interpreter
initial port from interpreter
Initial port from interpreter
Initial Port from Interpreter
Fixed JFXC-2 -- Types not correctly determined
Added a testcase for JFXC-2.
Initial port from interpreter
Initial Port from interpreter
Initial port from interpreter
Initial port from interpreter
Initial port from interpreter
Partial JFXC-265 : Permeate binding into bound function implementation
Convert LHS state to the new uniform state model.

Also, remove:      warning: not implemented --  dependency not generated
Underlying bug is still there.

Testng is broken for me, I will repair any bugs seen by Hudson.
If the expected type is unknown, and the init value is null,
make the type be Object.
Fixes JFXC-299.
Initial port from interpreter
adding the interpreter version of fxpad
Fixed JFXC-298 -- Cannot declaratively define sequence attributes -- wants 
SequenceLocation elements instead of actual types.
Fixed test harness, broken by recent changes.
Removed dependency on sun.swing.AccessibleMethod.
Fixed all but one compilation error.
Fixed all but one compilation error.
Partial JFXC-265 : Permeate binding into bound function implementation
Convert bindContext to the new uniform state model.
Added scenegraph.jar to classpath.
Fix for JFXC-5 -- Types not determined transitively.
Added workarounds for missing compiler functionality.
Handle 'delete var' when var doesn't have sequence type
by translating it to 'var= null'.
This is a kludge, but it should fix JFXC-310.
Removed no-longer-needed work-around.
(Though arguably the work-around is cleaner...)
If applying a non-function, report an error.
This fixes JFXC-290.
Fixed JFXC-243 -- Error deboxing on method call within foreach loop. This was 
fixed couple of days ago.
Initial port from interpreter
Initial port from interpreter
updates to support TabSlider
Initial port from interpreter
Initial port from interpreter
Partial fix for JFXC-273.  Call delete triggers in reverse order.
Partial fix for JFXC-273.  Call delete triggers in reverse order.
Factory to create Gradients by mapping the FX sequence type to Java arrays
upgraded to use Gradient Factory as work-around for JFXC-305
Changed default target to compile runtime jar, but only after compiler jar 
successfully completes.  In the compiler has a bug that prevents runtime 
compilation, this allows the compiler to be rebuilt (hopefully fixed!).
turned off Javadoc target
Fixed JFXC-312 : Wrong static class referenced in dispatch method
The MI mechanism is, in part, to create dispatch methods to the actual 
implementation method, which is a static method on a superclass.
Processing of source classes and processing of classes from class files are 
quite different.  Source file processing was fine.
However, class file processing was unable to see superclasses below the first 
enclountered class file class.
And changing that, there was no mechanism to destinguish, true implementation 
from dispatch methods, or abstract, or static, etc depending if the interface 
or class is used.
For now, I have marked actual implementation with "$impl" so that the correct 
dispatch methods can be built.
This isn't the right solution.  The right solution is probably to have meta 
information on the interface.

Using the javafxballs ant file, I get and internal error.  But I don't get 
this on a direct compile.  So, given timing, I'm committing.
Fixed JFXC-306 -- Cannot locate super class interface Transformable from 
Gradient.fx.
Fixed JFXC-306 -- Cannot locate super class interface Transformable from 
Gradient.fx.
Fixed JFXC-306 -- Cannot locate super class interface Transformable from 
Gradient.fx.
Partial fix for JFXC-211 -- Cannot locate attribute declared in a super class 
with Mulitple Inheritence
. The attribute example is now fixed.
Set more specific diagPos (i.e. line numbers) on expressions
evaluated during setDefaults$.
New Sequences.size(Object) to work on any Object.
In translator, call this method for 'sizeof x' if x isn't a Sequence.
This fixes JFXC-204.
Addendum to partial fix for JFXC-273.  Call delete triggers in reverse order.
Tests for runtime class initialization:  all the tests do is initialize a 
variable with a class instance, using the default properties -- this catches 
NullPointerExceptions in the class's init code.
Clean-up for JFXC-312 : Wrong static class referenced in dispatch method
Initialization NPE fix.
Initialization NPE fixes.
Fix for JFXC-211 -- Cannot locate attribute declared in a super class with 
Mulitple Inheritence. The attribute example is now fixed.
Fixed JFXC-211.
Fixed typos from last commit.
JFXC-329: Commented out conditional bind expressions
JFXC-328 -- runtime support for dynamic dependencies.
Fixed initialization NPEs.
Fixed remaining initialization NPEs, made demo's spinner bind bi-directional. 
 Demo now displays (yea!), but Spinner is re-initializing the app's value 
back to zero -- more initialization design needed.
Fix JFXC-324 : NPE and wrong results: dependencies for x.y need to be 
computed dynamically
Selects (x.y) are now added dynamically as dependents.
With regression test.
Thanks Brian for the quick runtime work.

Note: NPE will still occur with unset attribute references, but this is 
because of the second cause: the update
Fix part B JFXC-324 : NPE and wrong results: dependencies for x.y need to be 
computed dynamically
Handle bi-direction bind.
Test update JFXC-324 : NPE and wrong results: dependencies for x.y need to be 
computed dynamically
Forgot to update expected (bi-directional cases were added).
update compiled fxpad to use the real runtime library
adding hook for fxpad
Clean up JFXC-324 : NPE and wrong results: dependencies for x.y need to be 
computed dynamically
Clean up translation state.
Partial JFXC-330 : Gracefully handle dereference of null
Initial work on handling x.f() where x is null.
Not enabled yet.
Re: issue JFXC-317 -- This should have been fixed with JFXC-211.
Partial JFXC-330 : Gracefully handle dereference of null
Hack until we have optional types specified: dereference of null returns 
default value for the return type of the function
Dereference of null in function call -- enabled.
Regression test for this case.
Dereference of null in attribute access, not implemented.
Partial fix for JFXC-275.  Add BoundCompositeSequence class, which supports 
binding to sequence contenation with minimal updates.
Add test case for JFXC-201/JFXC-258
If the type is not a sequence types (as set frm context), emit null.
Uncomment JFXC-318 work-around - doesn't seem to be needed any more.
New tests for sizeof, including ones from JFXC-204.
Uncommented JFXC-303 work-around - seems to be working now.
Added "compiler-only" target to build (or use "jar"), so compiler developers 
can skip the runtime portion during development.  Added runtime test 
directory cleanup.
Added runtime test directory cleanup.
When translating a type to Java, map a COMPOUND type to Object.
This fixes JFXC-239.
New regression test.
initial port from interpreter
Complete hacked version thus Partial JFXC-330 : Gracefully handle dereference 
of null
Hack: until we have optional types specified: dereference of null returns 
default value for attribute (same for the return type of the function already 
done)
Dereference of null in attribute access -- enabled.
Regression test extended for this case.
Utilities for converting Double Sequences to java primitive type arrays
Modified to use com.sun.tools.javafx.ui.SequenceUtil
Remove unused import
Initial port from interpreter
Minor tweaks.
Initial port from interpreter
fix copyright
fix copyright
fix copyright
fix access mode onf createFilter
Initial port from interpreter
JXFC-301 seems to be fixed for Rext.fx
initial port from interpreter
Initial port from interpreter
Move sequence covariance into runtime while avoiding <? extends T> 
contageon.  Covariance is now supported in the various SequenceLocation 
classes, by reifying sequence location component types and using an optimized 
runtime upcast which is a no-op if no covariance is being employed.  The only 
places where the <? extends T> is needed is in whole-sequence 
replacement, such as SequenceVar.set(), SequenceBindingExpression.get(), and 
SequenceVar.make().  Everywhere else can be just <T>.

Create utility routines to launder some unchecked casts, especially generic 
array creation.
More unchecked cast cleanup
More unchecked cast cleanup
Optimize sequence element replacement; instead of concatenating subsequences, 
use the new ReplacementSequence class.
initial port from interpreter
Initial port from interpreter
Initial port from interpreter
Added support for ToggleButton
initial port from interpreter
initial port from interpreter
Added support for Tree and Table
Added method for int and String array conversion
Initial port from interpreter
Added UNSET initializers
If the inferred tyope is a primitive type (except for int, double,
or boolean) use the boxed class instead.
This fixes JFXC-250.
Regression test for JFXC-250 : Non JavaFX Primitive types ('AssertionError on 
InternalWindow.fx')
I had written this test for my fix.  It works with Per's fix.
Initial fixes for JFXC-309.
Initial fixes for JFXC-309 -- Fixed some visibility issues.
Initial port from interpreter
Remove JFXC-250 //TODO Comment
Fixed 384 -- NPE in Compiler InternalFrame.fx Desktoppane.fx.
Sever SequenceChangeListener from ChangeListener.
Eliminate generation of unnecessary onChange method for sequence listeners.
Comment out tooltip until issue with scengraph is resolved
removed commented code from JXFC-211, issue is resolved
More fixes for JFXC-309 -- Cannot resolve an overloaded method returning 
float in Annon inner class.
Restricted change events to value changes in Spinner, fixed NPE in Transform.
removed obsolete scenegraph support files
Added javafxc.args option to demo project support.
More NPE workarounds.
Extend hack to cover void valued access and non-FX objects JFXC-330 : 
Gracefully handle dereference of null
Regression test extended accordingly.
Remove work-arounds for void valued access and non-FX objects JFXC-330 : 
Gracefully handle dereference of null
Fixed remaining NPEs during javafxballs initialization.
initial port from interpreter
Fixed:
JFXC-309 -- Cannot resolve an overloaded method returning float in Annon 
inner class
JFXC-341  -- Problems with signature clashes in overloaded bound functions
Fixed:
JFXC-309 -- Cannot resolve an overloaded method returning float in Annon 
inner class
JFXC-341  -- Problems with signature clashes in overloaded bound functions
Added more checks for null
fix initialization of Menus
Add sequence box and unbox operations to suppoort JFXC-344.
Fix JFXC-337 : assignment operators not implemented
That is, things like += only worked on non-Locations, so they didn't work on 
attributes, or sequences.
Now they should work on anything.
With regression test.
Added README describing build instructions.
Fix JFXC-231 : Implement ++ and -- both post fix and prefix.
Was half way there with assign op, couldn't resist.
Also fixes an unreport issue, that  'var x = seq[n] = 0' would fail.
The SequenceLocation implementations now return the value on set of an 
element (like they do of a set of an value).
With regression test.
Validate frame right before showing it.
Create JavafxTypes and put some type-related functions there
(rather than random other files).
Make sequence T[] aconvertible to Java array T[].
This hopefully fixes JFXC-279 and -305.
This tests JFXC-279 and JFXC-305.
Removed NPE workaround which blocked shape creation.
Fixed Node opacity so it isn't set to zero by default.
fix  setDrawPaint() to use awtStroke
Fix errors found in runtime testing
Added timer support.
Rename Sequences.box/unbox to toArray/fromArray
Rename Sequences.box/unbox to toArray/fromArray
Move sequenceType method from javafxAttr to JavafxTypes.
make elementType more robust.
Eplicitly check insert and delete operations that "sequence" operand
has sequence type.
This fixes JFXC-342 and -343.
JFXC-344 -- Cannot cannot find symbol "javax" within on replace block.
Fixed JFXC-344 -- Cannot cannot find symbol "javax" within on replace block.
Check reified type on upcast
avoid type inference
Pointer support in runtime
Fixed index range, removed fixed issue workarounds
Make Pointer implement Property
Removed commented-out code, added cast workaround
Change name mangling to be consistent with Lubo's checkin; add scene graph to 
compiler class path
fix moveNode methods
make attributes public
Initial port from intepreter
uncommented sections for JXFC fixes
added check of empty url string to avoid MalformedURLException
Add support for images, from interpreter
add check for 0 length baseURL to prevent MalformedURLException
add getImage to load image in createNode method
fix copyright
add initialization of Transforms
fix image urls for number images, fix frame dimensions
removed empty test directory so build will not fail due to a missing JUnit jar
JFXC-41 -- expose sequence elements as lvalue.  Created 
SequenceElementLocation class, which corresponds to "bind x[i]".  Also useful 
as part of revamping bound sequences.
Fixed JFXC-346 -- New name mangling should elide generic information.
Now mangling using the erased type of the parameters instead of the type of 
the parameters.
Fixed classpath handling in javafx scripts, include scenegraph library in 
distribution,
moved distribution jar files into dist/lib/.
Fixed classpath handling in javafx scripts, include scenegraph library in 
distribution,
moved distribution jar files into dist/lib/.
fixing boot class path
Fix JFXC-348 : in a bind context Java fields have '.get()' mistakenly 
attached and Java fields added to the dependencies
This bug caused binds as simple as this to fail:
   var x = bind { System.out.println("hi"); 0 }
Clean-up the determination of morphability and the determination of 
dependencies.
With regression test
Fixed initialization and moving:  x,y values were either 0.0 or NaN.
Fixed scenegraph.jar copy destination.
updated javafxc scripts with dist/lib change
Added the code from Per's patch to avoind an NPE while attributing 
JFXInstanciate AST. Fixed a bug where the args member of JFXInstanciate AST 
is not visited while access to outer members is added.
Add explicit Void return types to avoid type inference cycle.
Add a check for cycle in type inference of functions.
Convert Sequence of (boxed version of) primitive to array of primitive,
when needed.

Also removed makeInterface parameter of makeSequence - I don't think
if makes sense for this to ever be other than false.
Fixed a bug reported by Chris, that had to do with bad type sub-type 
detection for classes with more than one level of inheritance.
Change onTransformChanged from function to attribute of function type
Fixes for javafxballs
added exit to onClose
Fix JFXC-351 : == should use 'equals()'
More fixes for MI classes castable and assignable.
removed private directory
removed private directory
Changed javafxballs to use images.  Both vector and image nodes are still in 
the source, just comment out the one return in ball.createNode() and 
uncomment the other.
Added missing commented-out section.
Create SGText at initialization
changed image fetch to classpath, turned off hover for now, misc. fixes
Remove old 'TODO JXFC-284 NPE' comments.
Cache the component sequences, updating them in the 3 listeners.
Ooops - prevous check-in caused a test-suite failure I didn't notice.
Revert it until I can debug it.
The compiler no longer creates the extra XxxBindingExpression classes.
Instead it creates computeValue methods in XxxExpression.
(More run-time cleanun to follow.)
Java Web Start support added to javafxballs demo.
Update tests to use new XxxExpression API.
Fixed copylibs task for systems which don't run NetBeans.
No longer need "makeLazy" name.
Update more tests.
In XxxExpression  classes, remove no-longer used make and makeLazy methods,
rmeove expression fieldm and make calculateValue and hence class abstract.
Remove XxxBindingExpression classes.
removed system-dependent references
Micro-optimization: If size==0 then position<0||position>=size must be 
true.

JFXC-336: added JavaFX version of SimpleTreeVisitor.
Fixed JFXC-301 -- cannot cast "this" in Rect.fx to super class 
SizeableCanvasElement.
Fixed JFXC-301 -- cannot cast "this" in Rect.fx to super class 
SizeableCanvasElement.
Testcase for
JFXC-301 -- cannot cast "this" in Rect.fx to super class 
SizeableCanvasElement.
JXFC-373: fixed handling of classpaths with spaces
Added support for hover
Change attribute from fx to FX to match FXMouseListener
Fixed awtImage update
Added hover back in
Add 'for' as synonym of 'foreach'.
'foreach' to me removed after transition.
Test to verify simple JavaFX graphics object can be instantiated and accessed 
from Java.
Added Jim's sequenceToArray utility method.
commented out GUI test until X is setup on build server
cannot comment-out a test by removing its test annotation
Class to assist interacting with FX Objects from Java
Added check for null DropTarget
Added in transfer handler support
Clear up resolved JIRA issues
Change init blocks to initialized attributes
fix alignment declaration
For now, catch error if indexing a non-sequence.
(Later, we should perhaps convert to sequence, depending on how
our type system handles sequence types.)
This fixes JFXC-382.
New static toString method uses JavafxPretty, rather than javac'c Pretty.
Update 'foreach' to 'for'.
Update 'foreach' to 'for'.
Fixed JFXC-376 - Build failure at SVN 1127. Fixed incorrect type assignment 
for temp iteration variable of a foreach loop, when the type of the sequence 
is coming from a class file.
Added BlockExpression public API.
Public tree API sync with private trees.
JFXC-336: added public tree scanner base class.
JFXC-336: added public tree path scanner base class.
Partial fix for JFXC-320 -- cannot locate another method in same class. Now 
allowing downcast conversions of Number to Integer and to the less precision 
Java primitive types.
Extend fix for JFXC-351 : == should use 'equals()'
Handle == in the face of arbitrary combinations of sequences Strings 
null-literal null-values Objects primitives
Scenario project opened, changed URLs, version.  Also included updates 
Scenario team made to UI classes.
Compliment fix for JFXC-351 : == should use 'equals()'
Handle not equals <>
Added a testcase for JFXC-6. This was fixed some time ago.
add script-api.jar so it'll run under java 1.5
Updated bin files to have build replace current Scenario version in classpath.
removed typo
fixed bootstrap library name
Handle the case sym.type == null, which happens when we have a cycle.
This fixes jfxc-385.
The real functional fix is in addOutersForOuterAccess - it should not add
a class to hasOuters is the sym is a parameter or local variable.

Also, remove isOuterMember method - it is functionally
equivalent to sym != null && ownerSym != null, and that can be
folded into addOutersForOuterAccess.
convert from "foreach" to "for".

Yeah, the antlr site is down, which blocks builds (it is trying to do a 
bootstrap), so this is something I can do....
convert from "foreach" to "for".
remainder of runtime
convert from "foreach" to "for".
test/regress
convert from "foreach" to "for".
And get rid of unnecessary French quotes
Updated bin files to include current Scenario version in classpath.
Change _JAVAFX_LIBS variable to _JAVAFXC_HOME for the javafxc.bat file
Fix JFXC-378 : Support Trailing Commas in Sequences
For example [1, 2, 3,]
With regression test.
Fix JFXC-389 : bound function compilation confused by nested functions
Cause was inconsistent handling of Void functions.
Bound function semantics must be resolved.
But, for now, Void functions are not bound, nor are bound versions generated.
Fix JFXC-45 : Features tests #11 and #12 confused
Feature test #11 is supposed to be about lazy bind, but seems to be about 
bidirectional bind. Feature test #12 is missing. Also needs READMEs.
Fix JFXC-45 : Features tests #11 and #12 confused
Feature test #11 is supposed to be about lazy bind, but seems to be about 
bidirectional bind. Feature test #12 is missing. Also needs READMEs.
Fix JFXC-45 : Features tests #11 and #12 confused
Let's see if we can get svn to cooperate this time
Fix JFXC-320 : cannot locate another method in same class
The issue was fixed by the fix for JFXC-389.
The code just needs to be uncommented.
Fixed JFXC-394 -- NPE when initializing attribute to the value of a 
superclass attribute.
Change comment for JXFC-153 to JXFC-107
uncommented 2 other lines for JXFC-320
Fixed JFXC-391 -- init not run on superclass.
Fix JFXC-319 : var from foreach not accessible within code block
Verify fix and remove work-around
Make sure setDefaults$ and userInit$ are not called more than once for the 
same base class in a diamong shape hierarchy.
Fixed an exception due to changes in initialization order. The default values 
of "overridden" attiributes should be set in init block instead of supplied 
as default values -- the def values from the super class are not allowing the 
ones from this class to be set.
As part of JFXC-118 :  Local variables in object literals needs implementation
Fix subtask JFXC-413 : Distinguish local vars in the parsing and tree 
building of object literals
Removed commented code for JFXC-335. This bug was fixed few weeks or so ago.
Fixed JFXC-212 and it's duplicate JFXC-267 -- Wrong variable type generated 
for old value variable in replace trigger
.
Fixed JFXC-212 and it's duplicate JFXC-267 -- Wrong variable type generated 
for old value variable in replace trigger.
Removed unnecessary test in transform code.
Added an init block, so the onTransformChanged defined in Transformable.fx is 
not shadowed by onTransformChanged defined in Node.fx.
Uncomment JXFC-329 which is now fixed
Initial port from interpreter
Change bind from holders to content for JXFC-417
New helper method newLocalEnv - use it where appropriate.
visitInstanciate: Do memberEnter on the local variables.
This fixes JFXC-415.
Fiexed a problem with  initializing of shadowed attributes. The 
initialization now works as follows... If an obj lit provides a value to an 
attribute, this is the value assigned to the attribute regardless whether it 
is shadowed or not. If ab object is instantiated w/t ObjLiteral, a shadowed 
attribute takes the def value supplied by the the "this" object. If "this" 
doesn't supply value, then the def value of the closest base object if used.
Added Scenario.jar to default classpath in shell scripts.
Fix JFXC-413 : Generate local vars in object literals
Which is the last sub-task of JFXC-118 so:
Fix JFXC-118 :  Local variables in object literals needs implementation
Do resolve constructor for JFXInstanciate, if ! isJFXClass.
When translating, use constructorto do type-directed translation of
constructor args - as might be needed if a conversion is needed.
When converting sequence to Java loat array, invoke "toFloatArray".
And add toFloatArray in runtime-library.
Remove SequenceUtil.sequenceOfDouble2floatArray calls - now handled
by compiler, which generated Sequences.toFloatArray.
Fixed JFXC-230:Type of block expression doesn't consider return.
JFXC-349: fixed classpath handling in javafxc.bat.
Fix makeTypeTree to handle Java Array types.
Sequences.java: Generalize toArray(Sequence<Double>) and
toFloatArray(Sequence<Double>) to handle(Sequence<? extends 
java.lang.Number>).
GradientFactory.java: Likewise generalize so it matches compiler-emitted code.
Table.fx and Tree.fx: Remove calls to SequenceUtil methods; let compiler
handle the conversion.
Remove SequenceUtil.java.
Fix JFXC-424 : Implement escape processing in string constants
and subtasks:
Fix JFXC-423 : Cannot escape special characters in string constants
Fix JFXC-419 : Newlines are Printed Incorrectly
add extends Border
Changed to use java.awt Gradient classes if Java 6, otherwise use 
com.sun.javafx.runtime.awt version of these classes
Changed to use java.awt Gradient classes if Java 6, otherwise use 
com.sun.javafx.runtime.awt version of these classes
Modified isJDK15 check to check for the existence of the java.awt version of 
the class instead of relying on the java version string
If parameter types or return types unknown, but specified from context,
use the context type.  Useful when passing anonymous function "literal"
to function variable.  This fixes JFXC-428.
Fix breakage from previous check-in.
Attribute expression to be inserted into sequence using
sequence type, not element types.
This fixes JFXC-300 and JFXC-425.
Cleanup now that JFXC-300 is working.
cleaned up JavaFX pretty-printer
Make sure to attribute (not just enter) vars in object literals.
This fixes JFXC-429.
remove redundant initialization of stroke and fill in init block
added param name, node:, to the second argument, SGNode, for the mouse event 
callbacks, without the name for the SGNode argument, the functions were not 
recognized as overloading the empty methods in SGMouseAdapter, thus not mouse 
events were being forwarded to the node
Port from interpreter
Added CopyLibs jar property
Fixed JFXC-333:Interface class not located for containing anonymous class 
from within a Runnable anon class.
Fixed JFXC-333 and JFXC-307.
JFXC-440: merged in community patch adding Cygwin support.
Added @compile/fail test support, which supports tests for correct 
compilation failures.
Fixed JFXC-393:functions aren't checked for return -- CPU goes to 100%.
Testcase for JFXC-172. It was fixed some time ago.
Fixed up the source because of fix for JFXC-172.
Initial work on JFXC-375 : parser tree construction code needs to be replaced 
with ANTLR tree rewrite rules
Group was not setting parentCanvasElement at initialization
JFXC-384 -- don't allow range sequences larger than Integer.MAX_VALUE
Clean up examples so they compile.
More JFXC-384; do the same for double-valued sequences too.
More work on JFXC-375 : (for error recovery) parser tree construction code 
needs to be replaced with ANTLR tree rewrite rules
Use static knowledge of class hierarchy to determine whether to execute 
attribute initializer before or after calling super.setDefaults().  This 
ensures that superclass initializers run before subclass initializers, except 
for shadowed initializers.  Clean up some issues found by the code inspector.
Some more work on JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Yet more work on JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Fixed JFXC-465:Cannot access for var when used in init block.
Still more work on JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Now accepted by ANTLR.  Correct trees now need to be generated, and a tree 
grammar is needed to convert them to ASTs.
Fixed JFXC-467:A single element needs to be coerced into a one-element 
sequence when appropriate.
Even more work on JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Debugged via regression tests.
Removed no longer necessary brackets from demo code.
Fixed JFXC-470:Problem with superclass method resolution
Next phase on JFXC-375 : (for error recovery) parser tree construction code 
needs to be replaced with ANTLR tree rewrite rules
First approximation of tree walker.
And on... JFXC-375 : (for error recovery) parser tree construction code needs 
to be replaced with ANTLR tree rewrite rules
Begin alignment of parser grammar and tree walker grammar.
New test-case.
Change visitVar so that if there is no init expression and no type-specifier
and this tree.type is non-null, use that. The idea is this is used
to set a default tree.type from context.
Simplify processing of trigger parameters - set trigger's var.type from
var's type, or element type, as appropriate, making use of above change.
This fixes JFXC-416.
Also change the fix to JFXC-428 to be simpler
that the previous check-in: Instead of "inlining"
a simplified version of vaisitVar, we set the parameter's
type from the context, and then visitVar uses that as the default.
Get rid of elementType in JFXAbstractOnChange - not used for anything.
New test case.
JFXC-302 seems to be fixed now.
classpath fix
fixed setObject to handle the basic FX type
JXFC-473 - Fixed size calculation to defer the cast to long until after the 
divide by step
Added tests for fractional Ranges to check for correct size
And on, and on,... JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Parser grammar and tree walker grammar, consistent and ambiguity free.
Initial port from interpreter
Change getObject to handle the FX types
Infrastructure for JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Ant rules.
Support classes.
Designed so that v2 and v3 can be simulataniously supported.
v3 far from complete, and is disabled.
Beginnings of AST building from antlr trees.
Change return type of makeMouseWheelEvent from MouseEvent to MouseWheelEvent,
since MouseEvent isn't a valid argument type to onMouseWheelMoved.
When genetating code to create a Function instance (in makeFunctionValue),
now set the "correct" type parameters, rather than Object.
The advantage is that we get useful type parameters all they way to
the class files, so the emitted signatures are useful - and can be
read back in again.
This has the disadvantage that get emit an extra useless bridge method,
and calls get an extra level of indirection.  (This is added by the
javac backend, so it seems hard to avoid.)
Modified JavafxClassReader to recognize function types in a classfile
"signature" and map back to FunctionType objects.
Also map "void" as a return type to java.lang.Void in FunctionTypes and back.
This fixes JFXC-466.
Moved migrator into separate project to reduce runtime jar size.
Moved migrator into separate project to reduce runtime jar size.
remove empty directories from repository
Modify function Font.Font to work properly
modified to use Swing Timer for delay rather than Thread.sleep, also various 
fixes
Added check for changed properties, added checks to see if it is running 
before calling start, added FXTimingTarget as option to both constructors of 
FXAnimation
Added workaround for start button on splash screen, fixed animations
Fix checks for Modifier Keys
Improved exception messages.
Treat no EXPECTED file as expecting successful execution but empty output.  
Added back in EXPECTED files for tests that were erroneously missing theirs.
Removed sun.awt dependency.
Test framework enhancement and cleanup pass:
 - Treat no EXPECTED file as "should run with no output"
 - Added @run/fail, @test/fail qualifiers
 - Created should-fail and currently-failing directories, for tests that are 
supposed to fail, and tests that currently fail but are not supposed to -- so 
that we don't have to ever comment out the @test marker and risk forgetting 
about the test
 - Added @subtest tag and make sure that all tests are either @test or 
@subtest, or complain
 - Clean up dead tests, add missing @test/@subtest tags
Test framework enhancement and cleanup pass:
 - Treat no EXPECTED file as "should run with no output"
 - Added @run/fail, @test/fail qualifiers
 - Created should-fail and currently-failing directories, for tests that are 
supposed to fail, and tests that currently fail but are not supposed to -- so 
that we don't have to ever comment out the @test marker and risk forgetting 
about the test
 - Added @subtest tag and make sure that all tests are either @test or 
@subtest, or complain
 - Clean up dead tests, add missing @test/@subtest tags
More test cleanup; move tests that should fail to should-fail directory
Fix typo in previous commit
Add test-single support for FX tests; fix typo in previous checkin
AST building for JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Build ASTs from ANTLR trees.
Complete and compiles, but is not correct yet.
JFXC-336: fixed tree path scanning.
ignore ANTLR intermediate files
Fix AST building for JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Debug ASTs built from ANTLR trees.
fixed initialization errors, TransferHandler dependencies
JFXC-42: FXUnit framework.  Allow test cases to extend TestCase; modify test 
runner to accept @test/fxunit and treat such files as JUnit test cases 
(reflectively searching for testXxx functions.)
added test
JFXC-472 -- When a variable is modified in an init block, the trigger is 
typically called twice, once for the initial value and once for the value set 
by the init block.  This putback moves registration of triggers until after 
the init blocks are called.
JFXC-392 -- postinit blocks.  The init block is called while the object is 
being initialized; it is suitable for vetoing or correcting values provided 
by the object literal, but not for acutally using the object (such as 
registering listeners.)  The postinit block (same syntax, just introduced 
with "postinit" instead of "init") is called after the object is already 
constructed and is suitable for actually using the newly created object.
JFXC-334 -- Ignore out-of-bound sequence insertions, as we do with deletion, 
instead of treating them as at-bounds insertions.
alt-build no longer needed.
More fixes to v3 parsing and AST building for JFXC-375 : (for error recovery) 
parser tree construction code needs to be replaced with ANTLR tree rewrite 
rules
And continue to convert 'foreach'->'for'  ('foreach' not supported by v3 
parser).
Enhanced service registration to support compiler subclassing.
Solidify fix for JFXC-375 : (for error recovery) parser tree construction 
code needs to be replaced with ANTLR tree rewrite rules
Add support for recently added syntactic constructs.
Add better position information.
Unify normal and French quoted identifier processing.
Now passes all tests that v2 passed.  Both fail JavaFXScriptEngineTest, but 
in different ways.
Fix still disabled until that is resolved.
Fixed test stderr output.
Changed error line number tests to report expected and actual line numbers.
Lay groundwork for bound sequences by using 3-place replace operation and 
trigger internally.  Simplify BoundCompositeSequence; implement 
BoundReverseSequence.  More tests, misc test cleanup.
Fix JFXC-375 : (for error recovery) parser tree construction code needs to be 
replaced with ANTLR tree rewrite rules
Finally complete and enabled.
Correct extraction of position information.
Also, add support for diagnosing position information.
JXFC-484 - Had to add initialization of buttons in init method
Runtime updates as needed for JFXC-375 : (for error recovery) parser tree 
construction code needs to be replaced with ANTLR tree rewrite rules
More bound sequences -- add case of simple bound comprehension (single 
dimensional, no where clause, one element per iteration); simplify bound 
sequence framework.
Regression test for JFXC-429
Fix JFXC-486 : No way to use a { as a literal left brace character in a 
string.
Keyword clean-up.
Fix JFXC-481 : computed selector on left-hand-side fails with *Location error
This is the issue formerly (and inaccurately) known as: The multiplication 
operator (*) doesn't seem to be valid within the square brackets of a 
sequence element
JFXC-194: added doc-comment support to parser.
The type of an "exit expression", such as a throw, return,
break, etc is now "unreachableType".

This fixes JFXC-478.

Check for unreachable code.

This is not fully finished.
Improve line numbers on "expresison statements"
and post-increment/-decrement expressions.
JavafxTreeScanner.java: In all visitXxx methods replace calls to accept
by call to scan.  This adds an extra level of indirection, but is
consistent with TreeScanner.java - and enables the follow
fix in JavafxMemberEnter.
JavafxMemberEnter: New 'scan' method that does nothing.  I.e. visit
methods by default do not recurse.
This fixes JFXC-480.
This also allows simplification, by removing empty visitXxx methods,
and presumably fixing similar undiagnosed errors.
Some JavaDoc-comment improvements.
Add view conversion from IntLocation to DoubleLocation
Added toString() implementations so trees can be displayed in debugger.

Implemented JFXC-39 -- Convert modifiers in FX source into annotations in 
Java tree.
Check in chris' "bindbugs" test
Remove fxClassAttributes cache.  Instead, stash attributes in
JavafxClassModel.
Move fxClasses, isJFXClass, addFxClass, clearCaches from
JavafxInitializationBuilder to JavafxTypes.  This will make it
easier/cleaner to use fxClasses/isJFXClass in earlier phases.
Fix JFXC-489  : 'parser analysis failure in bindbugs.fx'
problem was use of 'foreach' instead of 'for'.
But the error handling response was hideous, but that is JFXC-488, the main 
bug I'm working on.
One tiny step in that direction is the moduleItem clean-up which is also part 
of this commit.
Fix module level expressions
Towards fixing syntax-diagram generation.
Implemented JFXC-40 -- Unmarshal modifier annotations into symbol table when 
reading FX .class files. The annotation are read and set the corresponding 
bits of the flags_field of the symbol.
Generated using svn diff against the following svn repository -- 
https://openjdk.dev.java.net/svn/openjdk/jdk/trunk/langtools
Very early version of javadoc for JFX:  builds and runs, but needs a different
standard doclet before any useful documentation can be generated.
Fixed JFXC-482 -- Compilation error with multiple inheritance and separate 
compilation.
Move feature test F19 now that Lubo fixed JFXC-482
Add EXPECTED file for F19
Fix NPE bug found by FindBugs
removed errant work around for JXFC-244 which no longer errors. By removing 
the errant work around, this resulted in fixing JXFC-490
Fix setting of ExtendedState when iconified is changed, so that the Frame 
properly iconifies or restores
New flag COMPOUND_CLASS is used to indicate a Javafx class that is
compiled to both a class and an interface, to support multiple inheritance.
This is now distinct from the isJFXClass, because COMPOUND_CLASS does *not*
get set when inheiting a Java class, or inheriting from another
non-COMPOUND_CLASS, or when the class is final.  This means we can
inherit from Java classes in a better way.
Note that COMPOUND_CLASS also is set reading a class signature.
This means we don't have to complete symbols just to determine
whether they are COMPOUND_CLASS, which makes compilation faster,
and avoids some completion failures.
This fixes JFXC-475 and JFXC-476
jfxc475 should now compile - and run.
fixing breakage to FXPad
fixing remaining breakage
More FXUnit
Implement button using XButton instead of JButton to be able to handle 
default buttons properly
Had to explicity assign alignments and textPosition as the default assignment 
in fx set everything to CENTER, issue JXFC-498
remove issue work arounds that now work
Removed commented out sections for issues that have been resolved
Removed commented out sections for issues that have been resolved
Don't generate $impl methods for non-compound classes.
Fixes JFXC-495.
Don't get a ClassCastException on (semi-useless) 'import Foo;'
when Foo is a simple unqualified identifier.
This fixes JFXC-169.
modified for new class inheritance feature
remove dependency that bean class had to be assignable from FXObject
Applet support:  to use, either subclass javafx.ui.Applet or use 
com.sun.javafx.api.ui.FXApplet and set a AppletClass parameter with the class 
name which has the widget for the applet content.
added junit to classpath
Fixed race condition in applet initialization.
Pass ${tools.dir} and ${*.class.path} properties to runtime sub-build; use 
properties instead of hard-coded path in runtime sub-build.
More bound comprehensions (JFXC-501).  Updated SimpleBoundComprehension (with 
test) to support comprehensions that use indexof.  SBC is suitable for 
one-dimensional comprehensions where there is no WHERE clause and for which 
each iteration produces exactly one value.
Refactoring of bound sequence classses.
More JFXC-501 -- bound singleton sequences (bind [x] for instance x), can be 
used in conjunction with BoundCompositeSequence when the input is a mix of 
sequences and instances
When mapping a plain '?' wilcard, translate the "inner"
type as null, rather than java.lang.Object.
This fixes JFXC-506.
Rewrote jfxc475.fx to avoid instantiating class that required AWT.
added test/unit/src root
Fixed JFXC-222 as described in the last comment -- Invoke superclass methods 
with super.foo().
removed test file
Initial checkin for JavaFX XML framework
Fixed findbugs warnings.
more fixes to FindBugs warnings
Added testcase for JFXC-156. This should have been fixed sometime ago.
made StrokeLineCap and StrokeLineJoin public as they should be; added 
workaround to Group to ignore incorrect nulls in sequences rather than 
causing NPE in scenario - remind: need to file a bug for that too
More JFXC-501.
JFXC-508: fixed public access in InfiniteProgressPanel.  Patch contributed by 
Jim Weaver.
Fixed scripts so compiler help is printed if no arguments are specified.
Copied version support from javac build:  version resource strings are now 
generated during the build.  Override the default values using command-line 
Ant properties.
Copied version support from javac build:  version resource strings are now 
generated during the build.  Override the default values using command-line 
Ant properties.
Suppress private and build directories.
Partial JFXC-519: call insert triggers when a value is assigned to a 
sequence-valued attribute.  Partially fixes regression.  Still doesn't fire 
on object-literal assignment.
Support for runtime-supplied entry code -- not called by generated code yet.
Added Scott's new CH3 and CH4 to check ToC.
Editing to come.
Partial JFXC-488 : Improve parsing error handling
More user-friend error messages.
Added missing throws clause from test.
Fixed NPE caught by initialization test.
Implemented EventDispatchThread startup for UI runtime library.
suppressed findbugs warnings
removed empty dir
Build support for generating distribution bundles.
Work around an ANTLR bug, so positions of object literal and object literal
parts are set correctly.  Arguably, setting their positions to that of
their first tokens may be is preferable anyway.
minimal subset of apache batik needed to parse a general path from an svg 
formatted string
Scene graph node whose content is a general path represented as an svg 
formatted string
port of svg to fx translator which generates code compatible with the 
compiler and current runtime
Fix for JXFC-523, need to initialize insets
added tests to weekly build
JFXC-530: fixed boot class path for Windows
removed all bootclasspath support for Windows
Added JavaFX version of JavacTrees, JavacScope.
Added Scenario to bootclasspath.
JXFC-516, Had to change pageBounds initializer from Object Literal to 'new 
Rectangle()', changed getPage() to bound index
In UseSequenceBuilder.makeTmpVar check the COMPOUND_CLASS flag (rather
than isJFXClass) to decide whether we need to add the $Intf suffix.
This fixes JFXC-514.
JXFC-531 Added work-around to JXFC-329 bind issue so clips work
Rename XxxLocation get/set/getPrevious methods to getAsXxx, to faciliate type 
system changes
Fix glitch in last checkin; make test framework run tests from test/fxunit
New "isCompoundClass" helper method.
In various places use isCompoundClass rather than isJFXClass
when it seems (as far as I can tell) the former is correct.
Support for generalized replace trigger.
(For now just infrastructure - no parser support.)
use filter token for scene graph name, changed HOME references to JFX_HOME
JXFC-536: changed -help detection for Cygwin.
More disambiguation of location method names
Parser support for trigger unification.
-Per & Robert
Make IntLocation, DoubleLocation, and BooleanLocation implement the 
appropriate ObjectLocation as well.  First piece of introducing strict and 
lenient modes.  Add Location.isNull().
JXFC-485, added check for https along with http, commented out parts using 
Toolkit.createImage, using ImageIO instead to work more cleanly with 
scenegraph
JXFC-485 added updateInterpolationHint from interpreter, initialized sgimage 
in attribute rather than in init
updated Scenario to 0.4.1
Add setDefault() method to XxxLocation classes.
Fix copy-and-paste error - used tree.getIndex() instead of lastIndex.
Add sequenceType option to leave off the EXTENDS wildcard,
needed for some run-time libray interfaces, like SequenceChangeListener. Sigh.

Get definition of SequenceChangeListener anonymous class to work.

This gets the new unified triggers working.  Yeah!
Add test for new unified trigger syntax.
Exclude unnecessary classes from compiler jar file.
Commit test change that got left out of previous commit.
remove dependency on scenario; perform numeric coercions on sets
Add PathLength to support Paths in Shape.fx
Added in PathLength to support paths
Take out debug println's

Refactoring: extract common functionality from Xxx{Var,Expression} into 
AbstractXxxLocation
Add getSlice convenience method to sequence locations.
Comment out println debug statements for Drag and Drop
Enable Drag and Drop code
Rename value and previousValue fields in AbstractXxxLocation, to reduce 
chance of variable capture errors when we generate bound expressions.  
Previous checkin caused bizarre failures with bindings that referenced 
"value" in their closure because it was capturing the protected "value" field 
of AbstractXxxExpression...yuck.

Also add static DEFAULT field to AbstractXxxLocation.
Implement (compiler part of) support for sequence slices.
Add sequence slices (both lvalue and rvalue).
Changed to exact coordinates on RadialGradient pending resolution of JXFC-512
Fix divide by zero error
JXFC-541 Fix attribute checking for boundary conditions
JXFC-541 Fix attribute checking for boundary conditions
Add support for LINE and PAGE Orientation
Add support for LINE and PAGE Orientation
Don't run orphan test if user has specified test.fx.includes, because this 
could confuse the user into thinking it found a test when it didn't.
Add support for LINE_START/END and PAGE_START/END
Remove some no-longer-needed code.  It would create a new type,
which the class-reader would look for, and fail to find (if the
type is a class defined in the current compilation unit).
This fixes JFXC-537.
JFXC-438 String literal conversions for localization ("##")
Simplification of Location classes; create type-specific change triggers that 
pass the new and old values directly, rather than relying on possibly 
out-of-date getValue() / getPreviousValue() calls.  Ensure that triggers fire 
when values are set via object literals (though in a somewhat hackish and 
temporary way), fixes JFXC-519.
javafx.lang.Time added, and support for time literals (125ms, 1.5m, etc.).
Not implemented yet:  arithmetic and comparison operators, second/minute/hour 
attributes.
Fixed JFX_OP_LAST in tag table.
Fixed border attribute access.
Support for css-styling of the Language Reference.
Rename langspec/langref.xsl-in to langspec/langref-in.xsl.
Use "UTF-16LE" for @charset testing, instead of "cp037", which is a 
proprietary encoding and may not be available on all platforms.
JFXC-540: disabled unnecessary test for annotation processors, which caused 
compiler to fail on Java 5.
Test improvements



Fix JFXC-548 -- only call init and post-init for immediate superclasses, not 
for all superclasses.
Additional test case for jfxc-548
Runtime support for deferred triggers -- needed for initialization overhaul
Applet support refactoring.
Fix clean rule.
Try adding file: prefix to <xsl:import>.
Install applet widget on EDT, verify applet is an FXObject before 
initializing.
Removed println.
Set (and later restore) inOperationDef when transatling init blocks
and post-init blocks.
This fixes JFXC-546.
add workarounds for backward compatibility with old jsr223 api - fixes 
compile error on mac os with java 1.5

JFXC-551; fix regression from previous Location refactoring, add test cases.
Modified to pass the fully qualified class name for the string translation.
fixed Solaris shell incompatibility
fixed Solaris shell incompatibility
Tweaks and tests cases for JFXC-548 fix
Localized "JavaFXBalls" demo into Japanese, using "##".
Add missing visitPostInitDefinition in ForEachInClauseOwnerFixer
helper class.  This fixes JFXC-542.
JFXC-194: simple doclet that generates XML -- no FX support yet.
Compile 'null' in "sequence context" as '[]'
(like we already did for the converse).
This fixes JFXC-550.

added operator overloading for Time type
fix npe on macos; remind: this whole awt package should be moved to gui 
runtime jar and out of core runtime
fix npe from case of non-overloaded operator
use Types.isSameType for type equality
overload unary negate for Time
JFXC-194: mark anonymous classes synthetic (like javac), so javadoc ignores 
them.
JFXC-194: doclet options, FX-specific output XML, fixed doc-scanning.
JFXC-194: minimal support for sequences.
Fixed javafxdoc warnings about invalid @see references.
Allow formatting of Time and Sequence types
JFXC-194: added sequence types, removed unused classes.
updated tests
JFXC-488: Improve parsing error handling
Merge into trunk.
Switch to the new ANTLR error handling (thanks Tom).
Correct conflicts between grammars and ANTLR update.
Fix rewrite exception problem.
Fixing behavior regressions from portation from interpreter+jazz to 
compiler+scenario; 1. Text alignment and layout; 2. Clipping; 3. Bounds 
calculation; 4. Node Listener; 5. Stroke handling; note: some of these are at 
least in part still workarounds for scenario and/or compiler bugs
Made alignment dynamic as it should be
provisional fixes to mouse handling: realistically, the whole system needs 
revision though
Runtime support for indirect locations, which are used in creating bindings 
for things like a.b or if a then b else c.
Misc bugfixing and simplificatoin in SequenceElementLocation
DragNDrop changes
DragNDrop Updates
JavaFX version of the BasicDND demo from the Java tutorial for DnD
Explanation of demo
JFXC-200; make Sequence classes more robust to null arguments.
Add javafx.lang.FX class as repository for utility methods like 
isSameObject(), like java.lang.System.
Changed time formatting so that the default is (0-9)+ms, but now takes custom 
time formatting; updated test to demonstrate its use.
added tests for duration math
Turn off type parameter support in javafxdoc, since JFX doesn't have type 
parameters.
Fix JFXC-580 : In a bind context, function arguments consisting of calls to 
Java methods cause compilation failure
Subtask of JFXC-399 : Wrong parameter translation to method call within bind
temporary fix to make it possible to use clipping and area operations: needs 
revision
Use new SequenceReplaceListener (instead of the old SequenceChangeListener)
whenever the variable type is a sequence, een if we have neither
lastIndex or newElements parameters.
(In the future, we may want to always use it, though that requires
some changes to handle non-sequence types.)
JFXC-577: animation runtime
Added "bounce" demo of animation, written by Chris Oliver.
Set preferred size of canvas properly - note: should be done in scenario, 
though; added hacks to get Frame size to be based on preferred size of 
content if unspecified; enabled foreground, background, font, and tooltips 
for swing components - binding still doesn't work properly for fonts and 
colors due to compiler bugs/limitations, but at least you can set these 
statically now
In visitForExpression, if body type is a sequence type,
use that, rather than wrapping it in a sequence.
This fixes JFXC-571 'Sequence after 'for' operator is not compiled'.
Made KeyValue an abstract class, which must be subclassed for particular data 
types and removed the generic Interpolator - this avoids the type-system 
issues; implemented subclasses of KeyValue for Numbers and Colors and 
supporting interpolators as examples
updated Ball example w/r to api changes; deleted poor Bounce example
Use the type of the formal parameter, not that of the actual,
to convert parameters in bind context.  Some kludging needed ...
This fixes JFXC-565 "Cannot bind function to a variable".
Test case for JFXC-280
"Incorrect code generated for foreach in return position".
adding additional interplators
adding somewhat crap animation test demo
Call the statac Sequences.size method (rather than the non-static method),
even when the type is known to be a sequence type, since the static
method handles null, which gives us more representation flexibility.

Simplify SequenceElementLocation
Fix for NPE's encountered by Jim and Per in porting runtime to unified 
triggers.
Belt-and-suspenders for previous fix.
Check that expressions embedded in strings aren't void.
If [] doesn't have an expected type, use <nulltype>.
Update iften.fx test appropriately.
This fixes JFXC-584 "Compiler crash with StringExpressions".
Make module classes public to support applet initialization (and potentially 
other app loaders).
Fixed or caught applet security exceptions during initialization.
temp stuff
Runtime support for JFXC-493; upcast wrapper for ObjectLocation
fix jfxc-594
Re-implemented FX properties reading code for better error checking.  Also 
added some more tests.
Implements 'indexof NAME'.  (No handling for 'bind', so far.)
This resolves JFXC-113 "Indexof needs implementation".
regression test
Remove left-over println.
Extend to test for indexof.
Make visitIndexof a bit more robust.  Specifically, we get an
error when indexof is used as a variable.
Only generated wrapper methods if the class is compound.
commented out reflection chapter until it is implemented
Changed security excepton log message to report the issue, rather than just 
log a stack trace.
remove invalidated dynamic dependencies immedidately
remove dependencies on sun.awt.image package
Avoid use of MouseInfo (requires security permission); Add workaround for 
SGClip bugs in scenario
removing unused class GradientPaint.java; adding missing dependency; 
GraphicsUtils.java
remove unused dependency
Retain copies of jdk6 classes which do not depend on sun.* packages
Remove unused file
Write doclet tags without their '@' symbol, to generate valid XML.
Fix JFXC-593 : Subclass cannot be used as argument in bind context.
Fix JFXC-339 : Wrong parameter translation to method call within bind.
w/ regression test for 593.
339 verified with runtime changes (to be committed separately).
This fix subsumes JFXC-565 : Cannot bind function to a variable
Remove runtime work-arounds for JFXC-339 : Wrong parameter translation to 
method call within bind.
Search for type conversion problems in runtime.
Remove no longer needed conversions (from those surveyed).
Removed an unnecessary debug message.
JFXC-533: fixed applet initialization.
The TreeMaker.Literal factory method doesn't like 'true', which gets turned
into a java.lang.Boolean, which it doesn't handle.
Fixes JFXC-608.
JFXC-612:  found foreach reference in pretty-printer.
Partial JFXC-613 : exclusive and open slices
Rename locationName from "location" to "location$" thus avoiding
inadvertent name capture (at least for names without '$').
This appears to fix JFXC-573.
Stripped reflection stack frames from reported errors, to eliminate the 
useless (to compiler users) InvocationTargetExceptions.
JFXC-215: initial implementation of __FILE__ and __DIR__ pseudo-variables.  
Commented-out until JFXC-592 is addressed.
XMLDoclet improvements: added language attribute, works on both JavaFX Script 
and Java sources.
Fix JFXC-613 : exclusive and open slices

initial support for xslt
support for interfaces
added bg gif
add directory for functional testing
Java 5 build support
updated xslt and css for better output
updated css and xslt
Added String conversions for InputStream, Reader, and byte arrays when 
dropped on FX, for JFXC-616
added support for javax.swing.text.Action, added static methods for creating 
Cut,Copy, and Paste menutitems, based on DefaultEditorKit actions
Added menu bar with 'exit' and cut/copy/paste items
Fix JFXC-620; NPE in comparing sequence to null
replace function dir with functional
Don't generate annotation, type parameter, or inner class elements for FX 
classes.
JXFC-524 fix initialization of tabbedpane so that tabs from Object Literal 
creation are properly added
Moved packages into the com.sun.tools ghetto.
Moved packages into the com.sun.tools ghetto.
JXFC-562 - Use insets to set bounds for components when laying out components
deleting the old directories, take two (I hate Subversion)
deleting the old directories, take two (I hate Subversion)
JXFC-589 - Fix initialization
Cleaned up command-line arguments.
Updated comment.
Fixed : JFXC-623
JXFC-616 Added support for InputStream, Reader, and byte[]
JFXC-194: fixed sequence, function attribute display, internationalized 
messages.
JFXC-194: improved option description.
Update to Scenerio-0.5
copy demos in all target, removed findbugs (still in hudson-all), added 
install-scripts to all
fixed tools.dir references in demos
removed demos build from all (breaks build server); fixed demos-clean target, 
bounce project support
Fix JFXC-618 : revert 'exclusive' to '..<'
Test by update to existing tests.
This breaks the runtime.  Runtime update to immediately follow.
Update runtime code to modern sequence use.
Includes changes needed by JFXC-618 : revert 'exclusive' to '..<'
But also conversion to use of slices and indexof.  See for example Tree.fx
Fix JFXC-626 : implement slice delete
'delete x[i..j]', 'delete x[i..]', 'delete x[i..<j]'
Test via extension to sequence deletion feature test.
Also, fix translation bug, clean-up and standardize delete processing.
Fix JFXC-627 : implement inserting before/after some element
Fix JFXC-570 :  Sequence syntax for M2
(as 627 is the last subtask)
Feature test is extended to cover the new functionality.
Also, clean up of identifier vs name in grammar; and more user friendly tree 
walker errors.
Description to dev to follow.
Fix JFXC-629 : implement reverse
Added new functional tests for Operators
JFXC-630: change Scenario URL to point to copy on our server

Address JFXC-427 : var: self - Reference to context instance doesn't work
Demostrates a general mechanism which can be used in these situations.
add functional test directory
Update to use 'Reference to context instance'
Added animation of strings
Don't pass null to sequence listeners, pass empty sequence.  This should 
unblock Jim on backing out automagic range detection.
Forgot to update tests on previous checkin...
Back out ill-conceived trigger deferral code.
remove delete that is now causing compilation error
JFXC-633: fixed paths in diagnostic messages.
JXFC-532 - Eliminate automaric range direction
JXFC-532 - Eliminate automaric range direction
JXFC-532 - Eliminate automaric range direction
JXFC-532 - Eliminate automaric range direction
JXFC-532 - Eliminate automatic range direction
JXFC-532 - Eliminate automatic range direction
JXFC-532 - Eliminate automatic range direction
Use new replace for sequences
Use new replace for sequences
Add in missing space character
JXFC-532 - Eliminate automagic range direction
Set proper position on slice operators.
JXFC-650, added error message when start point is not different than end point
JFXC-615; more helpful error message when calling PointerFactory.make() in a 
non-bound context.
JFXC-520: fixed so same output directory defaults are used as javac.
Factorts for 2 : [ 1 ]
Factorts for 4 : [ 1, 2 ]
Factorts for 6 : [ 1, 2, 3 ]
Factorts for 8 : [ 1, 2, 4 ]
Factorts for 9 : [ 1, 3 ]
Factorts for 10 : [ 1, 2, 5 ]
Factorts for 12 : [ 1, 2, 3, 4, 6 ]
Factorts for 14 : [ 1, 2, 7 ]
Factorts for 15 : [ 1, 3, 5 ]
Factorts for 16 : [ 1, 2, 4, 8 ]
Factorts for 18 : [ 1, 2, 3, 6, 9 ]
Factorts for 20 : [ 1, 2, 4, 5, 10 ]
Factorts for 21 : [ 1, 3, 7 ]
Factorts for 22 : [ 1, 2, 11 ]
Factorts for 24 : [ 1, 2, 3, 4, 6, 8, 12 ]
Factorts for 25 : [ 1, 5 ]
Factorts for 26 : [ 1, 2, 13 ]
Factorts for 27 : [ 1, 3, 9 ]
Factorts for 28 : [ 1, 2, 4, 7, 14 ]
Factorts for 30 : [ 1, 2, 3, 5, 6, 10, 15 ]
Factorts for 32 : [ 1, 2, 4, 8, 16 ]
Factorts for 33 : [ 1, 3, 11 ]
Factorts for 34 : [ 1, 2, 17 ]
Factorts for 35 : [ 1, 5, 7 ]
Factorts for 36 : [ 1, 2, 3, 4, 6, 9, 12, 18 ]
Factorts for 38 : [ 1, 2, 19 ]
Factorts for 39 : [ 1, 3, 13 ]
Factorts for 40 : [ 1, 2, 4, 5, 8, 10, 20 ]
Factorts for 42 : [ 1, 2, 3, 6, 7, 14, 21 ]
Factorts for 44 : [ 1, 2, 4, 11, 22 ]
Factorts for 45 : [ 1, 3, 5, 9, 15 ]
Factorts for 46 : [ 1, 2, 23 ]
Factorts for 48 : [ 1, 2, 3, 4, 6, 8, 12, 16, 24 ]
Factorts for 49 : [ 1, 7 ]
Factorts for 50 : [ 1, 2, 5, 10, 25 ]
Factorts for 51 : [ 1, 3, 17 ]
Factorts for 52 : [ 1, 2, 4, 13, 26 ]
Factorts for 54 : [ 1, 2, 3, 6, 9, 18, 27 ]
Factorts for 55 : [ 1, 5, 11 ]
Factorts for 56 : [ 1, 2, 4, 7, 8, 14, 28 ]
Factorts for 57 : [ 1, 3, 19 ]
Factorts for 58 : [ 1, 2, 29 ]
Factorts for 60 : [ 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 ]
Factorts for 62 : [ 1, 2, 31 ]
Factorts for 63 : [ 1, 3, 7, 9, 21 ]
Factorts for 64 : [ 1, 2, 4, 8, 16, 32 ]
Factorts for 65 : [ 1, 5, 13 ]
Factorts for 66 : [ 1, 2, 3, 6, 11, 22, 33 ]
Factorts for 68 : [ 1, 2, 4, 17, 34 ]
Factorts for 69 : [ 1, 3, 23 ]
Factorts for 70 : [ 1, 2, 5, 7, 10, 14, 35 ]
Factorts for 72 : [ 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36 ]
Factorts for 74 : [ 1, 2, 37 ]
Factorts for 75 : [ 1, 3, 5, 15, 25 ]
Factorts for 76 : [ 1, 2, 4, 19, 38 ]
Factorts for 77 : [ 1, 7, 11 ]
Factorts for 78 : [ 1, 2, 3, 6, 13, 26, 39 ]
Factorts for 80 : [ 1, 2, 4, 5, 8, 10, 16, 20, 40 ]
Factorts for 81 : [ 1, 3, 9, 27 ]
Factorts for 82 : [ 1, 2, 41 ]
Factorts for 84 : [ 1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42 ]
Factorts for 85 : [ 1, 5, 17 ]
Factorts for 86 : [ 1, 2, 43 ]
Factorts for 87 : [ 1, 3, 29 ]
Factorts for 88 : [ 1, 2, 4, 8, 11, 22, 44 ]
Factorts for 90 : [ 1, 2, 3, 5, 6, 9, 10, 15, 18, 30, 45 ]
Factorts for 91 : [ 1, 7, 13 ]
Factorts for 92 : [ 1, 2, 4, 23, 46 ]
Factorts for 93 : [ 1, 3, 31 ]
Factorts for 94 : [ 1, 2, 47 ]
Factorts for 95 : [ 1, 5, 19 ]
Factorts for 96 : [ 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48 ]
Factorts for 98 : [ 1, 2, 7, 14, 49 ]
Factorts for 99 : [ 1, 3, 9, 11, 33 ]
Factorts for 100 : [ 1, 2, 4, 5, 10, 20, 25, 50 ]
Factorts for 102 : [ 1, 2, 3, 6, 17, 34, 51 ]
Factorts for 104 : [ 1, 2, 4, 8, 13, 26, 52 ]
Factorts for 105 : [ 1, 3, 5, 7, 15, 21, 35 ]
Factorts for 106 : [ 1, 2, 53 ]
Factorts for 108 : [ 1, 2, 3, 4, 6, 9, 12, 18, 27, 36, 54 ]
Factorts for 110 : [ 1, 2, 5, 10, 11, 22, 55 ]
Factorts for 111 : [ 1, 3, 37 ]
Factorts for 112 : [ 1, 2, 4, 7, 8, 14, 16, 28, 56 ]
Factorts for 114 : [ 1, 2, 3, 6, 19, 38, 57 ]
Factorts for 115 : [ 1, 5, 23 ]
Factorts for 116 : [ 1, 2, 4, 29, 58 ]
Factorts for 117 : [ 1, 3, 9, 13, 39 ]
Factorts for 118 : [ 1, 2, 59 ]
Factorts for 119 : [ 1, 7, 17 ]
Factorts for 120 : [ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60 ]
Factorts for 121 : [ 1, 11 ]
Factorts for 122 : [ 1, 2, 61 ]
Factorts for 123 : [ 1, 3, 41 ]
Factorts for 124 : [ 1, 2, 4, 31, 62 ]
Factorts for 125 : [ 1, 5, 25 ]
Factorts for 126 : [ 1, 2, 3, 6, 7, 9, 14, 18, 21, 42, 63 ]
Factorts for 128 : [ 1, 2, 4, 8, 16, 32, 64 ]
Factorts for 129 : [ 1, 3, 43 ]
Factorts for 130 : [ 1, 2, 5, 10, 13, 26, 65 ]
Factorts for 132 : [ 1, 2, 3, 4, 6, 11, 12, 22, 33, 44, 66 ]
Factorts for 133 : [ 1, 7, 19 ]
Factorts for 134 : [ 1, 2, 67 ]
Factorts for 135 : [ 1, 3, 5, 9, 15, 27, 45 ]
Factorts for 136 : [ 1, 2, 4, 8, 17, 34, 68 ]
Factorts for 138 : [ 1, 2, 3, 6, 23, 46, 69 ]
Factorts for 140 : [ 1, 2, 4, 5, 7, 10, 14, 20, 28, 35, 70 ]
Factorts for 141 : [ 1, 3, 47 ]
Factorts for 142 : [ 1, 2, 71 ]
Factorts for 143 : [ 1, 11, 13 ]
Factorts for 144 : [ 1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 36, 48, 72 ]
Factorts for 145 : [ 1, 5, 29 ]
Factorts for 146 : [ 1, 2, 73 ]
Factorts for 147 : [ 1, 3, 7, 21, 49 ]
Factorts for 148 : [ 1, 2, 4, 37, 74 ]
Factorts for 150 : [ 1, 2, 3, 5, 6, 10, 15, 25, 30, 50, 75 ]
Factorts for 152 : [ 1, 2, 4, 8, 19, 38, 76 ]
Factorts for 153 : [ 1, 3, 9, 17, 51 ]
Factorts for 154 : [ 1, 2, 7, 11, 14, 22, 77 ]
Factorts for 155 : [ 1, 5, 31 ]
Factorts for 156 : [ 1, 2, 3, 4, 6, 12, 13, 26, 39, 52, 78 ]
Factorts for 158 : [ 1, 2, 79 ]
Factorts for 159 : [ 1, 3, 53 ]
Factorts for 160 : [ 1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 80 ]
Factorts for 161 : [ 1, 7, 23 ]
Factorts for 162 : [ 1, 2, 3, 6, 9, 18, 27, 54, 81 ]
Factorts for 164 : [ 1, 2, 4, 41, 82 ]
Factorts for 165 : [ 1, 3, 5, 11, 15, 33, 55 ]
Factorts for 166 : [ 1, 2, 83 ]
Factorts for 168 : [ 1, 2, 3, 4, 6, 7, 8, 12, 14, 21, 24, 28, 42, 56, 84 ]
Factorts for 169 : [ 1, 13 ]
Factorts for 170 : [ 1, 2, 5, 10, 17, 34, 85 ]
Factorts for 171 : [ 1, 3, 9, 19, 57 ]
Factorts for 172 : [ 1, 2, 4, 43, 86 ]
Factorts for 174 : [ 1, 2, 3, 6, 29, 58, 87 ]
Factorts for 175 : [ 1, 5, 7, 25, 35 ]
Factorts for 176 : [ 1, 2, 4, 8, 11, 16, 22, 44, 88 ]
Factorts for 177 : [ 1, 3, 59 ]
Factorts for 178 : [ 1, 2, 89 ]
Factorts for 180 : [ 1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 
90 ]
Factorts for 182 : [ 1, 2, 7, 13, 14, 26, 91 ]
Factorts for 183 : [ 1, 3, 61 ]
Factorts for 184 : [ 1, 2, 4, 8, 23, 46, 92 ]
Factorts for 185 : [ 1, 5, 37 ]
Factorts for 186 : [ 1, 2, 3, 6, 31, 62, 93 ]
Factorts for 187 : [ 1, 11, 17 ]
Factorts for 188 : [ 1, 2, 4, 47, 94 ]
Factorts for 189 : [ 1, 3, 7, 9, 21, 27, 63 ]
Factorts for 190 : [ 1, 2, 5, 10, 19, 38, 95 ]
Factorts for 192 : [ 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96 ]
Factorts for 194 : [ 1, 2, 97 ]
Factorts for 195 : [ 1, 3, 5, 13, 15, 39, 65 ]
Factorts for 196 : [ 1, 2, 4, 7, 14, 28, 49, 98 ]
Factorts for 198 : [ 1, 2, 3, 6, 9, 11, 18, 22, 33, 66, 99 ]
Factorts for 200 : [ 1, 2, 4, 5, 8, 10, 20, 25, 40, 50, 100 ]
Factorts for 201 : [ 1, 3, 67 ]
Factorts for 202 : [ 1, 2, 101 ]
Factorts for 203 : [ 1, 7, 29 ]
Factorts for 204 : [ 1, 2, 3, 4, 6, 12, 17, 34, 51, 68, 102 ]
Factorts for 205 : [ 1, 5, 41 ]
Factorts for 206 : [ 1, 2, 103 ]
Factorts for 207 : [ 1, 3, 9, 23, 69 ]
Factorts for 208 : [ 1, 2, 4, 8, 13, 16, 26, 52, 104 ]
Factorts for 209 : [ 1, 11, 19 ]
Factorts for 210 : [ 1, 2, 3, 5, 6, 7, 10, 14, 15, 21, 30, 35, 42, 70, 105 ]
Factorts for 212 : [ 1, 2, 4, 53, 106 ]
Factorts for 213 : [ 1, 3, 71 ]
Factorts for 214 : [ 1, 2, 107 ]
Factorts for 215 : [ 1, 5, 43 ]
Factorts for 216 : [ 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 27, 36, 54, 72, 108 ]
Factorts for 217 : [ 1, 7, 31 ]
Factorts for 218 : [ 1, 2, 109 ]
Factorts for 219 : [ 1, 3, 73 ]
Factorts for 220 : [ 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 ]
Factorts for 221 : [ 1, 13, 17 ]
Factorts for 222 : [ 1, 2, 3, 6, 37, 74, 111 ]
Factorts for 224 : [ 1, 2, 4, 7, 8, 14, 16, 28, 32, 56, 112 ]
Factorts for 225 : [ 1, 3, 5, 9, 15, 25, 45, 75 ]
Factorts for 226 : [ 1, 2, 113 ]
Factorts for 228 : [ 1, 2, 3, 4, 6, 12, 19, 38, 57, 76, 114 ]
Factorts for 230 : [ 1, 2, 5, 10, 23, 46, 115 ]
Factorts for 231 : [ 1, 3, 7, 11, 21, 33, 77 ]
Factorts for 232 : [ 1, 2, 4, 8, 29, 58, 116 ]
Factorts for 234 : [ 1, 2, 3, 6, 9, 13, 18, 26, 39, 78, 117 ]
Factorts for 235 : [ 1, 5, 47 ]
Factorts for 236 : [ 1, 2, 4, 59, 118 ]
Factorts for 237 : [ 1, 3, 79 ]
Factorts for 238 : [ 1, 2, 7, 14, 17, 34, 119 ]
Factorts for 240 : [ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 40, 48, 
60, 80, 120 ]
Factorts for 242 : [ 1, 2, 11, 22, 121 ]
Factorts for 243 : [ 1, 3, 9, 27, 81 ]
Factorts for 244 : [ 1, 2, 4, 61, 122 ]
Factorts for 245 : [ 1, 5, 7, 35, 49 ]
Factorts for 246 : [ 1, 2, 3, 6, 41, 82, 123 ]
Factorts for 247 : [ 1, 13, 19 ]
Factorts for 248 : [ 1, 2, 4, 8, 31, 62, 124 ]
Factorts for 249 : [ 1, 3, 83 ]
Factorts for 250 : [ 1, 2, 5, 10, 25, 50, 125 ]
Factorts for 252 : [ 1, 2, 3, 4, 6, 7, 9, 12, 14, 18, 21, 28, 36, 42, 63, 84, 
126 ]
Factorts for 253 : [ 1, 11, 23 ]
Factorts for 254 : [ 1, 2, 127 ]
Factorts for 255 : [ 1, 3, 5, 15, 17, 51, 85 ]
Factorts for 256 : [ 1, 2, 4, 8, 16, 32, 64, 128 ]
Factorts for 258 : [ 1, 2, 3, 6, 43, 86, 129 ]
Factorts for 259 : [ 1, 7, 37 ]
Factorts for 260 : [ 1, 2, 4, 5, 10, 13, 20, 26, 52, 65, 130 ]
Factorts for 261 : [ 1, 3, 9, 29, 87 ]
Factorts for 262 : [ 1, 2, 131 ]
Factorts for 264 : [ 1, 2, 3, 4, 6, 8, 11, 12, 22, 24, 33, 44, 66, 88, 132 ]
Factorts for 265 : [ 1, 5, 53 ]
Factorts for 266 : [ 1, 2, 7, 14, 19, 38, 133 ]
Factorts for 267 : [ 1, 3, 89 ]
Factorts for 268 : [ 1, 2, 4, 67, 134 ]
Factorts for 270 : [ 1, 2, 3, 5, 6, 9, 10, 15, 18, 27, 30, 45, 54, 90, 135 ]
Factorts for 272 : [ 1, 2, 4, 8, 16, 17, 34, 68, 136 ]
Factorts for 273 : [ 1, 3, 7, 13, 21, 39, 91 ]
Factorts for 274 : [ 1, 2, 137 ]
Factorts for 275 : [ 1, 5, 11, 25, 55 ]
Factorts for 276 : [ 1, 2, 3, 4, 6, 12, 23, 46, 69, 92, 138 ]
Factorts for 278 : [ 1, 2, 139 ]
Factorts for 279 : [ 1, 3, 9, 31, 93 ]
Factorts for 280 : [ 1, 2, 4, 5, 7, 8, 10, 14, 20, 28, 35, 40, 56, 70, 140 ]
Factorts for 282 : [ 1, 2, 3, 6, 47, 94, 141 ]
Factorts for 284 : [ 1, 2, 4, 71, 142 ]
Factorts for 285 : [ 1, 3, 5, 15, 19, 57, 95 ]
Factorts for 286 : [ 1, 2, 11, 13, 22, 26, 143 ]
Factorts for 287 : [ 1, 7, 41 ]
Factorts for 288 : [ 1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 32, 36, 48, 72, 96, 
144 ]
Factorts for 289 : [ 1, 17 ]
Factorts for 290 : [ 1, 2, 5, 10, 29, 58, 145 ]
Factorts for 291 : [ 1, 3, 97 ]
Factorts for 292 : [ 1, 2, 4, 73, 146 ]
Factorts for 294 : [ 1, 2, 3, 6, 7, 14, 21, 42, 49, 98, 147 ]
Factorts for 295 : [ 1, 5, 59 ]
Factorts for 296 : [ 1, 2, 4, 8, 37, 74, 148 ]
Factorts for 297 : [ 1, 3, 9, 11, 27, 33, 99 ]
Factorts for 298 : [ 1, 2, 149 ]
Factorts for 299 : [ 1, 13, 23 ]
Factorts for 300 : [ 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 25, 30, 50, 60, 75, 
100, 150 ]
Factorts for 301 : [ 1, 7, 43 ]
Factorts for 302 : [ 1, 2, 151 ]
Factorts for 303 : [ 1, 3, 101 ]
Factorts for 304 : [ 1, 2, 4, 8, 16, 19, 38, 76, 152 ]
Factorts for 305 : [ 1, 5, 61 ]
Factorts for 306 : [ 1, 2, 3, 6, 9, 17, 18, 34, 51, 102, 153 ]
Factorts for 308 : [ 1, 2, 4, 7, 11, 14, 22, 28, 44, 77, 154 ]
Factorts for 309 : [ 1, 3, 103 ]
Factorts for 310 : [ 1, 2, 5, 10, 31, 62, 155 ]
Factorts for 312 : [ 1, 2, 3, 4, 6, 8, 12, 13, 24, 26, 39, 52, 78, 104, 156 ]
Factorts for 314 : [ 1, 2, 157 ]
Factorts for 315 : [ 1, 3, 5, 7, 9, 15, 21, 35, 45, 63, 105 ]
Factorts for 316 : [ 1, 2, 4, 79, 158 ]
Factorts for 318 : [ 1, 2, 3, 6, 53, 106, 159 ]
Factorts for 319 : [ 1, 11, 29 ]
Factorts for 320 : [ 1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 160 ]
Factorts for 321 : [ 1, 3, 107 ]
Factorts for 322 : [ 1, 2, 7, 14, 23, 46, 161 ]
Factorts for 323 : [ 1, 17, 19 ]
Factorts for 324 : [ 1, 2, 3, 4, 6, 9, 12, 18, 27, 36, 54, 81, 108, 162 ]
Factorts for 325 : [ 1, 5, 13, 25, 65 ]
Factorts for 326 : [ 1, 2, 163 ]
Factorts for 327 : [ 1, 3, 109 ]
Factorts for 328 : [ 1, 2, 4, 8, 41, 82, 164 ]
Factorts for 329 : [ 1, 7, 47 ]
Factorts for 330 : [ 1, 2, 3, 5, 6, 10, 11, 15, 22, 30, 33, 55, 66, 110, 165 ]
Factorts for 332 : [ 1, 2, 4, 83, 166 ]
Factorts for 333 : [ 1, 3, 9, 37, 111 ]
Factorts for 334 : [ 1, 2, 167 ]
Factorts for 335 : [ 1, 5, 67 ]
Factorts for 336 : [ 1, 2, 3, 4, 6, 7, 8, 12, 14, 16, 21, 24, 28, 42, 48, 56, 
84, 112, 168 ]
Factorts for 338 : [ 1, 2, 13, 26, 169 ]
Factorts for 339 : [ 1, 3, 113 ]
Factorts for 340 : [ 1, 2, 4, 5, 10, 17, 20, 34, 68, 85, 170 ]
Factorts for 341 : [ 1, 11, 31 ]
Factorts for 342 : [ 1, 2, 3, 6, 9, 18, 19, 38, 57, 114, 171 ]
Factorts for 343 : [ 1, 7, 49 ]
Factorts for 344 : [ 1, 2, 4, 8, 43, 86, 172 ]
Factorts for 345 : [ 1, 3, 5, 15, 23, 69, 115 ]
Factorts for 346 : [ 1, 2, 173 ]
Factorts for 348 : [ 1, 2, 3, 4, 6, 12, 29, 58, 87, 116, 174 ]
Factorts for 350 : [ 1, 2, 5, 7, 10, 14, 25, 35, 50, 70, 175 ]
Factorts for 351 : [ 1, 3, 9, 13, 27, 39, 117 ]
Factorts for 352 : [ 1, 2, 4, 8, 11, 16, 22, 32, 44, 88, 176 ]
Factorts for 354 : [ 1, 2, 3, 6, 59, 118, 177 ]
Factorts for 355 : [ 1, 5, 71 ]
Factorts for 356 : [ 1, 2, 4, 89, 178 ]
Factorts for 357 : [ 1, 3, 7, 17, 21, 51, 119 ]
Factorts for 358 : [ 1, 2, 179 ]
Factorts for 360 : [ 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 
40, 45, 60, 72, 90, 120, 180 ]
Factorts for 361 : [ 1, 19 ]
Factorts for 362 : [ 1, 2, 181 ]
Factorts for 363 : [ 1, 3, 11, 33, 121 ]
Factorts for 364 : [ 1, 2, 4, 7, 13, 14, 26, 28, 52, 91, 182 ]
Factorts for 365 : [ 1, 5, 73 ]
Factorts for 366 : [ 1, 2, 3, 6, 61, 122, 183 ]
Factorts for 368 : [ 1, 2, 4, 8, 16, 23, 46, 92, 184 ]
Factorts for 369 : [ 1, 3, 9, 41, 123 ]
Factorts for 370 : [ 1, 2, 5, 10, 37, 74, 185 ]
Factorts for 371 : [ 1, 7, 53 ]
Factorts for 372 : [ 1, 2, 3, 4, 6, 12, 31, 62, 93, 124, 186 ]
Factorts for 374 : [ 1, 2, 11, 17, 22, 34, 187 ]
Factorts for 375 : [ 1, 3, 5, 15, 25, 75, 125 ]
Factorts for 376 : [ 1, 2, 4, 8, 47, 94, 188 ]
Factorts for 377 : [ 1, 13, 29 ]
Factorts for 378 : [ 1, 2, 3, 6, 7, 9, 14, 18, 21, 27, 42, 54, 63, 126, 189 ]
Factorts for 380 : [ 1, 2, 4, 5, 10, 19, 20, 38, 76, 95, 190 ]
Factorts for 381 : [ 1, 3, 127 ]
Factorts for 382 : [ 1, 2, 191 ]
Factorts for 384 : [ 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192 ]
Factorts for 385 : [ 1, 5, 7, 11, 35, 55, 77 ]
Factorts for 386 : [ 1, 2, 193 ]
Factorts for 387 : [ 1, 3, 9, 43, 129 ]
Factorts for 388 : [ 1, 2, 4, 97, 194 ]
Factorts for 390 : [ 1, 2, 3, 5, 6, 10, 13, 15, 26, 30, 39, 65, 78, 130, 195 ]
Factorts for 391 : [ 1, 17, 23 ]
Factorts for 392 : [ 1, 2, 4, 7, 8, 14, 28, 49, 56, 98, 196 ]
Factorts for 393 : [ 1, 3, 131 ]
Factorts for 394 : [ 1, 2, 197 ]
Factorts for 395 : [ 1, 5, 79 ]
Factorts for 396 : [ 1, 2, 3, 4, 6, 9, 11, 12, 18, 22, 33, 36, 44, 66, 99, 
132, 198 ]
Factorts for 398 : [ 1, 2, 199 ]
Factorts for 399 : [ 1, 3, 7, 19, 21, 57, 133 ]
Factorts for 400 : [ 1, 2, 4, 5, 8, 10, 16, 20, 25, 40, 50, 80, 100, 200 ]
Factorts for 402 : [ 1, 2, 3, 6, 67, 134, 201 ]
Factorts for 403 : [ 1, 13, 31 ]
Factorts for 404 : [ 1, 2, 4, 101, 202 ]
Factorts for 405 : [ 1, 3, 5, 9, 15, 27, 45, 81, 135 ]
Factorts for 406 : [ 1, 2, 7, 14, 29, 58, 203 ]
Factorts for 407 : [ 1, 11, 37 ]
Factorts for 408 : [ 1, 2, 3, 4, 6, 8, 12, 17, 24, 34, 51, 68, 102, 136, 204 ]
Factorts for 410 : [ 1, 2, 5, 10, 41, 82, 205 ]
Factorts for 411 : [ 1, 3, 137 ]
Factorts for 412 : [ 1, 2, 4, 103, 206 ]
Factorts for 413 : [ 1, 7, 59 ]
Factorts for 414 : [ 1, 2, 3, 6, 9, 18, 23, 46, 69, 138, 207 ]
Factorts for 415 : [ 1, 5, 83 ]
Factorts for 416 : [ 1, 2, 4, 8, 13, 16, 26, 32, 52, 104, 208 ]
Factorts for 417 : [ 1, 3, 139 ]
Factorts for 418 : [ 1, 2, 11, 19, 22, 38, 209 ]
Factorts for 420 : [ 1, 2, 3, 4, 5, 6, 7, 10, 12, 14, 15, 20, 21, 28, 30, 35, 
42, 60, 70, 84, 105, 140, 210 ]
Factorts for 422 : [ 1, 2, 211 ]
Factorts for 423 : [ 1, 3, 9, 47, 141 ]
Factorts for 424 : [ 1, 2, 4, 8, 53, 106, 212 ]
Factorts for 425 : [ 1, 5, 17, 25, 85 ]
Factorts for 426 : [ 1, 2, 3, 6, 71, 142, 213 ]
Factorts for 427 : [ 1, 7, 61 ]
Factorts for 428 : [ 1, 2, 4, 107, 214 ]
Factorts for 429 : [ 1, 3, 11, 13, 33, 39, 143 ]
Factorts for 430 : [ 1, 2, 5, 10, 43, 86, 215 ]
Factorts for 432 : [ 1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 27, 36, 48, 54, 72, 
108, 144, 216 ]
Factorts for 434 : [ 1, 2, 7, 14, 31, 62, 217 ]
Factorts for 435 : [ 1, 3, 5, 15, 29, 87, 145 ]
Factorts for 436 : [ 1, 2, 4, 109, 218 ]
Factorts for 437 : [ 1, 19, 23 ]
Factorts for 438 : [ 1, 2, 3, 6, 73, 146, 219 ]
Factorts for 440 : [ 1, 2, 4, 5, 8, 10, 11, 20, 22, 40, 44, 55, 88, 110, 220 ]
Factorts for 441 : [ 1, 3, 7, 9, 21, 49, 63, 147 ]
Factorts for 442 : [ 1, 2, 13, 17, 26, 34, 221 ]
Factorts for 444 : [ 1, 2, 3, 4, 6, 12, 37, 74, 111, 148, 222 ]
Factorts for 445 : [ 1, 5, 89 ]
Factorts for 446 : [ 1, 2, 223 ]
Factorts for 447 : [ 1, 3, 149 ]
Factorts for 448 : [ 1, 2, 4, 7, 8, 14, 16, 28, 32, 56, 64, 112, 224 ]
Factorts for 450 : [ 1, 2, 3, 5, 6, 9, 10, 15, 18, 25, 30, 45, 50, 75, 90, 
150, 225 ]
Factorts for 451 : [ 1, 11, 41 ]
Factorts for 452 : [ 1, 2, 4, 113, 226 ]
Factorts for 453 : [ 1, 3, 151 ]
Factorts for 454 : [ 1, 2, 227 ]
Factorts for 455 : [ 1, 5, 7, 13, 35, 65, 91 ]
Factorts for 456 : [ 1, 2, 3, 4, 6, 8, 12, 19, 24, 38, 57, 76, 114, 152, 228 ]
Factorts for 458 : [ 1, 2, 229 ]
Factorts for 459 : [ 1, 3, 9, 17, 27, 51, 153 ]
Factorts for 460 : [ 1, 2, 4, 5, 10, 20, 23, 46, 92, 115, 230 ]
Factorts for 462 : [ 1, 2, 3, 6, 7, 11, 14, 21, 22, 33, 42, 66, 77, 154, 231 ]
Factorts for 464 : [ 1, 2, 4, 8, 16, 29, 58, 116, 232 ]
Factorts for 465 : [ 1, 3, 5, 15, 31, 93, 155 ]
Factorts for 466 : [ 1, 2, 233 ]
Factorts for 468 : [ 1, 2, 3, 4, 6, 9, 12, 13, 18, 26, 36, 39, 52, 78, 117, 
156, 234 ]
Factorts for 469 : [ 1, 7, 67 ]
Factorts for 470 : [ 1, 2, 5, 10, 47, 94, 235 ]
Factorts for 471 : [ 1, 3, 157 ]
Factorts for 472 : [ 1, 2, 4, 8, 59, 118, 236 ]
Factorts for 473 : [ 1, 11, 43 ]
Factorts for 474 : [ 1, 2, 3, 6, 79, 158, 237 ]
Factorts for 475 : [ 1, 5, 19, 25, 95 ]
Factorts for 476 : [ 1, 2, 4, 7, 14, 17, 28, 34, 68, 119, 238 ]
Factorts for 477 : [ 1, 3, 9, 53, 159 ]
Factorts for 478 : [ 1, 2, 239 ]
Factorts for 480 : [ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40, 
48, 60, 80, 96, 120, 160, 240 ]
Factorts for 481 : [ 1, 13, 37 ]
Factorts for 482 : [ 1, 2, 241 ]
Factorts for 483 : [ 1, 3, 7, 21, 23, 69, 161 ]
Factorts for 484 : [ 1, 2, 4, 11, 22, 44, 121, 242 ]
Factorts for 485 : [ 1, 5, 97 ]
Factorts for 486 : [ 1, 2, 3, 6, 9, 18, 27, 54, 81, 162, 243 ]
Factorts for 488 : [ 1, 2, 4, 8, 61, 122, 244 ]
Factorts for 489 : [ 1, 3, 163 ]
Factorts for 490 : [ 1, 2, 5, 7, 10, 14, 35, 49, 70, 98, 245 ]
Factorts for 492 : [ 1, 2, 3, 4, 6, 12, 41, 82, 123, 164, 246 ]
Factorts for 493 : [ 1, 17, 29 ]
Factorts for 494 : [ 1, 2, 13, 19, 26, 38, 247 ]
Factorts for 495 : [ 1, 3, 5, 9, 11, 15, 33, 45, 55, 99, 165 ]
Factorts for 496 : [ 1, 2, 4, 8, 16, 31, 62, 124, 248 ]
Factorts for 497 : [ 1, 7, 71 ]
Factorts for 498 : [ 1, 2, 3, 6, 83, 166, 249 ]
Factorts for 500 : [ 1, 2, 4, 5, 10, 20, 25, 50, 100, 125, 250 ]
Factorts for 501 : [ 1, 3, 167 ]
Factorts for 502 : [ 1, 2, 251 ]
Factorts for 504 : [ 1, 2, 3, 4, 6, 7, 8, 9, 12, 14, 18, 21, 24, 28, 36, 42, 
56, 63, 72, 84, 126, 168, 252 ]
Factorts for 505 : [ 1, 5, 101 ]
Factorts for 506 : [ 1, 2, 11, 22, 23, 46, 253 ]
Factorts for 507 : [ 1, 3, 13, 39, 169 ]
Factorts for 508 : [ 1, 2, 4, 127, 254 ]
Factorts for 510 : [ 1, 2, 3, 5, 6, 10, 15, 17, 30, 34, 51, 85, 102, 170, 255 
]
Factorts for 511 : [ 1, 7, 73 ]
Factorts for 512 : [ 1, 2, 4, 8, 16, 32, 64, 128, 256 ]
Factorts for 513 : [ 1, 3, 9, 19, 27, 57, 171 ]
Factorts for 514 : [ 1, 2, 257 ]
Factorts for 515 : [ 1, 5, 103 ]
Factorts for 516 : [ 1, 2, 3, 4, 6, 12, 43, 86, 129, 172, 258 ]
Factorts for 517 : [ 1, 11, 47 ]
Factorts for 518 : [ 1, 2, 7, 14, 37, 74, 259 ]
Factorts for 519 : [ 1, 3, 173 ]
Factorts for 520 : [ 1, 2, 4, 5, 8, 10, 13, 20, 26, 40, 52, 65, 104, 130, 260 
]
Factorts for 522 : [ 1, 2, 3, 6, 9, 18, 29, 58, 87, 174, 261 ]
Factorts for 524 : [ 1, 2, 4, 131, 262 ]
Factorts for 525 : [ 1, 3, 5, 7, 15, 21, 25, 35, 75, 105, 175 ]
Factorts for 526 : [ 1, 2, 263 ]
Factorts for 527 : [ 1, 17, 31 ]
Factorts for 528 : [ 1, 2, 3, 4, 6, 8, 11, 12, 16, 22, 24, 33, 44, 48, 66, 
88, 132, 176, 264 ]
Factorts for 529 : [ 1, 23 ]
Factorts for 530 : [ 1, 2, 5, 10, 53, 106, 265 ]
Factorts for 531 : [ 1, 3, 9, 59, 177 ]
Factorts for 532 : [ 1, 2, 4, 7, 14, 19, 28, 38, 76, 133, 266 ]
Factorts for 533 : [ 1, 13, 41 ]
Factorts for 534 : [ 1, 2, 3, 6, 89, 178, 267 ]
Factorts for 535 : [ 1, 5, 107 ]
Factorts for 536 : [ 1, 2, 4, 8, 67, 134, 268 ]
Factorts for 537 : [ 1, 3, 179 ]
Factorts for 538 : [ 1, 2, 269 ]
Factorts for 539 : [ 1, 7, 11, 49, 77 ]
Factorts for 540 : [ 1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 27, 30, 36, 45, 
54, 60, 90, 108, 135, 180, 270 ]
Factorts for 542 : [ 1, 2, 271 ]
Factorts for 543 : [ 1, 3, 181 ]
Factorts for 544 : [ 1, 2, 4, 8, 16, 17, 32, 34, 68, 136, 272 ]
Factorts for 545 : [ 1, 5, 109 ]
Factorts for 546 : [ 1, 2, 3, 6, 7, 13, 14, 21, 26, 39, 42, 78, 91, 182, 273 ]
Factorts for 548 : [ 1, 2, 4, 137, 274 ]
Factorts for 549 : [ 1, 3, 9, 61, 183 ]
Factorts for 550 : [ 1, 2, 5, 10, 11, 22, 25, 50, 55, 110, 275 ]
Factorts for 551 : [ 1, 19, 29 ]
Factorts for 552 : [ 1, 2, 3, 4, 6, 8, 12, 23, 24, 46, 69, 92, 138, 184, 276 ]
Factorts for 553 : [ 1, 7, 79 ]
Factorts for 554 : [ 1, 2, 277 ]
Factorts for 555 : [ 1, 3, 5, 15, 37, 111, 185 ]
Factorts for 556 : [ 1, 2, 4, 139, 278 ]
Factorts for 558 : [ 1, 2, 3, 6, 9, 18, 31, 62, 93, 186, 279 ]
Factorts for 559 : [ 1, 13, 43 ]
Factorts for 560 : [ 1, 2, 4, 5, 7, 8, 10, 14, 16, 20, 28, 35, 40, 56, 70, 
80, 112, 140, 280 ]
Factorts for 561 : [ 1, 3, 11, 17, 33, 51, 187 ]
Factorts for 562 : [ 1, 2, 281 ]
Factorts for 564 : [ 1, 2, 3, 4, 6, 12, 47, 94, 141, 188, 282 ]
Factorts for 565 : [ 1, 5, 113 ]
Factorts for 566 : [ 1, 2, 283 ]
Factorts for 567 : [ 1, 3, 7, 9, 21, 27, 63, 81, 189 ]
Factorts for 568 : [ 1, 2, 4, 8, 71, 142, 284 ]
Factorts for 570 : [ 1, 2, 3, 5, 6, 10, 15, 19, 30, 38, 57, 95, 114, 190, 285 
]
Factorts for 572 : [ 1, 2, 4, 11, 13, 22, 26, 44, 52, 143, 286 ]
Factorts for 573 : [ 1, 3, 191 ]
Factorts for 574 : [ 1, 2, 7, 14, 41, 82, 287 ]
Factorts for 575 : [ 1, 5, 23, 25, 115 ]
Factorts for 576 : [ 1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 32, 36, 48, 64, 72, 
96, 144, 192, 288 ]
Factorts for 578 : [ 1, 2, 17, 34, 289 ]
Factorts for 579 : [ 1, 3, 193 ]
Factorts for 580 : [ 1, 2, 4, 5, 10, 20, 29, 58, 116, 145, 290 ]
Factorts for 581 : [ 1, 7, 83 ]
Factorts for 582 : [ 1, 2, 3, 6, 97, 194, 291 ]
Factorts for 583 : [ 1, 11, 53 ]
Factorts for 584 : [ 1, 2, 4, 8, 73, 146, 292 ]
Factorts for 585 : [ 1, 3, 5, 9, 13, 15, 39, 45, 65, 117, 195 ]
Factorts for 586 : [ 1, 2, 293 ]
Factorts for 588 : [ 1, 2, 3, 4, 6, 7, 12, 14, 21, 28, 42, 49, 84, 98, 147, 
196, 294 ]
Factorts for 589 : [ 1, 19, 31 ]
Factorts for 590 : [ 1, 2, 5, 10, 59, 118, 295 ]
Factorts for 591 : [ 1, 3, 197 ]
Factorts for 592 : [ 1, 2, 4, 8, 16, 37, 74, 148, 296 ]
Factorts for 594 : [ 1, 2, 3, 6, 9, 11, 18, 22, 27, 33, 54, 66, 99, 198, 297 ]
Factorts for 595 : [ 1, 5, 7, 17, 35, 85, 119 ]
Factorts for 596 : [ 1, 2, 4, 149, 298 ]
Factorts for 597 : [ 1, 3, 199 ]
Factorts for 598 : [ 1, 2, 13, 23, 26, 46, 299 ]
Factorts for 600 : [ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 25, 30, 40, 50, 
60, 75, 100, 120, 150, 200, 300 ]
Factorts for 602 : [ 1, 2, 7, 14, 43, 86, 301 ]
Factorts for 603 : [ 1, 3, 9, 67, 201 ]
Factorts for 604 : [ 1, 2, 4, 151, 302 ]
Factorts for 605 : [ 1, 5, 11, 55, 121 ]
Factorts for 606 : [ 1, 2, 3, 6, 101, 202, 303 ]
Factorts for 608 : [ 1, 2, 4, 8, 16, 19, 32, 38, 76, 152, 304 ]
Factorts for 609 : [ 1, 3, 7, 21, 29, 87, 203 ]
Factorts for 610 : [ 1, 2, 5, 10, 61, 122, 305 ]
Factorts for 611 : [ 1, 13, 47 ]
Factorts for 612 : [ 1, 2, 3, 4, 6, 9, 12, 17, 18, 34, 36, 51, 68, 102, 153, 
204, 306 ]
Factorts for 614 : [ 1, 2, 307 ]
Factorts for 615 : [ 1, 3, 5, 15, 41, 123, 205 ]
Factorts for 616 : [ 1, 2, 4, 7, 8, 11, 14, 22, 28, 44, 56, 77, 88, 154, 308 ]
Factorts for 618 : [ 1, 2, 3, 6, 103, 206, 309 ]
Factorts for 620 : [ 1, 2, 4, 5, 10, 20, 31, 62, 124, 155, 310 ]
Factorts for 621 : [ 1, 3, 9, 23, 27, 69, 207 ]
Factorts for 622 : [ 1, 2, 311 ]
Factorts for 623 : [ 1, 7, 89 ]
Factorts for 624 : [ 1, 2, 3, 4, 6, 8, 12, 13, 16, 24, 26, 39, 48, 52, 78, 
104, 156, 208, 312 ]
Factorts for 625 : [ 1, 5, 25, 125 ]
Factorts for 626 : [ 1, 2, 313 ]
Factorts for 627 : [ 1, 3, 11, 19, 33, 57, 209 ]
Factorts for 628 : [ 1, 2, 4, 157, 314 ]
Factorts for 629 : [ 1, 17, 37 ]
Factorts for 630 : [ 1, 2, 3, 5, 6, 7, 9, 10, 14, 15, 18, 21, 30, 35, 42, 45, 
63, 70, 90, 105, 126, 210, 315 ]
Factorts for 632 : [ 1, 2, 4, 8, 79, 158, 316 ]
Factorts for 633 : [ 1, 3, 211 ]
Factorts for 634 : [ 1, 2, 317 ]
Factorts for 635 : [ 1, 5, 127 ]
Factorts for 636 : [ 1, 2, 3, 4, 6, 12, 53, 106, 159, 212, 318 ]
Factorts for 637 : [ 1, 7, 13, 49, 91 ]
Factorts for 638 : [ 1, 2, 11, 22, 29, 58, 319 ]
Factorts for 639 : [ 1, 3, 9, 71, 213 ]
Factorts for 640 : [ 1, 2, 4, 5, 8, 10, 16, 20, 32, 40, 64, 80, 128, 160, 320 
]
Factorts for 642 : [ 1, 2, 3, 6, 107, 214, 321 ]
Factorts for 644 : [ 1, 2, 4, 7, 14, 23, 28, 46, 92, 161, 322 ]
Factorts for 645 : [ 1, 3, 5, 15, 43, 129, 215 ]
Factorts for 646 : [ 1, 2, 17, 19, 34, 38, 323 ]
Factorts for 648 : [ 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 27, 36, 54, 72, 81, 
108, 162, 216, 324 ]
Factorts for 649 : [ 1, 11, 59 ]
Factorts for 650 : [ 1, 2, 5, 10, 13, 25, 26, 50, 65, 130, 325 ]
Factorts for 651 : [ 1, 3, 7, 21, 31, 93, 217 ]
Factorts for 652 : [ 1, 2, 4, 163, 326 ]
Factorts for 654 : [ 1, 2, 3, 6, 109, 218, 327 ]
Factorts for 655 : [ 1, 5, 131 ]
Factorts for 656 : [ 1, 2, 4, 8, 16, 41, 82, 164, 328 ]
Factorts for 657 : [ 1, 3, 9, 73, 219 ]
Factorts for 658 : [ 1, 2, 7, 14, 47, 94, 329 ]
Factorts for 660 : [ 1, 2, 3, 4, 5, 6, 10, 11, 12, 15, 20, 22, 30, 33, 44, 
55, 60, 66, 110, 132, 165, 220, 330 ]
Factorts for 662 : [ 1, 2, 331 ]
Factorts for 663 : [ 1, 3, 13, 17, 39, 51, 221 ]
Factorts for 664 : [ 1, 2, 4, 8, 83, 166, 332 ]
Factorts for 665 : [ 1, 5, 7, 19, 35, 95, 133 ]
Factorts for 666 : [ 1, 2, 3, 6, 9, 18, 37, 74, 111, 222, 333 ]
Factorts for 667 : [ 1, 23, 29 ]
Factorts for 668 : [ 1, 2, 4, 167, 334 ]
Factorts for 669 : [ 1, 3, 223 ]
Factorts for 670 : [ 1, 2, 5, 10, 67, 134, 335 ]
Factorts for 671 : [ 1, 11, 61 ]
Factorts for 672 : [ 1, 2, 3, 4, 6, 7, 8, 12, 14, 16, 21, 24, 28, 32, 42, 48, 
56, 84, 96, 112, 168, 224, 336 ]
Factorts for 674 : [ 1, 2, 337 ]
Factorts for 675 : [ 1, 3, 5, 9, 15, 25, 27, 45, 75, 135, 225 ]
Factorts for 676 : [ 1, 2, 4, 13, 26, 52, 169, 338 ]
Factorts for 678 : [ 1, 2, 3, 6, 113, 226, 339 ]
Factorts for 679 : [ 1, 7, 97 ]
Factorts for 680 : [ 1, 2, 4, 5, 8, 10, 17, 20, 34, 40, 68, 85, 136, 170, 340 
]
Factorts for 681 : [ 1, 3, 227 ]
Factorts for 682 : [ 1, 2, 11, 22, 31, 62, 341 ]
Factorts for 684 : [ 1, 2, 3, 4, 6, 9, 12, 18, 19, 36, 38, 57, 76, 114, 171, 
228, 342 ]
Factorts for 685 : [ 1, 5, 137 ]
Factorts for 686 : [ 1, 2, 7, 14, 49, 98, 343 ]
Factorts for 687 : [ 1, 3, 229 ]
Factorts for 688 : [ 1, 2, 4, 8, 16, 43, 86, 172, 344 ]
Factorts for 689 : [ 1, 13, 53 ]
Factorts for 690 : [ 1, 2, 3, 5, 6, 10, 15, 23, 30, 46, 69, 115, 138, 230, 
345 ]
Factorts for 692 : [ 1, 2, 4, 173, 346 ]
Factorts for 693 : [ 1, 3, 7, 9, 11, 21, 33, 63, 77, 99, 231 ]
Factorts for 694 : [ 1, 2, 347 ]
Factorts for 695 : [ 1, 5, 139 ]
Factorts for 696 : [ 1, 2, 3, 4, 6, 8, 12, 24, 29, 58, 87, 116, 174, 232, 348 
]
Factorts for 697 : [ 1, 17, 41 ]
Factorts for 698 : [ 1, 2, 349 ]
Factorts for 699 : [ 1, 3, 233 ]
Factorts for 700 : [ 1, 2, 4, 5, 7, 10, 14, 20, 25, 28, 35, 50, 70, 100, 140, 
175, 350 ]
Factorts for 702 : [ 1, 2, 3, 6, 9, 13, 18, 26, 27, 39, 54, 78, 117, 234, 351 
]
Factorts for 703 : [ 1, 19, 37 ]
Factorts for 704 : [ 1, 2, 4, 8, 11, 16, 22, 32, 44, 64, 88, 176, 352 ]
Factorts for 705 : [ 1, 3, 5, 15, 47, 141, 235 ]
Factorts for 706 : [ 1, 2, 353 ]
Factorts for 707 : [ 1, 7, 101 ]
Factorts for 708 : [ 1, 2, 3, 4, 6, 12, 59, 118, 177, 236, 354 ]
Factorts for 710 : [ 1, 2, 5, 10, 71, 142, 355 ]
Factorts for 711 : [ 1, 3, 9, 79, 237 ]
Factorts for 712 : [ 1, 2, 4, 8, 89, 178, 356 ]
Factorts for 713 : [ 1, 23, 31 ]
Factorts for 714 : [ 1, 2, 3, 6, 7, 14, 17, 21, 34, 42, 51, 102, 119, 238, 
357 ]
Factorts for 715 : [ 1, 5, 11, 13, 55, 65, 143 ]
Factorts for 716 : [ 1, 2, 4, 179, 358 ]
Factorts for 717 : [ 1, 3, 239 ]
Factorts for 718 : [ 1, 2, 359 ]
Factorts for 720 : [ 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 16, 18, 20, 24, 30, 
36, 40, 45, 48, 60, 72, 80, 90, 120, 144, 180, 240, 360 ]
Factorts for 721 : [ 1, 7, 103 ]
Factorts for 722 : [ 1, 2, 19, 38, 361 ]
Factorts for 723 : [ 1, 3, 241 ]
Factorts for 724 : [ 1, 2, 4, 181, 362 ]
Factorts for 725 : [ 1, 5, 25, 29, 145 ]
Factorts for 726 : [ 1, 2, 3, 6, 11, 22, 33, 66, 121, 242, 363 ]
Factorts for 728 : [ 1, 2, 4, 7, 8, 13, 14, 26, 28, 52, 56, 91, 104, 182, 364 
]
Factorts for 729 : [ 1, 3, 9, 27, 81, 243 ]
Factorts for 730 : [ 1, 2, 5, 10, 73, 146, 365 ]
Factorts for 731 : [ 1, 17, 43 ]
Factorts for 732 : [ 1, 2, 3, 4, 6, 12, 61, 122, 183, 244, 366 ]
Factorts for 734 : [ 1, 2, 367 ]
Factorts for 735 : [ 1, 3, 5, 7, 15, 21, 35, 49, 105, 147, 245 ]
Factorts for 736 : [ 1, 2, 4, 8, 16, 23, 32, 46, 92, 184, 368 ]
Factorts for 737 : [ 1, 11, 67 ]
Factorts for 738 : [ 1, 2, 3, 6, 9, 18, 41, 82, 123, 246, 369 ]
Factorts for 740 : [ 1, 2, 4, 5, 10, 20, 37, 74, 148, 185, 370 ]
Factorts for 741 : [ 1, 3, 13, 19, 39, 57, 247 ]
Factorts for 742 : [ 1, 2, 7, 14, 53, 106, 371 ]
Factorts for 744 : [ 1, 2, 3, 4, 6, 8, 12, 24, 31, 62, 93, 124, 186, 248, 372 
]
Factorts for 745 : [ 1, 5, 149 ]
Factorts for 746 : [ 1, 2, 373 ]
Factorts for 747 : [ 1, 3, 9, 83, 249 ]
Factorts for 748 : [ 1, 2, 4, 11, 17, 22, 34, 44, 68, 187, 374 ]
Factorts for 749 : [ 1, 7, 107 ]
Factorts for 750 : [ 1, 2, 3, 5, 6, 10, 15, 25, 30, 50, 75, 125, 150, 250, 
375 ]
Factorts for 752 : [ 1, 2, 4, 8, 16, 47, 94, 188, 376 ]
Factorts for 753 : [ 1, 3, 251 ]
Factorts for 754 : [ 1, 2, 13, 26, 29, 58, 377 ]
Factorts for 755 : [ 1, 5, 151 ]
Factorts for 756 : [ 1, 2, 3, 4, 6, 7, 9, 12, 14, 18, 21, 27, 28, 36, 42, 54, 
63, 84, 108, 126, 189, 252, 378 ]
Factorts for 758 : [ 1, 2, 379 ]
Factorts for 759 : [ 1, 3, 11, 23, 33, 69, 253 ]
Factorts for 760 : [ 1, 2, 4, 5, 8, 10, 19, 20, 38, 40, 76, 95, 152, 190, 380 
]
Factorts for 762 : [ 1, 2, 3, 6, 127, 254, 381 ]
Factorts for 763 : [ 1, 7, 109 ]
Factorts for 764 : [ 1, 2, 4, 191, 382 ]
Factorts for 765 : [ 1, 3, 5, 9, 15, 17, 45, 51, 85, 153, 255 ]
Factorts for 766 : [ 1, 2, 383 ]
Factorts for 767 : [ 1, 13, 59 ]
Factorts for 768 : [ 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 
256, 384 ]
Factorts for 770 : [ 1, 2, 5, 7, 10, 11, 14, 22, 35, 55, 70, 77, 110, 154, 
385 ]
Factorts for 771 : [ 1, 3, 257 ]
Factorts for 772 : [ 1, 2, 4, 193, 386 ]
Factorts for 774 : [ 1, 2, 3, 6, 9, 18, 43, 86, 129, 258, 387 ]
Factorts for 775 : [ 1, 5, 25, 31, 155 ]
Factorts for 776 : [ 1, 2, 4, 8, 97, 194, 388 ]
Factorts for 777 : [ 1, 3, 7, 21, 37, 111, 259 ]
Factorts for 778 : [ 1, 2, 389 ]
Factorts for 779 : [ 1, 19, 41 ]
Factorts for 780 : [ 1, 2, 3, 4, 5, 6, 10, 12, 13, 15, 20, 26, 30, 39, 52, 
60, 65, 78, 130, 156, 195, 260, 390 ]
Factorts for 781 : [ 1, 11, 71 ]
Factorts for 782 : [ 1, 2, 17, 23, 34, 46, 391 ]
Factorts for 783 : [ 1, 3, 9, 27, 29, 87, 261 ]
Factorts for 784 : [ 1, 2, 4, 7, 8, 14, 16, 28, 49, 56, 98, 112, 196, 392 ]
Factorts for 785 : [ 1, 5, 157 ]
Factorts for 786 : [ 1, 2, 3, 6, 131, 262, 393 ]
Factorts for 788 : [ 1, 2, 4, 197, 394 ]
Factorts for 789 : [ 1, 3, 263 ]
Factorts for 790 : [ 1, 2, 5, 10, 79, 158, 395 ]
Factorts for 791 : [ 1, 7, 113 ]
Factorts for 792 : [ 1, 2, 3, 4, 6, 8, 9, 11, 12, 18, 22, 24, 33, 36, 44, 66, 
72, 88, 99, 132, 198, 264, 396 ]
Factorts for 793 : [ 1, 13, 61 ]
Factorts for 794 : [ 1, 2, 397 ]
Factorts for 795 : [ 1, 3, 5, 15, 53, 159, 265 ]
Factorts for 796 : [ 1, 2, 4, 199, 398 ]
Factorts for 798 : [ 1, 2, 3, 6, 7, 14, 19, 21, 38, 42, 57, 114, 133, 266, 
399 ]
Factorts for 799 : [ 1, 17, 47 ]
Factorts for 800 : [ 1, 2, 4, 5, 8, 10, 16, 20, 25, 32, 40, 50, 80, 100, 160, 
200, 400 ]
Factorts for 801 : [ 1, 3, 9, 89, 267 ]
Factorts for 802 : [ 1, 2, 401 ]
Factorts for 803 : [ 1, 11, 73 ]
Factorts for 804 : [ 1, 2, 3, 4, 6, 12, 67, 134, 201, 268, 402 ]
Factorts for 805 : [ 1, 5, 7, 23, 35, 115, 161 ]
Factorts for 806 : [ 1, 2, 13, 26, 31, 62, 403 ]
Factorts for 807 : [ 1, 3, 269 ]
Factorts for 808 : [ 1, 2, 4, 8, 101, 202, 404 ]
Factorts for 810 : [ 1, 2, 3, 5, 6, 9, 10, 15, 18, 27, 30, 45, 54, 81, 90, 
135, 162, 270, 405 ]
Factorts for 812 : [ 1, 2, 4, 7, 14, 28, 29, 58, 116, 203, 406 ]
Factorts for 813 : [ 1, 3, 271 ]
Factorts for 814 : [ 1, 2, 11, 22, 37, 74, 407 ]
Factorts for 815 : [ 1, 5, 163 ]
Factorts for 816 : [ 1, 2, 3, 4, 6, 8, 12, 16, 17, 24, 34, 48, 51, 68, 102, 
136, 204, 272, 408 ]
Factorts for 817 : [ 1, 19, 43 ]
Factorts for 818 : [ 1, 2, 409 ]
Factorts for 819 : [ 1, 3, 7, 9, 13, 21, 39, 63, 91, 117, 273 ]
Factorts for 820 : [ 1, 2, 4, 5, 10, 20, 41, 82, 164, 205, 410 ]
Factorts for 822 : [ 1, 2, 3, 6, 137, 274, 411 ]
Factorts for 824 : [ 1, 2, 4, 8, 103, 206, 412 ]
Factorts for 825 : [ 1, 3, 5, 11, 15, 25, 33, 55, 75, 165, 275 ]
Factorts for 826 : [ 1, 2, 7, 14, 59, 118, 413 ]
Factorts for 828 : [ 1, 2, 3, 4, 6, 9, 12, 18, 23, 36, 46, 69, 92, 138, 207, 
276, 414 ]
Factorts for 830 : [ 1, 2, 5, 10, 83, 166, 415 ]
Factorts for 831 : [ 1, 3, 277 ]
Factorts for 832 : [ 1, 2, 4, 8, 13, 16, 26, 32, 52, 64, 104, 208, 416 ]
Factorts for 833 : [ 1, 7, 17, 49, 119 ]
Factorts for 834 : [ 1, 2, 3, 6, 139, 278, 417 ]
Factorts for 835 : [ 1, 5, 167 ]
Factorts for 836 : [ 1, 2, 4, 11, 19, 22, 38, 44, 76, 209, 418 ]
Factorts for 837 : [ 1, 3, 9, 27, 31, 93, 279 ]
Factorts for 838 : [ 1, 2, 419 ]
Factorts for 840 : [ 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 15, 20, 21, 24, 28, 
30, 35, 40, 42, 56, 60, 70, 84, 105, 120, 140, 168, 210, 280, 420 ]
Factorts for 841 : [ 1, 29 ]
Factorts for 842 : [ 1, 2, 421 ]
Factorts for 843 : [ 1, 3, 281 ]
Factorts for 844 : [ 1, 2, 4, 211, 422 ]
Factorts for 845 : [ 1, 5, 13, 65, 169 ]
Factorts for 846 : [ 1, 2, 3, 6, 9, 18, 47, 94, 141, 282, 423 ]
Factorts for 847 : [ 1, 7, 11, 77, 121 ]
Factorts for 848 : [ 1, 2, 4, 8, 16, 53, 106, 212, 424 ]
Factorts for 849 : [ 1, 3, 283 ]
Factorts for 850 : [ 1, 2, 5, 10, 17, 25, 34, 50, 85, 170, 425 ]
Factorts for 851 : [ 1, 23, 37 ]
Factorts for 852 : [ 1, 2, 3, 4, 6, 12, 71, 142, 213, 284, 426 ]
Factorts for 854 : [ 1, 2, 7, 14, 61, 122, 427 ]
Factorts for 855 : [ 1, 3, 5, 9, 15, 19, 45, 57, 95, 171, 285 ]
Factorts for 856 : [ 1, 2, 4, 8, 107, 214, 428 ]
Factorts for 858 : [ 1, 2, 3, 6, 11, 13, 22, 26, 33, 39, 66, 78, 143, 286, 
429 ]
Factorts for 860 : [ 1, 2, 4, 5, 10, 20, 43, 86, 172, 215, 430 ]
Factorts for 861 : [ 1, 3, 7, 21, 41, 123, 287 ]
Factorts for 862 : [ 1, 2, 431 ]
Factorts for 864 : [ 1, 2, 3, 4, 6, 8, 9, 12, 16, 18, 24, 27, 32, 36, 48, 54, 
72, 96, 108, 144, 216, 288, 432 ]
Factorts for 865 : [ 1, 5, 173 ]
Factorts for 866 : [ 1, 2, 433 ]
Factorts for 867 : [ 1, 3, 17, 51, 289 ]
Factorts for 868 : [ 1, 2, 4, 7, 14, 28, 31, 62, 124, 217, 434 ]
Factorts for 869 : [ 1, 11, 79 ]
Factorts for 870 : [ 1, 2, 3, 5, 6, 10, 15, 29, 30, 58, 87, 145, 174, 290, 
435 ]
Factorts for 871 : [ 1, 13, 67 ]
Factorts for 872 : [ 1, 2, 4, 8, 109, 218, 436 ]
Factorts for 873 : [ 1, 3, 9, 97, 291 ]
Factorts for 874 : [ 1, 2, 19, 23, 38, 46, 437 ]
Factorts for 875 : [ 1, 5, 7, 25, 35, 125, 175 ]
Factorts for 876 : [ 1, 2, 3, 4, 6, 12, 73, 146, 219, 292, 438 ]
Factorts for 878 : [ 1, 2, 439 ]
Factorts for 879 : [ 1, 3, 293 ]
Factorts for 880 : [ 1, 2, 4, 5, 8, 10, 11, 16, 20, 22, 40, 44, 55, 80, 88, 
110, 176, 220, 440 ]
Factorts for 882 : [ 1, 2, 3, 6, 7, 9, 14, 18, 21, 42, 49, 63, 98, 126, 147, 
294, 441 ]
Factorts for 884 : [ 1, 2, 4, 13, 17, 26, 34, 52, 68, 221, 442 ]
Factorts for 885 : [ 1, 3, 5, 15, 59, 177, 295 ]
Factorts for 886 : [ 1, 2, 443 ]
Factorts for 888 : [ 1, 2, 3, 4, 6, 8, 12, 24, 37, 74, 111, 148, 222, 296, 
444 ]
Factorts for 889 : [ 1, 7, 127 ]
Factorts for 890 : [ 1, 2, 5, 10, 89, 178, 445 ]
Factorts for 891 : [ 1, 3, 9, 11, 27, 33, 81, 99, 297 ]
Factorts for 892 : [ 1, 2, 4, 223, 446 ]
Factorts for 893 : [ 1, 19, 47 ]
Factorts for 894 : [ 1, 2, 3, 6, 149, 298, 447 ]
Factorts for 895 : [ 1, 5, 179 ]
Factorts for 896 : [ 1, 2, 4, 7, 8, 14, 16, 28, 32, 56, 64, 112, 128, 224, 
448 ]
Factorts for 897 : [ 1, 3, 13, 23, 39, 69, 299 ]
Factorts for 898 : [ 1, 2, 449 ]
Factorts for 899 : [ 1, 29, 31 ]
Factorts for 900 : [ 1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 25, 30, 36, 45, 
50, 60, 75, 90, 100, 150, 180, 225, 300, 450 ]
Factorts for 901 : [ 1, 17, 53 ]
Factorts for 902 : [ 1, 2, 11, 22, 41, 82, 451 ]
Factorts for 903 : [ 1, 3, 7, 21, 43, 129, 301 ]
Factorts for 904 : [ 1, 2, 4, 8, 113, 226, 452 ]
Factorts for 905 : [ 1, 5, 181 ]
Factorts for 906 : [ 1, 2, 3, 6, 151, 302, 453 ]
Factorts for 908 : [ 1, 2, 4, 227, 454 ]
Factorts for 909 : [ 1, 3, 9, 101, 303 ]
Factorts for 910 : [ 1, 2, 5, 7, 10, 13, 14, 26, 35, 65, 70, 91, 130, 182, 
455 ]
Factorts for 912 : [ 1, 2, 3, 4, 6, 8, 12, 16, 19, 24, 38, 48, 57, 76, 114, 
152, 228, 304, 456 ]
Factorts for 913 : [ 1, 11, 83 ]
Factorts for 914 : [ 1, 2, 457 ]
Factorts for 915 : [ 1, 3, 5, 15, 61, 183, 305 ]
Factorts for 916 : [ 1, 2, 4, 229, 458 ]
Factorts for 917 : [ 1, 7, 131 ]
Factorts for 918 : [ 1, 2, 3, 6, 9, 17, 18, 27, 34, 51, 54, 102, 153, 306, 
459 ]
Factorts for 920 : [ 1, 2, 4, 5, 8, 10, 20, 23, 40, 46, 92, 115, 184, 230, 
460 ]
Factorts for 921 : [ 1, 3, 307 ]
Factorts for 922 : [ 1, 2, 461 ]
Factorts for 923 : [ 1, 13, 71 ]
Factorts for 924 : [ 1, 2, 3, 4, 6, 7, 11, 12, 14, 21, 22, 28, 33, 42, 44, 
66, 77, 84, 132, 154, 231, 308, 462 ]
Factorts for 925 : [ 1, 5, 25, 37, 185 ]
Factorts for 926 : [ 1, 2, 463 ]
Factorts for 927 : [ 1, 3, 9, 103, 309 ]
Factorts for 928 : [ 1, 2, 4, 8, 16, 29, 32, 58, 116, 232, 464 ]
Factorts for 930 : [ 1, 2, 3, 5, 6, 10, 15, 30, 31, 62, 93, 155, 186, 310, 
465 ]
Factorts for 931 : [ 1, 7, 19, 49, 133 ]
Factorts for 932 : [ 1, 2, 4, 233, 466 ]
Factorts for 933 : [ 1, 3, 311 ]
Factorts for 934 : [ 1, 2, 467 ]
Factorts for 935 : [ 1, 5, 11, 17, 55, 85, 187 ]
Factorts for 936 : [ 1, 2, 3, 4, 6, 8, 9, 12, 13, 18, 24, 26, 36, 39, 52, 72, 
78, 104, 117, 156, 234, 312, 468 ]
Factorts for 938 : [ 1, 2, 7, 14, 67, 134, 469 ]
Factorts for 939 : [ 1, 3, 313 ]
Factorts for 940 : [ 1, 2, 4, 5, 10, 20, 47, 94, 188, 235, 470 ]
Factorts for 942 : [ 1, 2, 3, 6, 157, 314, 471 ]
Factorts for 943 : [ 1, 23, 41 ]
Factorts for 944 : [ 1, 2, 4, 8, 16, 59, 118, 236, 472 ]
Factorts for 945 : [ 1, 3, 5, 7, 9, 15, 21, 27, 35, 45, 63, 105, 135, 189, 
315 ]
Factorts for 946 : [ 1, 2, 11, 22, 43, 86, 473 ]
Factorts for 948 : [ 1, 2, 3, 4, 6, 12, 79, 158, 237, 316, 474 ]
Factorts for 949 : [ 1, 13, 73 ]
Factorts for 950 : [ 1, 2, 5, 10, 19, 25, 38, 50, 95, 190, 475 ]
Factorts for 951 : [ 1, 3, 317 ]
Factorts for 952 : [ 1, 2, 4, 7, 8, 14, 17, 28, 34, 56, 68, 119, 136, 238, 
476 ]
Factorts for 954 : [ 1, 2, 3, 6, 9, 18, 53, 106, 159, 318, 477 ]
Factorts for 955 : [ 1, 5, 191 ]
Factorts for 956 : [ 1, 2, 4, 239, 478 ]
Factorts for 957 : [ 1, 3, 11, 29, 33, 87, 319 ]
Factorts for 958 : [ 1, 2, 479 ]
Factorts for 959 : [ 1, 7, 137 ]
Factorts for 960 : [ 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 16, 20, 24, 30, 32, 40, 
48, 60, 64, 80, 96, 120, 160, 192, 240, 320, 480 ]
Factorts for 961 : [ 1, 31 ]
Factorts for 962 : [ 1, 2, 13, 26, 37, 74, 481 ]
Factorts for 963 : [ 1, 3, 9, 107, 321 ]
Factorts for 964 : [ 1, 2, 4, 241, 482 ]
Factorts for 965 : [ 1, 5, 193 ]
Factorts for 966 : [ 1, 2, 3, 6, 7, 14, 21, 23, 42, 46, 69, 138, 161, 322, 
483 ]
Factorts for 968 : [ 1, 2, 4, 8, 11, 22, 44, 88, 121, 242, 484 ]
Factorts for 969 : [ 1, 3, 17, 19, 51, 57, 323 ]
Factorts for 970 : [ 1, 2, 5, 10, 97, 194, 485 ]
Factorts for 972 : [ 1, 2, 3, 4, 6, 9, 12, 18, 27, 36, 54, 81, 108, 162, 243, 
324, 486 ]
Factorts for 973 : [ 1, 7, 139 ]
Factorts for 974 : [ 1, 2, 487 ]
Factorts for 975 : [ 1, 3, 5, 13, 15, 25, 39, 65, 75, 195, 325 ]
Factorts for 976 : [ 1, 2, 4, 8, 16, 61, 122, 244, 488 ]
Factorts for 978 : [ 1, 2, 3, 6, 163, 326, 489 ]
Factorts for 979 : [ 1, 11, 89 ]
Factorts for 980 : [ 1, 2, 4, 5, 7, 10, 14, 20, 28, 35, 49, 70, 98, 140, 196, 
245, 490 ]
Factorts for 981 : [ 1, 3, 9, 109, 327 ]
Factorts for 982 : [ 1, 2, 491 ]
Factorts for 984 : [ 1, 2, 3, 4, 6, 8, 12, 24, 41, 82, 123, 164, 246, 328, 
492 ]
Factorts for 985 : [ 1, 5, 197 ]
Factorts for 986 : [ 1, 2, 17, 29, 34, 58, 493 ]
Factorts for 987 : [ 1, 3, 7, 21, 47, 141, 329 ]
Factorts for 988 : [ 1, 2, 4, 13, 19, 26, 38, 52, 76, 247, 494 ]
Factorts for 989 : [ 1, 23, 43 ]
Factorts for 990 : [ 1, 2, 3, 5, 6, 9, 10, 11, 15, 18, 22, 30, 33, 45, 55, 
66, 90, 99, 110, 165, 198, 330, 495 ]
Factorts for 992 : [ 1, 2, 4, 8, 16, 31, 32, 62, 124, 248, 496 ]
Factorts for 993 : [ 1, 3, 331 ]
Factorts for 994 : [ 1, 2, 7, 14, 71, 142, 497 ]
Factorts for 995 : [ 1, 5, 199 ]
Factorts for 996 : [ 1, 2, 3, 4, 6, 12, 83, 166, 249, 332, 498 ]
Factorts for 998 : [ 1, 2, 499 ]
Factorts for 999 : [ 1, 3, 9, 27, 37, 111, 333 ]
Factorts for 1000 : [ 1, 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250, 
500 ]
Pime numbers : [ 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 
61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 
149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 
229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 
313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 
409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 
499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 
601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 
691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 
809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 
907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997 ]
Armstrongs numbers : [ 153, 370, 371, 407 ]
Harmonic Serious : [ 1.5, 1.83, 2.08, 2.28, 2.45, 2.59, 2.72, 2.83, 2.93, 
3.02, 3.1, 3.18, 3.25, 3.32, 3.38, 3.44, 3.5, 3.55, 3.6, 3.65, 3.69, 3.74, 
3.78, 3.82, 3.86, 3.89, 3.93, 3.96, 4.0, 4.03, 4.06, 4.09, 4.12, 4.15, 4.17, 
4.2, 4.23, 4.25, 4.28, 4.3, 4.33, 4.35, 4.37, 4.39, 4.42, 4.44, 4.46, 4.48, 
4.5, 4.52, 4.54, 4.56, 4.57, 4.59, 4.61, 4.63, 4.65, 4.66, 4.68, 4.7, 4.71, 
4.73, 4.74, 4.76, 4.77, 4.79, 4.8, 4.82, 4.83, 4.85, 4.86, 4.87, 4.89, 4.9, 
4.91, 4.93, 4.94, 4.95, 4.97, 4.98, 4.99, 5.0, 5.01, 5.03, 5.04, 5.05, 5.06, 
5.07, 5.08, 5.09, 5.1, 5.11, 5.13, 5.14, 5.15, 5.16, 5.17, 5.18, 5.19, 5.2, 
5.21, 5.22, 5.23, 5.24, 5.25, 5.25, 5.26, 5.27, 5.28, 5.29, 5.3, 5.31, 5.32, 
5.33, 5.34, 5.34, 5.35, 5.36, 5.37, 5.38, 5.38, 5.39, 5.4, 5.41, 5.42, 5.42, 
5.43, 5.44, 5.45, 5.46, 5.46, 5.47, 5.48, 5.49, 5.49, 5.5, 5.51, 5.51, 5.52, 
5.53, 5.54, 5.54, 5.55, 5.56, 5.56, 5.57, 5.58, 5.58, 5.59, 5.6, 5.61, 5.61, 
5.62, 5.62, 5.63, 5.64, 5.64, 5.65, 5.65, 5.66, 5.67, 5.67, 5.68, 5.68, 5.6
 9, 5.7, 5.7, 5.71, 5.71, 5.72, 5.73, 5.73, 5.74, 5.74, 5.75, 5.76, 5.76, 
5.77, 5.77, 5.78, 5.79, 5.79, 5.8, 5.8, 5.81, 5.81, 5.82, 5.82, 5.83, 5.83, 
5.84, 5.84, 5.85, 5.85, 5.86, 5.86, 5.87, 5.87, 5.88, 5.88, 5.89, 5.89, 5.9, 
5.9, 5.91, 5.91, 5.92, 5.92, 5.93, 5.93, 5.94, 5.94, 5.95, 5.95, 5.96, 5.96, 
5.97, 5.97, 5.98, 5.98, 5.99, 5.99, 5.99, 6.0, 6.0, 6.01, 6.01, 6.01, 6.02, 
6.02, 6.03, 6.03, 6.03, 6.04, 6.04, 6.05, 6.05, 6.05, 6.06, 6.06, 6.07, 6.07, 
6.07, 6.08, 6.08, 6.09, 6.09, 6.09, 6.1, 6.1, 6.11, 6.11, 6.11, 6.12, 6.12, 
6.13, 6.13, 6.13, 6.14, 6.14, 6.15, 6.15, 6.15, 6.16, 6.16, 6.17, 6.17, 6.17, 
6.18, 6.18, 6.19, 6.19, 6.19, 6.2, 6.2, 6.21, 6.21, 6.21, 6.22, 6.22, 6.23, 
6.23, 6.23, 6.24, 6.24, 6.24, 6.25, 6.25, 6.25, 6.26, 6.26, 6.26, 6.26, 6.27, 
6.27, 6.27, 6.28, 6.28, 6.28, 6.29, 6.29, 6.29, 6.29, 6.3, 6.3, 6.3, 6.31, 
6.31, 6.31, 6.32, 6.32, 6.32, 6.32, 6.33, 6.33, 6.33, 6.34, 6.34, 6.34, 6.35, 
6.35, 6.35, 6.35, 6.36, 6.36, 6.36, 6.37, 6.37, 6.37, 6.38, 6.38, 6.38,
  6.38, 6.39, 6.39, 6.39, 6.4, 6.4, 6.4, 6.41, 6.41, 6.41, 6.41, 6.42, 6.42, 
6.42, 6.43, 6.43, 6.43, 6.44, 6.44, 6.44, 6.44, 6.45, 6.45, 6.45, 6.46, 6.46, 
6.46, 6.47, 6.47, 6.47, 6.47, 6.48, 6.48, 6.48, 6.49, 6.49, 6.49, 6.5, 6.5, 
6.5, 6.5, 6.51, 6.51, 6.51, 6.52, 6.52, 6.52, 6.53, 6.53, 6.53, 6.53, 6.54, 
6.54, 6.54, 6.55, 6.55, 6.55, 6.56, 6.56, 6.56, 6.56, 6.57, 6.57, 6.57, 6.58, 
6.58, 6.58, 6.58, 6.59, 6.59, 6.59, 6.59, 6.59, 6.6, 6.6, 6.6, 6.6, 6.6, 
6.61, 6.61, 6.61, 6.61, 6.61, 6.62, 6.62, 6.62, 6.62, 6.62, 6.63, 6.63, 6.63, 
6.63, 6.63, 6.64, 6.64, 6.64, 6.64, 6.64, 6.65, 6.65, 6.65, 6.65, 6.65, 6.66, 
6.66, 6.66, 6.66, 6.66, 6.67, 6.67, 6.67, 6.67, 6.67, 6.68, 6.68, 6.68, 6.68, 
6.68, 6.69, 6.69, 6.69, 6.69, 6.69, 6.7, 6.7, 6.7, 6.7, 6.7, 6.71, 6.71, 
6.71, 6.71, 6.71, 6.72, 6.72, 6.72, 6.72, 6.72, 6.73, 6.73, 6.73, 6.73, 6.73, 
6.74, 6.74, 6.74, 6.74, 6.74, 6.75, 6.75, 6.75, 6.75, 6.75, 6.76, 6.76, 6.76, 
6.76, 6.76, 6.77, 6.77, 6.77, 6.77, 6.77, 6.78, 6.78, 6.78, 6.78, 6.7
 8, 6.79, 6.79, 6.79, 6.79, 6.79, 6.8, 6.8, 6.8, 6.8, 6.8, 6.81, 6.81, 6.81, 
6.81, 6.81, 6.82, 6.82, 6.82, 6.82, 6.82, 6.83, 6.83, 6.83, 6.83, 6.83, 6.84, 
6.84, 6.84, 6.84, 6.84, 6.85, 6.85, 6.85, 6.85, 6.85, 6.86, 6.86, 6.86, 6.86, 
6.86, 6.87, 6.87, 6.87, 6.87, 6.87, 6.88, 6.88, 6.88, 6.88, 6.88, 6.89, 6.89, 
6.89, 6.89, 6.89, 6.9, 6.9, 6.9, 6.9, 6.9, 6.91, 6.91, 6.91, 6.91, 6.91, 
6.92, 6.92, 6.92, 6.92, 6.92, 6.93, 6.93, 6.93, 6.93, 6.93, 6.94, 6.94, 6.94, 
6.94, 6.94, 6.95, 6.95, 6.95, 6.95, 6.95, 6.96, 6.96, 6.96, 6.96, 6.96, 6.97, 
6.97, 6.97, 6.97, 6.97, 6.98, 6.98, 6.98, 6.98, 6.98, 6.99, 6.99, 6.99, 6.99, 
6.99, 7.0, 7.0, 7.0, 7.0, 7.0, 7.01, 7.01, 7.01, 7.01, 7.01, 7.02, 7.02, 
7.02, 7.02, 7.02, 7.03, 7.03, 7.03, 7.03, 7.03, 7.04, 7.04, 7.04, 7.04, 7.04, 
7.05, 7.05, 7.05, 7.05, 7.05, 7.06, 7.06, 7.06, 7.06, 7.06, 7.07, 7.07, 7.07, 
7.07, 7.07, 7.08, 7.08, 7.08, 7.08, 7.08, 7.09, 7.09, 7.09, 7.09, 7.09, 7.1, 
7.1, 7.1, 7.1, 7.1, 7.11, 7.11, 7.11, 7.11, 7.11, 7.12, 7.12, 7.12
 , 7.12, 7.12, 7.12, 7.12, 7.12, 7.12, 7.12, 7.13, 7.13, 7.13, 7.13, 7.13, 
7.13, 7.13, 7.13, 7.13, 7.13, 7.14, 7.14, 7.14, 7.14, 7.14, 7.14, 7.14, 7.14, 
7.14, 7.14, 7.15, 7.15, 7.15, 7.15, 7.15, 7.15, 7.15, 7.15, 7.15, 7.15, 7.16, 
7.16, 7.16, 7.16, 7.16, 7.16, 7.16, 7.16, 7.16, 7.16, 7.17, 7.17, 7.17, 7.17, 
7.17, 7.17, 7.17, 7.17, 7.17, 7.17, 7.18, 7.18, 7.18, 7.18, 7.18, 7.18, 7.18, 
7.18, 7.18, 7.18, 7.19, 7.19, 7.19, 7.19, 7.19, 7.19, 7.19, 7.19, 7.19, 7.19, 
7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.21, 7.21, 7.21, 7.21, 
7.21, 7.21, 7.21, 7.21, 7.21, 7.21, 7.22, 7.22, 7.22, 7.22, 7.22, 7.22, 7.22, 
7.22, 7.22, 7.22, 7.23, 7.23, 7.23, 7.23, 7.23, 7.23, 7.23, 7.23, 7.23, 7.23, 
7.24, 7.24, 7.24, 7.24, 7.24, 7.24, 7.24, 7.24, 7.24, 7.24, 7.25, 7.25, 7.25, 
7.25, 7.25, 7.25, 7.25, 7.25, 7.25, 7.25, 7.26, 7.26, 7.26, 7.26, 7.26, 7.26, 
7.26, 7.26, 7.26, 7.26, 7.27, 7.27, 7.27, 7.27, 7.27, 7.27, 7.27, 7.27, 7.27, 
7.27, 7.28, 7.28, 7.28, 7.28, 7.28, 7.28, 7.28, 7.28, 7.28, 7
 .28, 7.29, 7.29, 7.29, 7.29, 7.29, 7.29, 7.29, 7.29, 7.29, 7.29, 7.3, 7.3, 
7.3, 7.3, 7.3, 7.3, 7.3, 7.3, 7.3, 7.3, 7.31, 7.31, 7.31, 7.31, 7.31, 7.31, 
7.31, 7.31, 7.31, 7.31, 7.32, 7.32, 7.32, 7.32, 7.32, 7.32, 7.32, 7.32, 7.32, 
7.32, 7.33, 7.33, 7.33, 7.33, 7.33, 7.33, 7.33, 7.33, 7.33, 7.33, 7.34, 7.34, 
7.34, 7.34, 7.34, 7.34, 7.34, 7.34, 7.34, 7.34, 7.35, 7.35, 7.35, 7.35, 7.35, 
7.35, 7.35, 7.35, 7.35, 7.36, 7.36, 7.36, 7.36, 7.36, 7.36, 7.36, 7.36, 7.36, 
7.36, 7.37, 7.37, 7.37, 7.37, 7.37, 7.37, 7.37, 7.37, 7.37, 7.37, 7.38, 7.38, 
7.38, 7.38, 7.38, 7.38, 7.38, 7.38, 7.38, 7.38, 7.39, 7.39, 7.39, 7.39, 7.39, 
7.39, 7.39, 7.39, 7.39, 7.39, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 
7.4, 7.41, 7.41, 7.41, 7.41, 7.41, 7.41, 7.41, 7.41, 7.41, 7.41, 7.42, 7.42, 
7.42, 7.42, 7.42, 7.42, 7.42, 7.42, 7.42, 7.42, 7.43, 7.43, 7.43, 7.43, 7.43, 
7.43, 7.43, 7.43, 7.43, 7.43, 7.44, 7.44, 7.44, 7.44, 7.44, 7.44, 7.44, 7.44, 
7.44, 7.44, 7.45, 7.45, 7.45, 7.45, 7.45 ]
/**
 * Functional test:  To test different operators( Small stress test too).
 * @test
 * @run
 */
import java.lang.System;
import java.lang.Math;

function isPrime(n:Integer):Boolean {
        if(n==2) { return true; } else {
        return (sizeof (for(i in [2 .. Math.sqrt(n)] where n%i == 0) i) == 0) 
}
}
function roundMe(src:Number, digits:Integer) {
        src *= Math.pow(10,digits);
        return Math.round(src)/Math.pow(10,digits);
}
function factors(n:Integer) {
    return for(i in [1 .. n/2] where n % i == 0) i;
}
function harmonics(n:Integer):Number {
        var flag:Number = 0;
        return roundMe(1 + ({for(i in [2..n] where n >= 2){ flag += 
roundMe((1.0/i),3);} flag;}),2);
}
function isArmstrong(n:Integer) {
        var flag:Integer=0;
        var num = n;
        while(n > 0) {
                flag += Math.pow(n%10,3);
                n /= 10;
        }
        return (flag==num);
}
function main(n:Integer) {
        var primes:Integer[];
        var armstrongs:Integer[];
        var harmonicSeries:Number[];
        for(i in [2..n]) {
                if(isPrime(i)){ insert i into primes; }
                 else{ System.out.println("Factorts for {i} : " + 
factors(i)); }
                if(isArmstrong(i)){ insert i into armstrongs; }
                insert harmonics(i) into  harmonicSeries;
        }
        System.out.println("Pime numbers : " + primes);
        System.out.println("Armstrongs numbers : " + armstrongs);
        System.out.println("Harmonic Serious : " + harmonicSeries);
}
main(1000);
/**
 * Functional test:  To test different operators( Small stress test too).
 * @test
 * @run
 */
import java.lang.System;
import java.lang.Math;

function isPrime(n:Integer):Boolean {
        if(n==2) { return true; } else {
        return (sizeof (for(i in [2 .. Math.sqrt(n)] where n%i == 0) i) == 0) 
}
}
function roundMe(src:Number, digits:Integer) {
        src *= Math.pow(10,digits);
        return Math.round(src)/Math.pow(10,digits);
}
function factors(n:Integer) {
    return for(i in [1 .. n/2] where n % i == 0) i;
}
function harmonics(n:Integer):Number {
        var flag:Number = 0;
        return roundMe(1 + ({for(i in [2..n] where n >= 2){ flag += 
roundMe((1.0/i),3);} flag;}),2);
}
function isArmstrong(n:Integer) {
        var flag:Integer=0;
        var num = n;
        while(n > 0) {
                flag += Math.pow(n%10,3);
                n /= 10;
        }
        return (flag==num);
}
function main(n:Integer) {
        var primes:Integer[];
        var armstrongs:Integer[];
        var harmonicSeries:Number[];
        for(i in [2..n]) {
                if(isPrime(i)){ insert i into primes; }
                 else{ System.out.println("Factorts for {i} : " + 
factors(i)); }
                if(isArmstrong(i)){ insert i into armstrongs; }
                insert harmonics(i) into  harmonicSeries;
        }
        System.out.println("Pime numbers : " + primes);
        System.out.println("Armstrongs numbers : " + armstrongs);
        System.out.println("Harmonic Serious : " + harmonicSeries);
}
main(1000);
First step of refactor for JFXC-648 (merging Var and Expr classes.)
Show the JFXC-510 : Numeric conversion
is no longer reproduced.
Fix JFXC-590 :  Disallow "var" and "let" declarations in  classes
Undate tests accordingly.
Note: build is broken until the matching runtime change is made
Fix JFXC-590 (runtime component) :  Disallow "var" and "let" declarations in  
classes
Fix JFXC-607 : Variables defined using "let" are not final
Existing tests modified to test positive case. (hand tested negative case)
JFXC-215: added __FILE__ and __DIR__ module-level pseudo-variables.
JFXC-215: added __FILE__ and __DIR__ module-level pseudo-variables.
Further refactor of Location classes for JFXC-647
Reverse actions of r1614 on trunk
JFXC-286: forward backend compiler diagnostics to frontend, cleaned up 
compiler warnings.
Implementattion of the "easy" cases of bind of for comprehension.
(Somewhat kludgy - will get cleaner. as it is generalized.)
Better error message on type inference cycle, and make
sure it has a more useful line number,
This fixes JFXC-661 "Recursive calls only work if function has a return 
value".
Kludge to handle null vs [] better in conditionals.
This fixes JFXC-637 "NPE with if/else clause".
Make 'for' more robust and general: Handle Java null as well as [].
Also handle non-sequence types.
This fixes "JFXC-636" - "null not being treated like []".
Fix bug in replace trigger.
New test case - no fix needed since the test case already works.
Fix bug in replace trigger.
added package names to doc xml
major updates to css
major updates to css
fixed css copying
initial support for xslt parameters
Change expressionList to not include the parens,
so we can set the position information in a FUNC_APPLY to the LPAREN.
Fixes once source of missing line numbers.
JFXC-621 -- runtime should not allow seequence elements to be set to null.
resolved JIRA 451, 6117, 461, 453, 456, 457, 458
In INSTANCEOF and AS use 'type' rather than 'typeName'.
This partially fixes JFXC-386 - we no longer get a "cannot find symbol".
Because JFXType is now also used in contexts that aren't preceded by a colon,
make appropriate changes to pretty-printing: Don't print the colon
as part of the JFXType.
JXFC-679 - Added check that if step direction is not in sync with range, then 
set the size of the sequence to zero.
JXFC-679 Added test for a fractional negative sequence to make sure it 
produces an empty sequence
JXFC-679 -Reverted back to original code to produce primes as [2..sqrt(2)] 
now returns an empty sequence as before
css updates
xslt support for the package and classes list
implemented cross referencing for the entire inheritance hierarchy
changed output filenames for packages and classes lists to match javadoc
switched to single element 'class' for all class-like structures (interfaces, 
abstract classes, etc.)
implemente inherited attributes and functions
JFXC-501 -- extend BoundCompositeSequence to deal with slice replacements on 
the set of Locations.
Re-do handling of super-classes to treat all 'extends' classes
the same, without a special hack for the first class.
This means we now support multiple inheritance more cleanly/consistently.
Also, re-do handling of (deprecated) "explicit super" and "implicit super"
(i.e. SuperClassName.methodName(...)) to work better, for both
compoun classses and those that extend Java classes.
Fixes JFXC-675 "attribution fails to find attribute in superclass
second superclass."
New test-case.

added output directory support
added ability to add css and javascript overrides
added navigation.js utility script
workaround for bad @tags
improved error handling
minor updates
Make 'for' parameters FINAL.
JFXC-501 -- BoundComprehension class that deals with filtered based lists and 
variable in-out ratios.  Passes simple tests; needs more testing.
Use the "context type" for the return type of the "body" method
of a bound for comprehension.
Fixes a bug reported by Chris.
Add support for calling (Java) varargs methods.
This fixes JFXC-680: "Compiler fails when compiling a explicit call to
a Java constructor".
Fix casting non-primitive to primitive, by casting to the
boxed class for the later.
Fixes JFXC-386 "cannot specify Boolean/Integer/Number in "as" clause".
Change return value of 'replaceSlice routine to the new value, rather than 
void.
This fixes JFXC-645 "Compilation errors with slices as r-values".
add some sequence funtional tests
hide java.lang.Object from the inheritance hierarchy
remove echo of javafx call from EXPECTED
remove echo of javafx call from EXPECTED
add test and run tags
remove file with no test tags
one more time, remove echo from line 1
Small refactorings to fix warnings from FindBugs.
fixed clean target
fixed URL creation on Windows
starting point for studiomoto port
First bunch of porting changes.
Move studiomoto source files.
Continue move.
New Ant-related files.
needed for NB 6
set src.dir to 'src'
change test dir to 'test'
fix typo in src dir
More porting ...
More porting.
initial port
fix Cursor.HAND
Initial port
Initial port
Initial port
Initial port
initial port
initial port
Move images.
initial port
More porting.
initial port
More porting.
JFXC-694: corrected generated __DIR__ init code.
JFXC-694: expected test result
Implement missing pieces of new replace trigger syntax.
Should help with StudioMoto port.
More porting.
fix directory name
Small refactorings to fix warnings from FindBugs.
javafxc ant task properties.
added javadoc.jar
More porting
Remove now-empty directory.
Even More porting
uncommented code from earlier JXFC issue
removed comments
PointerFactory.make() must be called in a bind context.
JFXC-194: adding javafxdoc to main build; commented out StudioMoto copying 
until it is ready for distribution.
Move base to top-level, and initialize it to __DIR__.
JFXC-194: adding javafxdoc to main build; commented out StudioMoto copying 
until it is ready for distribution.
More wrapping of PointerFactory.make in bind.
More wrapping of PointerFactor.make in bind.
More wrapping of PointerFactor.mkae in bind.
However, this one also puts the unwrap in the bind,
because I haven't figured out a way not to.
'bind false' doesn't seem to make much sense ...
JFXC-194: added -overview option.
Created a new runtime class for string localization in javafx.util package.  
This library let applications associate script source file to a FX properties 
file, and also provides a way to localize strings in an object literal.  This 
fixes JFXC-697 and JFXC-698.
JFXC-194: UI runtime javadoc now generated -- the layout is very primitive at 
this point.
more animation porting
fixed javadoc classpath
More porting, fixed some floating triggers, and more binds of pf.make()
added to build executable jar
Change StdioMoto.jar to StudioMoto.jar
remove leading slash on image url strings
Merge in initialization branch.  Only downside is that classes cannot provide 
a default for superclass attributes (yet).  Robert is working on that now.
Added missing error message (the text might be wrong, however).
ignore generated, private files
Groundwork for JFXC-710 : Compiler support for 'override attribute' to enable 
defaults on superclass attributes
Make the __DIR__ and __FILE__ pseudo-variables static and
initialize them in the class initializer.
Tree support for JFXC-710 : Compiler support for 'override attribute' to 
enable defaults on superclass attributes
Make needDefault more idempotent; fixes JFXC-712.
Fix duplication reported by Michael Heinrichs.
Move test jfxc469 back to test/regress now that JFXC-469 is fixed.
Fix  cannot find symbol  : variable FXTestCase
Move jfxc169 regression tests to should-fail
Move jfxc169 regression tests to should-fail
work on JFXC-710 : Compiler support for 'override attribute' to enable 
defaults on superclass attributes
Add support to trees for init expression.  Align names.
Since it touchs the same files, finally fixed JFXOperation* to JFXFunction*
Also, removed v2 building (since it would have had to been updated, and it is 
no longer used).
JavaFXDoc part of last change for JFXC-710 : Compiler support for 'override 
attribute' to enable defaults on superclass attributes
Remove init, override is not needed in Widget as this is the base declaration 
of focusable
Fixing toggle and cancellation behavior
add isXXXX static functions, comment back in 'mac' code
fix initialization
Add checks for diff xy points for Linear and zero Radius for Radial before 
creating the Swing component
more initialization fixes
Add checks for diff xy points for Linear and zero Radius for Radial before 
creating the Swing component
temp fix for override attributes
fix check for x1/y1 vs x2y2
fix temporary override of fill in init
initialization fixes
init fixes
more init changes
remove empty init block
initial JSON framework
temp override attributes
runtime fixes
resolve JIRA_534: support escape right curly brace
commit JIRA_534 regression test
Top-level variable are now visible (in scope) to functions and classes.
This is implemented by turning them into static field of the module class.
This means they are always "morphed" to Variable object, which
has some downsides (less performance and Java compatibility),
bit those are pretty minor.  (The hope is that when we re-visit
type inference we can avoid needless "morphing".)

To support this I also checked in "BindExpression", which is basically
a tree representation of "bind EXPR".  For now it is only used when
a top-level var does a bind, but the plan is to use it for all binds.
Restore some uses of __DIR__.
A semi-regression due to the "top-leval variables are fields" patch.
add JavaFXAssortie tutorial project
runtime fixes for __DIR__
master build to build or clean all demos
Change all 'selection' attributes to Integer
Fix NPE bugs
change selection in model to integer
Get ANTLR to generate its .java and related files in build/gensrc instead of 
src, to make it easier for 'ant clean' to get rid of the effects of previous 
builds.
More runtime fixes
Add check for null values on various sequence creation methods.  Right now, 
it throws an exception; we might want to relax this later.
update inittrigger test
expand init trigger test to include default
correct file name
delete incorrectly named files
update comments in original tests; add testcase to inittrigger2 to include 
defaults
Catch exceptions completing parameter symbols in javafxdoc.
Add check for null values in SequenceBuilder. This should (finally!) fix Jim 
C's NPE problems.
more runtime fixes
Some preliminary cleanus to help top-level changes.
JavafxModuleBuilder does not need to "visit" recursively,
so it no longer extends JavafxTreeScanner.
Instead, just call preProcessJfxTopLevel direcly.
More substantially, move the call to preProcessJfxTopLevel later,
to JavafxEnter.visitTopLevel, when we create the toplevel Env.
update output
new testcases for sequence binding
add ant files to run project
bind list selection with Integer value
Added handler function that is called with JSON Elements are recognized 
during the parse
Fix initialization
remove output of null initialized attributes; they do not diff well
Fixed test classpath so running tests in IDE works again.
resolve JFXC-660: check in the regression test; the fix has been committed to 
the workspace when JXFC-679 was resolved in svn commit#1045
Sort test names to make logs easier to read.
Included new slice and trigger info in CH2
resolve JFXC_622: the compiler reports correct error msg and error position 
for an inserted synthetic semi
Simplify BoundComprehension; fix CME bug that bit Jim in 
invalidateDependencies
More tests for bound comprehensions -- found two stupid unrelated bugs!
Core of JFXC-710 : Compiler support for 'override attribute' to enable 
defaults on superclass attributes
Revamp defaults processing as required for 'override attributes'.
This required an overhaul of generated class creation, which is now based on 
sound theory --
   Proper processing of non-compound classes, and interactions between 
compound and non-compound classes.
   Simplified and rationalized processing of statics -- direct access -- no 
getters or proxies for statics.
   Static access bugs fixed.
   Modifiers annotation now include 'Static'.
Translation infrastructure for 'override attributes'.
Regression test added for this core functinality.
Also --
  Disable DEFER_TYPE_ASSIGNMENT (Per, is planning something better)
  Move broken test Bind02 to currently-failing (generics aren't supported in 
JavaFX)
  The output of dumpjava is now before prep-for-backend to allow debugging of 
dupllicate trees.
Also --
Fix JFXC-718 : Can't call addTriggers() from ctor

Parser support for 'override attributes' is needed to enable this 
functionality.  But I will be working on blocker bugs first.
This commit requires an 'ant clean'.
Adding mp3-demo
Small refactorings to fix warnings from FindBugs.
convert project to j2seproject type
JFXC-736 -- fix test runner so that it treates assertion failures in the 
compiler as compile failures.
Eliminate redundant updates  in BoundSingletonSequence
Fix JFXC-728 : AssertionError in Compiler when making StudioMoto
__FILE__ and __DIR__ were built without position information.
Unfortunately, this just gets us to the next issue, for which I have created: 
JFXC-738: StudioMoto getting -- error: illegal forward reference
Move jfxc151.fx back to test/regress
JFXC-739: added test for JavafxClassDeclaration positions.
More JFXC-736 -- fix test runner so that it treates assertion failures in the 
compiler as compile failures.
Add missing EXPECTED file
Attempt to add back demos target to build.xml so Hudson can try compiling 
demos
add some basic bind tests
forgot to run dos2unix on these
work around regression
Fix JFXC-741 : internal JFrame is not being set when it is supposed to be 
based on declaration in Frame.fx
This is the cause of the black screen and the wierd fix: remove the attribute 
from the object literal.
Problem was that methods from a class file are being added to the scope in 
the wrong order.
Since this is a blocker I have simply reversed the order.
comment back in code hacked for JXFC-329
Fix hack for JFXC-235
fix commented out bind
remove reference to JXFC-187
restore auto-splash now that Robert fixed the bug
Rolled back last change, as more work needs to be done to the demos target 
before it's ready for prime-time.  Also added weekly-build support, but it 
needs more testing before use.
Regression test for JFXC-741 : internal JFrame is not being set when it is 
supposed to be based on declaration in Frame.fx
Test confirming fix.
remove import to FXNodeListener Java class
Remove dead class
comment out invoke later
Change button transform back to original location, which is skewed right
fix NPE's on action1/2
Fix debug println's
Prepare for re-fix of JFXC-590 (runtime component) :  Disallow "var" and 
"let" declarations in  classes
Seems to have been lost in the branch/merge
Updated Bind02
Prepare for re-fix of JFXC-590 (test component) :  Disallow "var" and "let" 
declarations in  classes
Seems to have been lost in the branch/merge r1608.
Re-fix of JFXC-590 :  Disallow 'var' and 'let'  declarations in  classes
Seems to have been lost in the branch/merge r1608.
Also, add negative tests to assure they now fail.
Re-fixing this was a pre-req for the 'override attribute' work
Also, nit code clean-up
Small refactorings to fix warnings from FindBugs.
add InternalFrameListener with internalFrameClosing method implementation to 
InternalFrame class
create a partial fix for issue JFXC-658. It is difficylt to set something 
from UIContextImpl class to an FX UI element. What about setting listeners 
inside UI elements?
Small refactorings to fix warnings from FindBugs.
Added TODO-comments for temporary FindBugs-exclusions.
move internalFrameClosing function to existed InternalFrameAdapter
bound transforms for the Power and motorolla clips, fixed color function
fix color function
Moved Scenario.jar into repository, to facilitate scenegraph fixes.
Move transform for buttons to '410'
JFXC-745 -- non-failing should-fail tests don't abort the build
Updated scenario path references.
- Updated Scenario.jar to latest from scenegraph trunk (rev 153).
- Removed various hacks/workarounds from Node.fx:
    - now relying on SGNode cursor support
    - re-enabled SGRenderCache
    - removed SGClip override (Scenario now intersects the bounds properly)
Fix Integer divide always equaling zero
JFXC-745 -- eliminate more output mistakenly directed to System.out
Fix JFXC-710 : Compiler support for 'override attribute' to enable defaults 
on superclass attributes
This is the last piece:  add the syntax, hook it up, and add a test.
Syntax is:

             override attribute foo = 14;
             override attribute foo on replace {...}  // or full slice syntax 
for sequences
             override attribute foo = 99 on replace {...}

Note that the initial value only gets set once now, no matter if its origin 
is an object literal, an explicit default on an attribute, a default default 
on an attribute, or an override.  And in all these cases the value is set (or 
bind installed) in the order the attributes appear in the class, superclass 
to subclass.
added test for Hudson, fail build on test failures if not Hudson
removed empty files, now that test framework has improved
JFXC-504 -- bound integer ranges, bound sequence elements.
JFXC-504 -- Rename SequenceElementLocation to BoundSequenceElement for 
consistency.
JFXC-504 -- Dramatic space-efficiency improvement in BoundRangeSequence.
Check in shell of BoundSequenceSlice
Added parseString and parseReader methods
set element value to node.getTextContent()
Remove per-object attributes$ field - it was only used locally
to initialize$ anyway.
Also make some positions more specific.
An alternative mechanism to let functions and classes "see"
top-level vars, following expected lexical scoping.
Top-level variables are still considered "local" to the run method,
but we extend name looking to look into the run method's body.
If we need to do tha, we make the variable a static field.

This fixes JFXC-592 "When trying to access variables declared outside
the class, compiler reports symbol not found errors".
Use __DIR__ instead of work-arounds.
New test-case.
Fix JFXC-757 : NPE on non-constant override attribute default
w/ regression test.
Fix JFXC-755 : Restore overrides of attribute defaults, that were partially 
worked around during the transition from implicit to explicit overrideIn the 
init overhaul JFXC-647 overriding an attribute's default value by just 
redefining it in a subclass was disallowed. This was partially worked around 
by putting them in init blocks, but this smashed values from an object 
literal. Now explicit overrides are implemented, these have now been changed 
into explicit overrides.
Eliminate vestigial InitHelper
Misc code cleanup
resolve JFXC_795: the compiler now prints out error messages with more 
readable token names
work around hover and rect resize issues
fix overrides
Regression test on  JFXC-718 : NPE on plain class triggers aka Can't call 
addTriggers() from ctor
Confirmation of fix.
This is the last component of JFXC-647 : Initialization overhaul
So that is now resolved.
temporarily avoid regression
revert properties file
revert to use toolkit.createImage to avoid synchronous image loading and lack 
of h/w accelaration from portation of this code from the interpreter runtime
Disabled partial fix for JFXC-639 : replace and insert triggers cannot coexist
Created error messages that are displayed when old style sequence triggers 
are used.
But they are disabled because several tests still use them, the errors can be 
enabled by flicking the JavafxAttr.allowOldStyleTriggers flag.
JFXC_759: Per Robert's suggestion, handle null entries in the TokenMap
JFXC-369: parser support for interpolation syntax (no code generation yet).
Minor cleanup.
Fix bugus setting out "outer class" on a sequence type.
This one was a pain to track down ...
This fixes JFXC-714 "Compiling a FX app with a Recursive Function
throws a NullPointerException".
New test-case.
Fix home button animation
JFXC-761: deprecate old-style sequence triggers.  Get rid of usages in 
remaining test files; eliminate support from runtime; flip switch in compiler 
to disallow.

Needs negative regression test to verify that it fails.
Partial fix for JFXC-753 : Deferencing an expression with side-effects 
executes twice -- eg. Foo{}.show()
foo().y now handled
but  foo().bar()  not
That is, attribute selects work, but function selects still call foo() twice.
Allow applet modules to also be runnable from the command-line without 
throwing exceptions.
Futher work on JFXC-753 : Deferencing an expression with side-effects 
executes twice -- eg. Foo{}.show()
Arrange state dependencies for apply.
Fix JFXC-764 : Accept 'bound' keyword for functions
Keyword not yet hooked to anything. 'bound function' can now start to be used 
to mark bound functions, as a transitional step.
Bound-functions feature test updated as a demonstration.
Moved declaration of selection to before cells, so that selection would be 
properly initialized first, also fixed binding issue with textfield attribute
Fix JFXC-753 : Deferencing an expression with side-effects executes twice -- 
eg. Foo{}.show()
Fix JFXC-767 : Wrong receiver found for supertype implicit this call within 
inner class
Note that both of these may have been subtly or not so subtly impacting the 
runtime and demos.
There is an appearent mention of what is now called JFXC-767 in ComboBox:
      //TODO not sure this is right, the original would have been the JCombox 
'this'
Add update TODO in ComboBox.  Refer to JFXC-767 : Wrong receiver found for 
supertype implicit this call within inner class
Decided I better put it where people will find it.
experiments with value types based using the interpreter
add shell script
Some tweaks to name-lookup.
Change to how we figure out if a variable has INNER_ACCESS - we do it
at the same time as we do findVar.
This fixes JFXC-743 - "Compiler generating get$foo() calls instead of
local variable references".
JFXC-746: added support for tree end positions.
Small refactorings to fix warnings from FindBugs.
weekly build environment fix
removed Subversion tagging from weekly build target
removed Subversion tagging from weekly build target
change guitar attribute in GuitarString to theGuitar so it is not the same as 
the package name.
Added a note at the beginning of backported files.
Changed string comparison from 'equals' back to '==', as they are intern'ed.
Missing test support file.
Removing private project-properties from repository
Ignoring build- and private-folder
Workaround for compile-error in mp3-demo.
Removed dead code (leftover from original demo)
Implemented work around for JFXC-782.
JFXC-785 -- BoundSequenceBuilder.  To facilitate building of bound sequence 
literals.
JFXC-786: JavaFX Runtime filter package should be built upon Effects Framework

This is just the initial commit to get the ball rolling.  Will
need more testing.  Includes a bunch of changes to make
Node.fx use the FXNode class from Scenario, which greatly
simplifies management of the filter chain.  As an added bonus,
the FXNode class is optimized to collapse itself when
filter properties go unused, which should lead to significant
footprint savings for FX apps (and perhaps a little performance
win as well).
typo in output of sequence name
Add JFXOverrideAttribute to ForEachInClauseOwnerFixer.
This fixes JFXC-760.
Of course the "correct" fix is to get rid of ForEachInClauseOwnerFixer ...
Enable code commented out due to JFXC-760.
Don't implicitly cache filtered nodes: the filter isn't regenerated when the 
child node changes - not sure if this is a scenario bug or intended behavior
added hover back in
fix comment
remove debug statements
Added Glow filter for go buttons
added Glow
make default easing interpolations the same as the original interpreter 
versions
JFXC-369: visitor support for interpolation tree types.
add functionality  to execute fx file from String
add references to javac.jar and Scenario.jar libraries
repaint DesktopPane after InternalFrame removing
Port of casual-demo
remove frames from desktop pane after closing
Cleaned up file-structure
Change Glow animation to assign null at end of animation
added workarounds to make spectrum analyzer animation work; fixed sequencing 
of bottom panel animations; remove glow when animation is explictly stopped
adding workarounds to make the Home button show up - which was also broken 
due to local variable triggers
Partial JFXC-797; binary plus, minus, multiply, divide; unary minus; binary 
and, or; unary not
JFXC-797; add comparison, modulus
Minor pretty-printing fix.
Get rid of the ForEachInClauseOwnerFixer kludge.  (It was called in
JavafxToJava to munge the owner of a 'for' Symbol.)
Instead, set owner fields more usefully during attribution.
This is a better fix for JFXC-760.
Demonstration that the work-around for JFXC-788 works.
If a parameter or return type aren't specified, but there is a matching method
in a super-class, use the latter methods parameter/return type.
This is one possible solution for JFXC-439 and JFXC-664.
Partial JFXC-799 : bound translation framework (compiler)
Not hooked up yet.
Partial JFXC-799 : bound translation framework (compiler)
Binary & Unary Operators.
Not hooked up yet.
select an appropriate frame and tab after another frame 
closingAssortieProject.fx
cahnge selectedIndex after selection updating. JFXC-267 has been fixed but 
some problems still exist
Select frames after tab selection
Removed workaround for JFXC-644
add Empty sample
JFXC-802 -- bound sizeof operator
JFXC-797 (equal and not-equal operators for arbitrary objects) and JFXC-793 
(runtime support for bound if statements)
JFXC-793 (runtime support for bound if statements)
disable glow until layout issues are addressed; added major hack to work 
around indexof out of bounds exceptions from sequence implementation
fix typo
Partial JFXC-799 : bound translation framework (compiler)
Hook-up to bound local vars (but disabled for commit)
Verify (and correct) -- bind to:
  local var
  binary ops
  sequence var
  explicitly constructed sequence
  simple range
Porting of component ThemeManager.
Moving mp3-demo to sandbox.
Moved mp3-demo into sandbox and removed all skins. Further investigation 
about licenses is required.
When a top-leval var is changed to a static field, change the owner,
regardless of whether there is an initializer.
This fixes JFXC-804.
Fixed AccessControlException in loader, jnlp support for StudioMoto.
We don't need "outer access" to access a static field.
This fixes JFXC-803.
JNLP support for guitar demo.
JFXC_784: Implement bound integer range sequences with non-default step and 
exclusive bounds
Unit tests:JFXC_784 Implement bound integer range sequences with non-default 
step and exclusive bounds
Factor out some common code; break test up into multiple test methods; minor 
stylistic tweaking.
JNLP adjustment for javafxballs demo.
Milestone release target added.
Partial JFXC-799 : bound translation framework (compiler)
Implement -- bind to:
  if-expression
use MemoryClassLoader to load fx classes
Initialize  JavafxcTool and MemoryFileManager one time
add KeyTimerHandler
Porting of component ThemeManager (Part 2).
Porting of component resource.
Modified project-properties.
Porting of component IM.
show compiler diagnostic for frames
update Planetary System sample
Partial JFXC-799 : bound translation framework (compiler)
Implement -- bind to:
  complex ranges (step, exclusive)      [thanks Zhiqun for the runtime 
support]
Check in additional bound comprehension test case
Convert Java array to sequence.
This should fixes JFXC-555.
Remove old kludge in initialization; instead if a var/attribute
has inferred type that is an array type, infer sequence type instead.
New test-case.
Fixed the incorrect string localization where the explicit key and its 
translation is the same.
Partial JFXC-503 : Compiler support for bound comprehensions
Partial JFXC-503 : Compiler support for bound comprehensions
(file missing from last commit)
resolve JFXC-813: sequence should be updated as a result of changing the 
start or the step size of the sequence; the size of the sequence could remain 
the same
Fix initialization of ScrollBarPolicy
issue revalidate when contents change
A class that wrappers a JPanel, intended mainly for predfined JPanels from 
libraries
Change PanelWrapper to the more generic ComponentWidget
Fix override of attribute component
JFXC 808: Implement bound number range sequences
unit test: JFXC 808: Implement bound number range sequences
add key timeouts
add class sample
add HelloWorld sample
Show Widgets and Nodes in the Frame
add Contact Editor sample
Documentation on Sequnces in test form
clean up testing code and add comments
Fix JFXC-503 : Compiler support for bound comprehensions
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based architecture.
Implement support for bound for-loops, this is unrestricted general support 
(not limited to certain forms).
Does not, yet, include support for indexof, that is a separate issue.
Does not use the optimized forms of bound comprehensions.
Fix misc other issues.
Refactor the BoundComprehension runtime support to have specific typing and 
no longer use SimpleVariable, which is not, currently, general enough.
Porting of component UI (Part I)
Defined interface for javafx.lang.Sequences
Implemented Sequences.sort
Fix JFXC-836 : Binding Overhaul: compiler support for bound indexof
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Implement support for indexof within bound for-loops.
Also, add / fix-up class comments.
Initial port of NASA WorldWind Project
Fix StatusBar display
Fix JFXC-848 : BindingOverhaul: compiler support for bound literals
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Implement support for literals within bound expressions.
Fix JFXC-839 : Binding Overhaul: compiler support for bound var and 
block-expressions
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Implement support for bound block-expressions and the variable declarations 
within them.
Remove kludges and simplify current processing of selects (particularly 
static references).
Done in preparation for fixing JFXC-840 : Binding Overhaul: compiler support 
for bound select and identifier
Improved handling of empty-sequences.
Implemented binarySearch.
Improved unit-tests.
Porting of component UI (Part 2)
basic set of function tests
add test taken from lang ref section on sequences
A conversion from the interpreter version
Added tests for NullPointerExceptions.
Implemented support for setUp and tearDown in FXUnit.
Implemented Sequences.indexOf.
Migrated fxunit-test to use setUp.
Fixed the bug JFXC-861.  A regression for dealing with backslashes in a FX 
properties file.
update operator table; reformat
Fix JFXC-862 : Binding Overhaul: mark 'bound' modifier in 
JFXFunctionDefinition
Source ASTs for functions now marked as bound if 'bound' modifier is used.
Needed for fixes to fix symbol representation, which in turned need to stop 
generating bogus bound translations of functions.
Partial JFXC-840 : Binding Overhaul: compiler support for bound select and 
identifier
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Partially implement support for bound a and a.b

Also, continue to clean-up and clarify the non-bound cases.
reformatting for clarity
JFXC_756: Implement bound sequence slice support
Unit Test: JFXC_756: Implement bound sequence slice support
Further work on JFXC-840 : Binding Overhaul: compiler support for bound 
select and identifier
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Partially implement support for bound a and a.b

Also, continue to clean-up and clarify the non-bound cases.
Moved functions in SequencesHelper to Sequences.
Corrected test-class.
add substance LookAndFeel
fix JFXC-535 Using Nimbus lookAndFell throws NPE
fix some samples
show compiler diagnostic information
Implemented min, max, nextIndexOf, reverse for sequences.
Change modifiers in KeyEvent from KeyStroke to KeyModifier
Re-Fix JFXC-862 : Binding Overhaul: mark 'bound' modifier in 
JFXFunctionDefinition
Use JavafxFlags instead of separate flag.
Adding temporary hack to enable scenario3d to receive mouse events
JFXC-369: shortened interpolate tree name, fixed parsing of block 
interpolations, partial attribution support.
Set svn:executable and svn:eol-style properties for scripts
removed garbage files
Fix JFXC-840 : Binding Overhaul: compiler support for bound select and 
identifier
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.

Also, add regression tests for all Binding Overhaul funtionality currently 
implement.
This is possible due to a temporary hack which enables the overhaul for a 
specific test.

And misc fixes.
JFXC-369: support for simple interpolation attribution, fixed test (this 
attribution found the bug!)
Initial work on JFXC-837 : Binding Overhaul: compiler support for bound 
function call
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.

And clean-up of non-bound code in the process.
Remove unused methods findFun and resolveMethod.
Fix JFXC-882 : StudioMoto fails to build -- incompatible types NumberValue, 
KeyValue
Fix initialization ordering issues caused by rather dubious dependencies.
General mess cleaning.
With regression test.
add LookAndFeel ComboBox
JFXC-819: Remove the parsing of old-style triggers from the parser.
Update the old style trigger found in tests to the new style
Runtime changes for JFXC-819 : Remove the parsing of old-style triggers from 
the parser
Change usage of old-style 'on replace (old)' to 'on replace old'.
Runtime changes for JFXC-819 : Remove the parsing of old-style triggers from 
the parser
Change usage of old-style 'on replace (old)' to 'on replace old'.
... one more ...
More work on JFXC-837 : Binding Overhaul: compiler support for bound function 
call
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Unify bound and normal translators.
Unify bound and normal analysis of function call.

And misc clean-up.
JIRA-115: misleading error message from javafxc
JIRA-387: Compiler says boolean/int/double/java.lang.String when
          it means Boolean/Integer/Double/String
JIRA-611: Underlying generics implementation leaking through in error message
JIRA-614: Incorrect error position
JIRA-683: Use FX type name rather than Java type names in error messages

Partial: Teach javafxc how to display JavaFX type names.

All the above tests now produce more reasonable names for the types they use.
There are still types I haven't figured out yet (e.g., JIRA-268), but I'm
working on those.
basic set of function tests
Fix-up the Calculator demo --
  Remove old work-arounds.
  Redo the broken calculation logic.
  De-yuckify the composeNode construction.
  Generally polish-up.
Two bugs remain, seemingly not specific to this demo:
  The result display text area still has some horrible clipping problems.
  And as noted by Joshua the keystrokes are broken.
fix JFXC-883 EditorPane does not show initial text
Fix issue that ComboBox does not have a selection item after initialization
add ComboBox sample
Removed dead code
select code tab when selecting InternalFrame
A little sleepless hacking on JFXC-837 : Binding Overhaul: compiler support 
for bound function call
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Infrastructure for static dependencies on args in BindingExpression fields.
Use ClosureTranslator to build BindingExpression.
do not change list selection if list is empty
Added branches for null-arrays (JFXC-871).
update some samples
add Frame sample
Partial JFXC-837 : Binding Overhaul: compiler support for bound function call
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
No-arg bound method call case.
add basic test for expression from lang ref review
Partial JFXC-837 : Binding Overhaul: compiler support for bound function call
Note: this is disabled, like all the new bind work, pending the completion of 
the decomposition-based bind architecture.
Bound arguments for bound method call (fixed selector).
add test tags
testing utilities for checking and counting test cases
update func01 to use ..\TestUtils.fx and count test results
udpate output
update to use testutils test checking and counting
JFXC-369: animation attribution (on to code-generation).
JFXC-820: AST creation should reflect only new-style triggers; JFXVar keeps 
"OnChanges" only transitionally
update..but not sure why it's failing
test to track what may seem to be peculiarities of trigger firing
updated TestUtils.fx
change backslashes to forward slashes in compilefirst tag
update test
Partial JFXC-837 : Binding Overhaul: compiler support for bound function call
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
Dynamic bound selector and arguments for bound method call.
Adding regression test for JFXC-849.
Removed code, I added out of curiousity. :-)
Removed usage of UI-components.
add RadioButton and CheckBox samples
Partial JFXC-837 : Binding Overhaul: compiler support for bound function call
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
Fixed selector and changing arguments in bind of bound FX function call.
... one more form to go ...
Initial Radar demo
JFXC-810: fixed NPE in Frame
JFXC-860: renamed javafx.lang.Time to javafx.lang.Duration
JFXC-860: renamed javafx.lang.Time to javafx.lang.Duration
JXFC-889 Fix mouse listener registration
Fix JFXC-837 : Binding Overhaul: compiler support for bound function call
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
The last part was dynamic selector and arguments in bind of bound FX function 
call.
This was a doozy, requiring a restructuring of the ClosureTranslators and a 
wide-spread change to remove overzealous use of XxxVariable (where 
XxxLocation can be used).

I believe that bound function call support is the most complex piece of the 
overhaul, so hopefully it is downhill from here.
Remove only old frames and add only new frames. See also JFXC-894
Sequence stress test
Starting port for FXPad
JFXC-896: Added check for javafx.gui
JIRA 901: set docbook book namespace to

<book xmlns="http://docbook.org/ns/docbook" ;
xmlns:xi="http://www.w3.org/2001/XInclude">
JFXC-821: remove the code that processes the old style trigger; more to 
change when the old style trigger ASTs are remove (JIRA_822) in the next step
Update to compile script and display in top window
JFXC-907: JFX-ized JavafxTrees.getElement(), .getPath().
added support for listing the implemented interfaces
JFXC-822: Remove JFXOnReplace from inheriting from JFXAbstractOnChange so 
that AST classes for the old style trigger can be removed in the next step
Modified to ignore the BOM at the beginning of an FX properties file, which 
caused an unnecessary warning.
more porting
Fix JFXC-838 : Binding Overhaul: compiler support for bound string expressions
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
A little prep work for JFXC-910 : Binding Overhaul: object literals
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
Prepare the *ClosureTranslators for the work ahead.
add JavaFXAssortis demo
remove JavaFXAssortie project from sanbox
Basic test case for block expression
Implemented support for commandline parameters (JFXC-875).
Extended test-framework to support tests with commandLine-parameters.
Implemented support for commandline parameters (JFXC-875).
Extended test-framework to support tests with commandLine-parameters.

... and oversaw one file. :-)
Fix JFXC-916 : javafx$run$ created only once with Sequence- or 
SequenceLocation-parameter
Special-casing of parameters refined.
Work-arounds backed out.

Contextually fixed JFXC-905 : Binding Overhaul: switch bound attributes to 
use overhaul
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
Attributes now work with the Binding Overhaul enabled, but not yet enabled by 
default.
JFXC-907: cleaned up regression test.
port debugging
Partial JFXC-910 : Binding Overhaul: object literals
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
Create InstanciateTransformer.
Tests for error-messages added.
added compiler error messages to bottom window
add basic Strings tests
allow setting caret color
Partical JFXC-822: remove the AST classes for the old style 
trigger(JFXAbstractOnChange, JFXOnInsertElement, JFXOnReplaceElement, 
JFXOnDeleteElement, JFXOnDeleteAll)
added line numbers
Mostly fix JFXC-910 : Binding Overhaul: object literals
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
I think the compiler part is all there.  There are update issues though.
JFXC-822: remove tree interfaces for old style trigger ASTs
Changed test-flag for the check of error messages to @test/compile-error.
Convert String[] arguments to Sequence to invoke run method according to last 
changes in compiler
Updated syntax and moved TomsTestInit to regression-tests.
Added indexByIdentity and nextIndexByIdentity (JFXC-890).
Some more porting...
add for fxpad
Some more porting...
add for fxpad
fixed inappropriate test name
Added line numbers
outline open issues
updated keyword and operator tables; fixed layout


added browse function, and implemented addChoosableFileFilter
move the setSelectedIndex into an invokeLater to avoid index out of bounds 
error while adding new cells
JFXC-917: fixed end positions for trees which have synthetic token 
terminators.
More porting
Fix JFXC-904 : Binding Overhaul: compiler support for remaining AST nodes
[Note: this is disabled, like all the new bind work, pending the completion 
of the decomposition-based bind architecture]
bound type cast ('as'), bound type test ('instanceof'), and bound [] and null 
literals.
Partial work-around to JFXC-925 : Incorrect type attribution  [] and null
Attribute null in conditionals.

A start on JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Misc fixes.
Long overdue rationalization of names 'operation' to 'function' in AST tree, 
visitors, public API, etc. Also, remove 'do later'.
Remove do later from API.  Remove other cruft.
Clean-up changes as carried down into migrator.
partially addressed bugs reporting format problems; fixed Operator and Key 
Word tables.
Remove defunct memberSelector from both AST and API.
Remove cruft tags.
Fix (runtime part) JFXC-877 : Disable lazy binding
Remove uuse of lazy bind from five runtime classes.
All tests still pass.  All demos come up and appear to work.
Fix JFXC-877 : Disable lazy binding
Remove lazy bind from grammar, thus language.
Remove testing of lazy bind.
All tests pass.
All demos come up and appear to work. But doing this required fixing a 
compile error in Tesla caused by 'on replace' changes.
BTW.  Assortie is a very cool learning tool
javafxdoc part of: Long overdue rationalization of names 'operation' to 
'function' in AST tree, visitors, public API, etc.





format fixes



JIRA-549: Confusing error message when Java symbol is a FX keyword
JIRA-611: Underlying generics implementation leaking through in error message

Added a way to tell what kind of a token a token is.
Added method and function types to the java->javafx type translator.
JFXC-929 More internationalization support in string literal formatting
Added com.sun.javafx.runtime.util.FXFormatter with support of %tx, %tX, %tg, 
%tG, %tu, %tU, %tV, %tw, %tW, %tEc, %tEC, %tEx, %tEX, and %tEy.
JFXC-929 More internationalization support in string literal formatting
Added com.sun.javafx.runtime.util.FXFormatter with support of %tx, %tX, %tg, 
%tG, %tu, %tU, %tV, %tw, %tW, %tEc, %tEC, %tEx, %tEX, and %tEy.

add basic strings tests
For the class-reader re-write, we need to registerServices
as part of prepareCompiler.
The front-end should be using javafx.lang.Duration, not
javafx.lang.Duration$Intf.
This is needed for the class-reader re-write.
Fix JFXC-927 : action function not being executed in ColorChooserDialog
Updated to Scenario-0.6
better weekly build message
New class file reader.  Instead of reading class files and then munging
the signatures on-the-fly, this one doesn't read any class files directly.
Instead it delegates to the javac ClassReader (the same one used by
the post-JavafxToJava-backend), and then maps javac Types and Symbol
to their JavaFX equivalents.  This should hopefully make classfile-reading
more robust, more efficient (since we only read each class file once),
and potentially allows compiler simplification (since the difference
between a class from the parser and the classfile-reader can be reduced).
Add comments to suggest changes needed for bind re-write. I.e. for JFXC-863.
Fix a few places where we didn't correct map Foo$Intf to Foo.
This seems to fix JFXC-559.
Some more porting...
Fixed JFXC-933.
JFXC-823: rename SequenceReplaceListener to SequenceChangeListener
JFXC-823: rename SequenceReplaceListener to SequenceChangeListener
comment out readonly, since it does nothing
Added test for JFXC-560 (currently-failing).
svn-ignore of build- and dist-folders.
Added tests for JFXC-707 and JFXC-906.
JFXC-928; cache size field for {Replacement,Reverse,Upcast}Sequence.
Refactor XxxBoundComprehension to avoid duplicated code
Cleanup in XxxVariable classes.
Covariance support in BoundSequenceBuilder; add upcast() to BoundSequences.  
Required for binding overhaul.
Better means of calculating default value.
Partial JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Handle explicit sequences containing subclass instances.
Adjust type args in singleton sequence creation.
Handle "this" identifier.
More efficient implementation
test for uncovered and keywords
More work on JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Prepare for type-specific argument handling.
Unify field Location building in ClosureTranslators.
Simply runtime-call support by using the back-end to infer type parameters.
Partial JFXC-945; force bound expressions to the default value for the type 
if a runtime exception is thrown when updating.
Remove generic argument <T> from Class<T>, because that doesn't
work when T is itself a generic type - such as a function type.
The problem is that T.class has type Class<erasure-of-T>,
which causes problems in the back-end with type matching.

(We should fix the other sequence-related classes, too - these are
just the ones I need for the test-suite to pass with my next check-in.)
Also in findVar (not juts findMethod) check a found method/function
against an expected application.
This fixes JFXC-854.
Factor the idiom that creates 'ElementType.class' to a separate
function makeElementClassObject.
Better handling of expected types for conditionals and sequence constructors.
For [ex1, ex2, ex2] the type is the "union type" of ex1, ex2, ex3, using the
same locfic as the union of ex1 and ex2 in 'if (cond) ex1 else ex2'.
Some preliminary changes in how function application is handled.

These changes needed converting "source type" to "required type" in
more places in JavafxToJava.  The conversion support has been moved
out from translate(JCExpression,Type) to a new 'convertTranslated'
method.  That method handles things like array-to-sequence and vice
versa, as before, and now also handles object-to-singleton.

These changes lead to changes in how empty sequences were handled,
which led to test-suite changes.  SO I noticed that some sequence
functions and related test suites incorrectly/needlessly
distinguishing null from empty sequences.  Hence the changes to
Sequences.java and related test-cases.  Ideally, these should
have been a separate check-in, but I'm tired ...
Pull up binding methods into AbstractVariable, eliminating duplicate code 
scattered across XxxVariable classes.
Test case for JFXC-957
Add test for sequence of functions.
This addresses JFXC-255 and maybe others.
JFXC-895 -- have a more specific exception type for trying to mutate a 
unidirctionally bound variable.
Fixed weekly-build so /latest directory is updated.
Partial fix for JFXC-885; trigger not firing when bound attribute evaluates 
to default value.  Doesn't fully work for sequence attributes yet.
Add missing call to compile MethodSymbol.
This seems to fix JFXC-946.
Partial fix for JFXC-885; update test case.
Homing in on JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Type targetted bound translation.
Runtime now compiles with Binding Overhaul enabled.
But some tests fail, so still disabled.

Also, fix a pre-existing failure in an expressions test.  Caused by a more 
specific exception being introduced in the runtime.
Also, reformated, so I could read the test.
Enforced isolation between public tool API and private classes, needed for 
plug-in classloading.
Defer translating (from back-end type to front-end type) the enclosing type
until it is actually requested.
This fixes JFXC-944.
Also, skip translating private members.
More type handling on JFXC-866 : Binding Overhaul: switch bind expressions to 
overhaul
Handle bizzare types from synthetic FX library classes (generics, Locations 
without type params, etc).
Set type targets uniformly.
Change tests which used statements in bind.
Add support for bound Number to Integer conversion.
Now only three tests fail (so still disabled)
Removed error-output on screen for tests in the category currently-failing 
(JFXC-956).
Preparation for binding overhaul (JFXC-866).
bug fixes: ensure h/w accelerated images; NPE in text; compile error in filter
JFXC-143:  put isolation classloader into ToolProvider.getJavafxCompiler(); 
overwrote TreeMaker.TopLevel() to avoid assertion that failed for javafxc 
trees.
Removed internal class reference from public scripting engine.
fixing typo bugs
And on and on JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Handle upcasts of ObjectLocations.
Handle class selects of Java classes.

Add conversion from ObjectLocation<Integer> to IntLocation for Robert.
Allow protected  access for TYPE.member if TYPE is sub-class of current class.
We do that by setting the 'selectSuper" flag.
This fixes JFXC-938 "Protected isn't allowing protected access.
Can't call protected superclass method when parent in another package".
New regression test.
New test.
Rollback changes that broke tests run on Solaris.
More support for binding overhaul: hacked-up fix to BoundXxxSelectExpression 
classes to support bidirectional binding.  Not the perfect solution, but 
works for now.
And on and on and on JFXC-866 : Binding Overhaul: switch bind expressions to 
overhaul
Open ended bound slices.
Exclusive bound slices.
Bound conversion of ObjectLocation<j.l.Integer> to IntLocation 
(compiler-side)
Improve IndirectLocationTest
Allow 'seq instanceof T' when seq has sequence type, and T isn't.
We convert it to 'Sequences.getSingleValue(seq) instanceof T'.
JFXC-752: merged in platform support option.
Better "unionType" handling: If one of the input types is a sequence,
take the union of the element types, and return a sequence of the result.

Rename unionType parameters to be less misleading, since unionType
is no longer used only for conditionals.

Fix think-o in JavafxAttr's visitLiteral.

When translating conditonals, convert then- and else- braches to result type.

Make jfxc957.fx mo longer fail.

This fixes JFXC-957 and partially fixes JFXC-925.
New tests.
fixing up RemoteImage
Added FX.eval() convenience method.
Fix JFXC-505 : Binding Overhaul: bound ranges (including step and exclusive) 
and bound slices (including open-ended and exclusive)
Both runtime support and Binding Overhaul compiler components.
w/ Regression test.

Continuing JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Unify element class creation with JavafxToJava.
Work-around JFXC-966 in Bind01.fx (also fix line-ends and improve diagnostics)
Initial work on JFXC-501 : Bound Sequences (object identity)
Handling of function values in bind.
Communication of locally bound variables to JavafxToJava.
Marching on JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Runtime conversion classes for ObjectLocation<Double> to DoubleLocation 
 and ObjectLocation<Boolean> to BooleanLocation.
Sequence element access to Integer, Number, Boolean.

All tests now compile!
Four tests still fail.
Remove dependency on JavafxToJava in JavafxModuleBuilder.
In JavafxCheck and JavafxClassReader use new array variableClassName
in JavafxDefs, instead of variableNCT in JavafxTypeMorpher.  This
allows us to remove the dependency in JavafxCheck and
JavafxClassReader of JavafxTypeMorpher.  And that avoids a messy
circularity when initializing javafcdoc (to follow).
Update javafxdoc to use new classfile-reader.
Specifically, javafxdoc now uses a plain JavafxClassReader which then
*delegates* to a JavafxdocClassReader.  I'm not sure how robust this is,
but it seems to work.  It should fix JFXC-943.
JFXC-964: temporary workaround for javac assertions always being enabled in 
NetBeans.
fixes for using inline tags
More porting
Temporary hacks to avoid massive memory buildup
Tweaks to r2275 changes
JFXC-967: Animation engine based on Scenario needs to be integrated into 
compiler

Includes updated Scenario.jar (rev 207) to pick up recent API change
to TimingTarget.timingEvent().
One more down... JFXC-866 : Binding Overhaul: switch bind expressions to 
overhaul
Handle index out of bounds on bound sequence index, and more generally null 
on ObjectLocation<Xxx> to XxxLocation.

Three tests still fail.
If an inner class accesses 'x.y', it's only an "outer access" if x is
an outer access; it's irrelevant if y is non-local.
This fixes JFXC-748.
Closer and closer... JFXC-866 : Binding Overhaul: switch bind expressions to 
overhaul
Fix runtime handling of updates to the step of bound ranges.
Then fix test which was expecting wrong value (for the above).
Fix the expected value of another test which was expecting a wrong result for 
a bound comprehension.
But since this is a compiled test and since the Binding Overhaul is still 
disabled it would fail.  So, enable the Binding Overhaul for this test.

Two tests remaining that fail.
Fix chcecking for reference to non-static from static.
This fixes JFXC-903.
Back out changes from r2236
Add back test case for jfxc885 (currently failing)
JFXC-974: updated applet invocation support.
fixes for formatting the {code} in method summaries
fixes for formatting the {code} in attribute summaries
update keyword list
Added Line Annotation, fixed SourceEditor focus issue
JFXC-410: first-half of parser support for keyframe literals.
Preparation for binding overhaul (JFXC-866).
added includes for .script file
Update to load BootScript.script at startup
Partial JFXC-978 : Binding Overhaul: make it work with FXPad
Do type upcasting on the branches of an if-expression.
Deal with the nested generic signatures of function values when they occur in 
a attribute selection expression.
The reported error is yet to be addressed.
These errors are seen in other source files.
File missing from this commit --
Partial JFXC-978 : Binding Overhaul: make it work with FXPad
Do type upcasting on the branches of an if-expression.
Deal with the nested generic signatures of function values when they occur in 
a attribute selection expression.
The reported error is yet to be addressed.
These errors are seen in other source files.
JFXC-866 : Binding Overhaul: switch bind expressions to overhaul
Thanks to an only slightly modified patch from Brian, fix the test failure in 
F21.
The one remainig failure, in F15, should go away as soon as the bound 
function part is done.  So that isn't a blocker.
Now the blocker is JFXC-978 : make it work with FXPad
fixes for formatting the {code} in attribute full description
fixed missing comments on return values
Required for JFXC-978 : Binding Overhaul: make it work with FXPad
Make expressions within a bind consistent with requirements for bind 
expressions: no statements (other than var declarations) and no assignment.
The first was easy to fix, however, because of the work-around (see email) 
bind needed to be disabled for now on the err annotations.
Sorry about that.
removed return comment if return type is void
import com.sun.tools.javafx.api.JavafxcTool
JFXC-981 partial fix for @param tags
create jpanel on attribute initialization
Fix JFXC-989 : Binding Overhaul: allow assignment
Needed for FXPad under BO.
Assignment needed for member access in object literal work-around.
Better solutions should be developed.

Partial JFXC-990 : Binding Overhaul: handle non-FX primitive types in var 
declarations
Needed for FXPad under BO.
This part: conversion of, for example, long to java.lang.Long
Preparation for binding overhaul (JFXC-866).
Title change: Add 'draft' for license requirements
Work-around blocker for Reprise team JFXC-979 : Regression: Inability to bind 
attribute with a value too restrictive
Disable the exception.
Cancel the valid state so that the bind is used.
Comment-out test that expect the exception.
Add a regression test.
JFXC-940: Make the generated scope of a local variable  be the entire block 
in which it is defined. Note: final non locations have a scope starting from 
the point where they are declared
JFXC-940: Make the generated scope of a local variable  be the entire block 
in which it is defined.
Fix regression test for ---
Work-around blocker for Reprise team JFXC-979 : Regression: Inability to bind 
attribute with a value too restrictive
Disable the exception.
Cancel the valid state so that the bind is used.
Comment-out test that expect the exception.
Add a regression test.
JFXC-928: Performance bug in the compiler runtime, specifically 
ReplacementSequence

Added Sequence.shouldFlatten(), and default implementation in 
AbstractSequence.
Used it from SequenceMutator.replaceSlice(.... T newValue).

Also, a small performance tweak to AbstractSequence.flatten(): start with a 
SequenceBuilder of the right size, and use the 
SequenceBuilder.add(Sequence<T>) method instead of adding one element 
at a time.
Fix JFXC-990 : Binding Overhaul: handle non-FX primitive types in var 
declarations
Convert long to java.lang.Long instead of int / IntLocation

Back-out work-around to BO compilation problems in FXPad.
Specifically, un-comment-out the bind now that assignment is allowed in bind 
and long is handled.
Fix JFXC-993 : Binding Overhaul: handle for-expression iterations vars 
crossing into bound code
Needed for StudioMoto with BO.
Handle a for-expression induction var passing into bound code.
Also, handle an indexof referencing a for-expression outside of the bind.
Prepend statement code treats the object literal block to be a statement 
context
Partial JFXC-992 : Binding Overhaul: StudioMoto
Fix handling of "this".
repair breakage to Pointer trick so we can move forward and test the 
animation runtime
Partial JFXC-992 : Binding Overhaul: StudioMoto
Access to vars within object literal.
Made JavafxcTaskImpl public for private plug-in access.
Last preparation for binding overhaul (JFXC-866).

JFXC-1002: Modify startup scripts to pick up Reprise.jar if found.


JXFC-578: AST support for keyframe literal syntax.
JXFC-578: AST support for keyframe literal syntax (take 2).

Fixed JFXC-980.
implemented inheritDoc and refactored the xslt slightly


Excluded package javafx.animation from findbugs.
Changed Iterator-implementations to throw NoSuchElementExceptions.
Copy EXPECTED-file to build-folder.
jfxc-727: added test case
Functional test cases for sequence operators

added for future option for DropD tuning
Matched HorizontalGlue's access to VerticalGlue's.

JFXC-578: added parser support for keyframe trigger clauses.
JFXC-578: added test for keyframe trigger clauses.
Fix JFXC-988 : Binding Overhaul: FXPad
Fix all FXPad BO issues except the verification error (seen also in 
StudioMoto).
Specifically,
Handling of long in both the app and the compiler.
Handling of instance select of Java field
Type conversion of attribution select.
Fixed script/JavaFXScriptEngineImpl.invokeMethod (JFXC-1009).
JFXC-691 test added.
Correct kind for FunctionValue tree.
JXFC-991  Change class to public
Tweak Interpolation framework to use abstract class SimpleInterpolator
that extends Interpolator, rather than interpolation functions.
Fixed JFXC-905 : Binding Overhaul: switch bound attributes and object 
literals to use overhaul
Fixed JFXC-866 : Binding Overhaul: switch bound local variables to use 
overhaul
Fixed JFXC-988 : Binding Overhaul: FXPad
Fixed JFXC-992 : Binding Overhaul: StudioMoto
Fixed JFXC-1008 : Binding Overhaul: verification error

This commit fixes the verification error, which was the last remaining issue 
for the binding overhaul working with both JavaFXPad and StudioMoto, which, 
in turn, were the last remaining issues before flicking the switch and 
enabling the binding overhaul for bound expressions.

The Binding Overhaul is now enabled for bound expressions in local variable 
initializers, attribute default initializers, and object literal attribute 
initializers.

Enabling the Binding Overhaul for bound functions is not yet addressed and is 
covered by other issues.

Fixed JFXC-978 : Binding Overhaul: NPE in back-end attribution
The NPE work-around approach is now fully functional, so, until such time as 
we are addressing optimizations (and this would be low amongst those) the 
work-around will be the solution.

The F15 feature test is seeing excess updates, these should be addressed when 
bound functions are moved to the Binding Overhaul and by other update fixes.  
For now, the expected result includes the excess updates.
JFXC-1002: Look for Reprise jars in lib.
JFXC-119: Support local triggers
Unit test (JFXC-119): Support local triggers
TM and style changes
Prep for JFXC-784 : Binding Overhaul: 'bound' functions use overhaul
Revise some bound functions into proper form:  { var, ..., var, expression }
Remove 'bound' from one function with 'while' loop
small updates to text and tags

Fixed JFXC-864 : Binding Overhaul: functions marked 'bound' use overhaul
Functions explicitly marked as 'bound' now use the Binding Overhaul to 
compile their bodies.
As a transitional step, bound version of all FX functions are still generated 
using the re-execute-it-all approach (unless they are marked as 'bound').

Bound block-expression vars marked as bound (for access in non-bound 
contexts).
Bound selected FX calls type converted to expected Location type.
Refine and prepare var usage analysis.
Work-around float conversion which will be moot once Binding Overhaul is 
complete.

This also required...
Partial JFXC-1014 : Non-int,double,boolean Java primitive Locations should be 
represented as ObjectLocation<Wrapper>
float types now represented as ObjectLocation<Float> (instead of 
DoubleLocation).
JFXC-974: javadoc comment from last class member was being skipped
JFXC-973: cleaned up @inheritdoc tag support
JFXC79: Compiler rejects generic type declarations
Add regression tests for JFXC79: Compiler rejects generic type declarations
Added test for JFXC-638.

- Set java.library.path to pick up native libs (such as Decora), if present
in the lib directory.
JFXC-847: fixed doc-comment.
Remove bindStatus field from JFXObjectLiteralPart.  Instead, if the part
is a "bind epression", use a JFXBindExpression.
(This will help for the animation syntax, as well as
generally allowing bind in other contexts.)
Syntactic sugar for animation:
  VAR => [bind] END_VALUE [tween [bind] INTERPOLATOR]
as syntactic sugar for
  javafx.animation.KeyValue { target: VAR_POINTER; value: [bind] END_VALUE;
      [ interpolate: [bind] INTERPOLATOR] }
No need to use PointerFactory any more (when using javafx.animation).
Reverted bound function, which are only called from Java.

Added jmc to classpath.
Removed ™ from docs, because it causes the build to fail. I do not 
understand why it fails, because it is also used in JavaFX-Language.xml and 
works there.
Removed scenegraph references from compiler scripts, as they aren't needed by 
the compiler and should be on the application's build classpath if it 
directly references the scenegraph library.
Replaced trademark reference.
Fixed trademark tags as Per suggested, turned on draft watermark.
Update DebuggerLoader to pass the additional String[] parameter to 
Entry.start()
triggers with init block; test I had forgotten to put back
JXFC-977 work around for Scenario Swing Component embedding
Coded but disabled JFXC-865 : Binding Overhaul: only generate bound functions 
when 'bound'
Coded but disabled JFXC-863 : Binding Overhaul: JavafxMethodSymbol needs 
isBound

Single function implementation and clean bound function semantics (see status 
email).

Also...
     Fixed JFXC-638 : Unable to change the value of a sequence element inside 
a function
     which is fixed as a side-effect of some generics work needed in the 
above.

Disabled because of HBox (and possibly other) update issues.
Primarily disabled by virtue of the switch 
JavafxDefs.useCorrectBoundFunctionSemantics
however, the PointerFactory classes have hard-coded changes -- see comments 
therein.
Runtime part of JFXC-865 : Binding Overhaul: only generate bound functions 
when 'bound'

mark (and unmark) functions as 'bound'.  Convert to correct bound function 
format.
Fixed typo from previous commit to Node.fx.
JFXC-657: Be able to compile an empty fx file
Better error messages for when type inferencing fails due to a cycle.
Add missing period at end of error message.
Removed typo @ sign in javafxc.bat
Reverted inadvertent changes to NB project files. Sorry!
Override QualIdent so a top-level package doesn't get "qualified"
by the unnamed/root package.  This is a kludge - not sure quite what
is going on or how it should be fixed.
Implemented pretty printer for ForExpressionInClauseTree (was causing IDE 
warnings).
JFXC-939: added fork and VM memory options to javafxc Ant task, updated 
runtime build to use them.
Fixed JFXC959: compiler mismatched character message when file ends with 
comment and no newline
unit tests for JFXC959 and fix unit test for JFXC657
Scenario back into the classpath for compiles.
Add jmc to compiler scripts.
Windows build was failing due to hard-code of ":" for path separator. Changed 
to File.separator and all is good again.
Added Sequences.compareByContentIdentity (JFXC-1036).
Changed Sequences.isEqual() to use Iterators.
JFXC-740: updated regression test.
JFXC-731: updated README about "unresolved library" warnings before first 
build, removed ANT_OPTS instructions.
JFXC-699: fixed syntax diagram generation
Use boxed type if needed in upcast's type argument.
This fixes a type incompatibility bug with the animation syntax.
JFXC-1018: update javafxdoc build to include language runtime packages
Fix for JFXC-825 and partial fix for JFXC-1033; don't creating bindings as 
initially lazy.  This required turning the BoundXxx{Select,If}Expression 
classes into factories, to avoid order-of-initialization problems between 
subclass ctor and superclass ctor.  Thanks to Robert for doing the 
JavaFXBound work in perfect tag-team timing.
'bind' is implicit in the 'end' and 'interpolator' expressions
in 'var => end [ tween interpolator]'.
Also, tweak parsing precedence to allow not just primary expressions.
More file removals related to previous checkin.
Fixed JFXC-784 : Binding Overhaul
Fixed JFXC-865 : Binding Overhaul: only generate bound function version when 
'bound'
Fixed JFXC-863 : Binding Overhaul: JavafxMethodSymbol has isBound()
Fixed JFXC-501 : Binding Overhaul: Bound sequence updates
Fixed JFXC-691 : Problem with function local variables when bound

Correct semantics of function binding now enabled.
Removing the bogus re-execute the whole function semantics is the last piece 
needed to complete the Binding Overhaul.
Flicking the switch is possible thanks to Brian's fixes to the update 
semantics in the compiler runtime.

javafx.ui version of JavaFXPad now works with this enabled.
As Chris has reported Reprise demos work with it enabled.
javafx.ui version of StudioMoto comes up, though the bottom panel is missing 
its components.

Given that Reprise and JavaFXPad work, the weight is on the side of flicking 
the switch.

Regression test added for 501.
691 now working so moved out of currently-failing.
Fixed JFXC-910 : Binding Overhaul: Object literals

Actually this was fixed in #1412, #1421, and #1427 -- however it could not be 
verified because of extensive update issues.
It now works, however there is a single-case of excess update, JFXC-1033, 
thus the regression test is in currently-failing
Fixed JFXC-610 : excess bind updates on bind to function returning new

Fixed by Binding Overhaul.  Regression test added.

Also regression test for JFXC-501 was missing from r2401
Fixed JFXC-884 : Cannot find constructor for SimpleBoundComprehension from 
"for" sequence

Fixed by Binding Overhaul, verified with regression test.
Fixed JFXC-412 : Functional binding does not work as expected
Fixed JFXC-921 : bind for (... ) [ ] construction is not compiled

Fixed by Binding Overhaul, verified with regression tests.
Clean-up related the JFXC-865
Preliminary work on JFXC-108 : Triggers fire incorrectly on bound sequence 
values
Remove unneeded upcast caused by wildcards not comparing equal.
And other clean-up.
Fixed toString() for units that have functions.
Fixed JFXC-878 :  Cannot handle DoubleVar or IntVar in ranges or Java methods.

Fixed by Binding Overhaul.
Verified by regression test.
Add "id" attributes to chapters and sections.
These are used for html files names in "chunk" mode.
Remove namespace declaration for DocBook namespace.
Also, the <info> element requires DocBook5.0.
DocBook 4.x and the stylesheets we uses assume non-namespaced XML,
and we get some problems when using namespaces.
(We might consider switching to DocBook 5.0 and newer stylesheets.)
Switch to "chunked" html output - i.e. each level-1 section gets
written to a separate html file.
fixed spaces in implements line
Fix embarrassing thinko.
This fixes JFXC-1019 "Compiler crash with cyclic multiple inheritance".
fixed escaping of text sequences
fixed {link} doc elements
fixed missing periods in the implements line
Complete JavafxClassSymbol (if needed) before checking
COMPOUND_CLASS or FX_CLASS flags.
Use isCompoundClass method in makeTypeTree.
This means that the hybrid type in generifyIfNeeded needs to be a
JavafxClassSymbol, since that is what isCompoundClass checks.
Check for type inference cycle in visitSym as well.
This fixes JFXC-1022 "NPE in attribution -- type capture".
Fix missing resources causing --

TestNode.fx:10: compiler message file broken: 
key=compiler.err.javafx.non.bound.
override.meth arguments=create() in TestNode cannot override create() in 
javafx.
gui.CustomNode, {1}, {2}, {3}, {4}, {5}, {6}, {7}
Fixed  JFXC-1048 : Uninitialized variable in object literal in bound context
If this.type is an error, make sure super-types are also ErrorType.
This fixes JFXC-995 "StackOverflowError with multiple inheritance".
Fixed doc-comment formatting.
factor out java 1.6 specific code to avoid linkage errors on java 1.5
allow attempt to assign bound value the same value it currently has without 
exception
remove java 1.6 dependency
allow attempt to assign bound value the same value it currently has without 
exception - for Booleans as Sequences as well
More clean-up related the JFXC-865
Fixing NPE in Symbol.isStatic() when mismatched method is found in static 
context
Fix JFXC-651 : Compiler Assertion in bind translation

Fixed by Binding Overhaul and this fix to var usage analysis
Regression test for JFXC-651 : Compiler Assertion in bind translation
avoid non-working type inference
Don't create "sequence of unknown" as type of [].
This fixes JFXC-985.
fixing test
Fixed  JFXC-826 : Pointer.set(Object) fails at runtime
Allow set on upcast objects.
Pass class of incoming type to upcast.
Regression test from bug report.
(my last critical issue - yippee!)
catch security exceptions to enable applet deployment
Fixed demo build.
fixed demo build
build demos from all target
Fixed  JFXC-826 : JFXC-1052 : NPE in bound type conversion to Object
The issue that Chris Campbell reported this evening
Fixed JFXC-107 : binding to function arguments

Fixed by Binding Overhaul.  Verified by regression test.

Since this issue was filed before there were  'bound function's -- and it is 
probable that that was the intended usage, the regression test covers both.
Fixed JFXC-1043: Last tick in Timeline is not performed
Fixed JFXC-1044: KeyFrame.action functions are not invoked in proper time
Fixed:  JFXC1037 Usage of '!' instead of 'not' does not give compilation 
error. This fix also overrides the default lexer error reporting method in 
Antlr to provide more user friendly error messages
unit test: JFXC1037
Fixed JFXC-1053: Sometimes KeyFrame.action not invoked for subtimelines
Added JavaFX-wrapper to Sequences.isEqualByIdentity (JFXC-1036).
Fix jar file
Fixed JFXC-1054 : Compiler failure upcasting function type in bound context
Problem based in the limitations of generics, fixed by brut-force.
move from sandbox
Re-apply fix for JFXC-885 (trigger not firing) now that binding overhaul has 
been applied.
Modified the test framework to run in language independent locale, as some 
test cases rely on English .EXPECTED file.  Those were failing in non-English 
locale.
added package and class overview pages
fix bind on ruler, now runs really slow

Complete JFXC-885; fire trigger for default value on sequence-valued 
attributes.

Tests queries01 and inittrigger2 are failing, but I suspect that is because 
the tests were testing old behavior; passing to Steve for verification.

Misc cleanups in sequence code, notably unrolling ill-conceived 
SequenceHelper class.
Fixed JFXC-1055 : Function calls with primitive receivers in bound contexts 
revert to non-bound behavior
Handle bound mutable primitive selectors.
Fix JFXC-108; correctly propagate sequence triggers for bound sequences.
Fixed Ant task so it handles directories with spaces in them.
JavaFXPad--
Undo work-around to JFXC-1055:  revert to using Integer tic indicies.
Slightly improve performance: remove unneeded binds.
fixed rulers at 10000 max pending investigation of performance problem
moved to demo area
Back out part of fix for JFXC-885, because of demo breakage.  Suspect that 
somewhere in the runtime, a sequence change trigger is surprised to be called 
with a null value.
Optimization: more aggressively flatten sequences; based on Chris' 
observation that CompositeSequence.get() is on the profile for JavaFXBalls.  
No longer is.
In visitIdent, handle method->function "wrapping" after we do name-munging.
Specifically, this munges 'foo()' to 'receiver$.foo()' when needed.
This fixes JFXC-1056 "Problem with first class functions".
Sync up with Netbean: move the static  methods in BraceQuoteTracker to their 
corresponding instance methods in Lexer.java so that the compiler can be 
accessed by multiple threads.
getCanvas() should not be a bound function
move fps label to front
fix properties flie

fixed npe when processing Java interfaces
JFXC-1058; fix multiple-trigger introduced in fix to JFXC-108.
handle non-Interpolatable types as discrete transitions; needed for tumbling 
duke example
Fixed: JFXC-572 Parser going to infinite loop for incorrect code. This fix 
forces Antlr to recover after a failure to predicate a synthetic token
regression test for JFXC572
JFXC-984 Escape sequences in formatter specifiers in embedded expressions 
aren't processed
Fixed also:
 - escape sequence error messages in parser
 - fxproperties now follows the escape sequences defined in JLS string 
literals rather than java.util.Properties
Fixed JFXC-665 : Generate a no-arg and a one-arg ctor, for better integration 
with Java
FX now uses a one dummy boolean arg constructor, the class is initialized 
explicitly.
Java code calling into FX would use the zero-arg constructor, which will 
initialize the class.
The zero-arg constructor calls the one-arg constructor (and initialize$()).
The one-arg constructor calls the super one-arg constructor, if it inherits 
from an FX class.
Any Java code emulating FX needs to be changed accordingly, it appears the 
PointerFactory is the only such class.
Use Substance Java look & feel in Assortis project
Fixed JFXC-891 : block followed by some keywords gives parser error


Runtime part of JFXC-1065 : Remove 'with ... on replace { ... }' until 
finished or replaced
The very limited functionality currently provided by 'with' -- only in a 
class and only for an overridden attribute -- is handled by 'override 
attribute'.
Should be removed so we have the flexibility to do the right thing.

Change the one use to use 'override'.
Fixed JFXC-1065 : Remove 'with ... on replace { ... }' until finished or 
replaced
The very limited functionality currently provided by 'with' -- only in a 
class and only for an overridden attribute -- is handled by 'override 
attribute'.
Should be removed so we have the flexibility to do the right thing.
small refactoring
implemented unified multiple inheritance for fx classes
Verifed fixed JFXC-1014 : Non-int,double,boolean Java primitive Locations 
should be represented as ObjectLocation<Wrapper>
Added regression test.
Removed work-around in jfxc309.fx
Added support for package-level comments.
Added package-level comments.
Better error message for "METHOD cannot be applied to ARGS".
Fixed javadoc warnings.
implemented links to parameter types
some refactoring
More error message fixes, derived from JFXC-1032.
(1) Fix an oops in toJavaFXString(List<Type>).
(2) Pass "expected type" when method/function doesn't match.
JFXC-972: fixed primitive types list
Most of JFXC-868 : Remove the binding state out of JavafxToJava
Fixed JFXC-868 : Remove the binding state out of JavafxToJava
Finish removing all the state and code used in adhoc bound expression and 
bound function translation.

Also, generalized clean-up pass over type morpher and JavafxToJava informed 
by Cobertura.
JFXC-529: added test case.
JFXC-1070: display brackets for sequence types
fixed attribute linking
some refactoring
Create factory methods in BoundOperators for SimpleBoundComprehension and 
XxxBoundComprehension.
Fixed package names for sequence attributes
Added "draft" watermark to generated javadoc.
Updated XSL to include dimension attribute for sequences.
removed binary attribute from file, so commits show diffs
Prep for JFXC-816 : Use SimpleBoundComprehension
And set-up for switch to using BoundSequences and computeElement[s]$
Still using XxxBoundComprehension in compiler.

Thanks Brian for the runtime code and consultations.
Add diagnostic tree scanner
JXFC-462: report bogus file error correctly.
initial support for overview docs of project and packages
fixed links in attribute, full description
fixing timeline to use current value of key value at start of animation, if 
none is provided
JFXC-268: Incorrect error message locations

Variable declaration position were being incorrectly copied
from the parser.

This is only a partial fix for all the incorrect message
locations, but it address variable declarations.  And we
have a strategy for fixing the others.
refactoring to clean up code slightly when generating hrefs
refactored signature code to be cleaner and smaller
fixed extra links on function details
When creating a BLOCK pseudo-MethodSymbol, set the owner to the enclosing
class, rather than the old scope's owner.  As a bonus, we reduce code
duplication.  This avoid an AssertionError when assertions are enabled.
It may fix some more subtle errors - or cause new ones!
This will hopefully fix JFXC-964 and JFXC-1072, but it's hard for me
to test in context.
fixed extra whitespace in anchor links
JFXC-268: Incorrect error message locations

JUnit test for the fix to JFXC-268: the example from the bug report.
Follow-on patch to avoid NPE when constructing MethodSymbol
when assertions enabled.
New test-cases.
implement first line of classes in the package summary
If calling getClass, convert primitive type to boxed type.
This fixes JFXC-873 "Calling getClass() throws an exception during build".
Made -implicit:source javac option hidden, since it appears to only be useful 
with annotation processing.
fixed extraneous whitespace around see and link tags
fixed hrefs for see and link tags
New test-case.
New test-case.
Fixed JFXC-809 : Trigger on module level variable does not fire

Fixed as part of Zhiqun's implementation of local variable triggers 
(JFXC-119) and verified by this test.
Use oldValue[lo..hi] syntax to delete old frames
add Simple Electro Simultor and Function Graph demos
Fixed JFXC-913 : Accessing bound variable inside a function causes compiler 
crash

There was a mixed approach that was being used.  For top-level vars moved to 
the module a beheaded attribute initialization was being attempted with the 
real initialization in the run method.   The bogus attribute initialization 
was under some conditions crashing the compiler.

Change them to full attributes with standard attribute initialization.  But 
this requires moving any other top-level var to the module if it is used in 
the initialization of a moved var.

Also, remove an unused var and its set-up from Attr.
Fixed JFXC-1047: Need Timeline.toggle behavior

With this change, Timeline.direction has been removed, along with the 
Direction enum
class.  (The only reason those existed in the first place was as a workaround 
for the
lack of a Timeline.toggle attribute.)
Fixed JFXC-870 : NPE thrown during compilation

Fixed by fix for JFXC-913.  Verified by this regression test.
JFXC-997: added missing prefix to error key.
Fixed JFXC-918 : Iterating over a non-sequence within a bound for expression 
throws a compiler NPE

Fix carefully designed to not impact standard case (iterating over a sequence)
Fix, hopefully, to Hudson failure
JFXC-719: Less than fully informative error messages

Give some imaginary tokens real positions.
Propagate positions of things up the tree as needed.
Add a debugging hook to help find bogus positions.  (Thanks Robert.)
Add a regression test.
Add a regression test for JFXC-602: Compiler warning points an incorrect line 
number and position.
Fixed JFXC-1080: Need KeyFrame.canSkip
Revert changes from r2529 and fix JFXC-913 in a different, if somewhat hacky 
way.
Hopefully clear Hudson failure (JavaFXPad now compiles)
JFXC-906: escape '%' in string literals
Tweaked fix for JFXC-1080: Need KeyFrame.canSkip
(Now we ignore skipped cycles except for the most recent one.)
moved test to passing
remove vestigial file
Simplifying javadump by omitting package-names from imported packages/classes.
Simplifying javadamp by omitting names of standard-packages (JFXC-963).
Made leading zero optional for fractional time literals, such as .3s
JFXC-1013: added bootclasspath comment
handle case of no keyframes without iobe from EmptySequence
Fix invalid cast in error reporting (that I optimistically
put in in a previous error reporting improvement).
This fixes the crash in JFXC-1082 "Exception thrown when compiling a program
which uses recursion".
This means that we get one more error message in jfxc268.fx.
Also, instead of reporting "in RUNMETHOD(xxx)" report "in MODULE_CLASS".
This means moving around some stuff for detecting the run method.
Fix JFXC-1033 -- excessive binding updates.  Also fix related problem with 
F15 test.  Fix unrelated multiple-binding-update problem with bound-if and 
bound-select clauses.  Add java.lang to list of packages auto-imported by 
pretty-printer.
Fixed JFXC-1085 : object literal with extension referencing enclosing class 
causes compiler failure

Special constructors were generated when an inner class referenced an outer 
class instance member.
But, JavaFX entry-point constructors were also generated and the two didn't 
play well.

Impacted JavaFXPad.
fix IOBE in annotation removal loop
comment back in binds from previous work around
fix alignment of annotation line error image
Added support for top-level widgets.
fixes for JXFC-876 work around
fix mouse handling and added in animation for mouse click
repair  support for top-level widgets.
comment out sizeToFitCanvas on top-level widget support
fix bind on matchCase checkbox
change alpha var to Number so that the fade in animation works correctly
JIRA 445, 337, 932, 340. New Operator Table. Fixed some display bugs.
Diagnostics for end positions.
fixed inherited fields and attributes
New demo code from Scott and Tom in CH1
JFXC-791 test added.
JFXC-842 test added.
Added regression-test for JFXC-528.
Removed path from expected compiler-message in test for JFXC-268.
Added tests for JFXC-692 and JFXC-846 (both are currently failing).
fixed links; updated terms in content
commented out questions and ToDo's.
Implemented support for -Xjcov -- it was available, but not used.
Add dynamic-proxy-based framework (FXObjectFactory) for simulating object 
literal initialization for use in Java-based unit tests.
JFXC-1010:  added JavafxTreeInfo.getEndPos() method, updated tree classes to 
use it instead of TreeInfo.getEndPos().
JFXC-1010:  fixed more end positions, end position test.
Compiler should issue a warning message for zero-length sequence range 
literals (JFXC-692).

Improvements to FXObjectFactory test framework.  Commented-out test cases for 
JFXC-1067.
Fix formatting, add new bind subsection
Don't report the supertypes twice.
JFXC-100 and JFXC-1064 -- replacement for "do later".  Implemented as runtime 
class DeferredTask (Tom suggests renaming this to "Later", which strongly 
suggests it's one-time nature) with help from Entry and XxxRuntimeProvider.

Did not update javafx.ui runtime uses marked waiting for "do later" 
equivalent except for ConfirmDialog (to verify that JFXC-1064 is fixed).
Stupid thinko in DeferredTask.
JFXC-1067 -- fix duplicate binding updates for bound sequences.
 Fixed JFXC-1087 : bound interpolator
JFXC-1010:  fixed even more end positions.
JFXC-1010:  Without pretending to know what am I doing, this change makes end 
positions working both for trees with off-by-one problem and for trees that 
have had the end position OK before. And there are no changes in test results.
Update the test according to the new behavior. The test intention (check for 
zero lenght) is not changed.
JFXC-1010:  added support for the JFX unary operators sizeof and reverse.
JFXC-1010:  added support for the JFX unary operators sizeof and reverse.
Fixed JFXC-1095 : Rationalize structure of translation classes
Reduce a tremendous amount of cross-linking and code duplication by making a 
common translation support superclass.
Display "bound" modifier for bound functions.
Regression test for JFXC-1093 : Back-end error generated for bind with 
inverse on non-invertible expressions, including indexing into a sequence
Into currently-failing
add multiple inheritance; fix terminology
Preliminary work for JFXC-1049
Normalize the parameters of makeTypeTree
Fixed JFXC-1049 : calling superclass instance method
Super class methods are referenced with A.foo()
This did not work if foo() was defined in a superclass of A
test with multiple inheritance and normal/bound.
Rename Reprise.jar to javafxgui.jar
Initialize RuntimeProvider if not called from main.
fixed xslt parameter support
initial support for profiles
filter class list by profile
JFXC-1010: changed JavafxTrees.getSourcePositions() to use JavafxTreeInfo 
instead of TreeInfo methods.
MP3 player: make it compile.
Work-around only partial support for Java-style String-plus use JavaFX "{}"
JFXC-1103: fixed ClassCastException.
added runtime-no-ui target
fix init setting of selected
Added support for Frame and non-Node display, added panel to display 
stdout/stderr
JFXC-1104:  return source file URL for script engine's 
classloader.getResource(class)
a couple new unit type tests for keywords
Fixed start position of compilation unit trees.
Moved main method name to public class.
First cut at reflection API.
New method - ClassRef.isJfxType.
New tests for javafx.reflect.
JFXC-1063: Ant task that extracts examples from language guide and compiles 
them.
JFXC-379: Compiler message file is broken if sequence is of type other than 
Integer

Changed some Log.error key's to include "javafx." to match
what's in com/sun/tools/javafx/resources/javafxcompiler.properties.

While I was in there, I also corrected the position of a
bogus "step".
add a samples directory to the functional test directory
fixes for JFXC-981
parameter docs missing in certain cases
delete save directory
updated build support files
JFXC-892: Misleading and incorrect error position with block expression

Adding some should-fail test/compile-error tests to make sure this stays 
fixed.
Updated demo to new syntax for descending sequence iteration.
Removing pathes from expected output of compiler-messages.
Removing cross-link between Entry and JavafxDefs (JFXC-1120).
Fixed typo.
Eliminate vestigial debug output
Added javafx.reflect to javadoc list, package-info files for API packages, NB 
6.0 project updates
JavaDOC fixes
JavaDoc updates
Update FindBugs to 1.3.3.  This will require a bootstrap update.
JFXC-1119: added JavaFXVariableTree support to public visitor API.
JFXC-1131: fixed binding support when package is specified in script.
Added check for required compilerclasspath parameter.
Publish elements at the place of usage (idea from nb-retouche javac 
patchset). Needed for compiler-based IDE features.
better profile support, removed some debugging
Modified to use caller's class loader on loading FX properties.
JFXC-1104: added patch to find class resources with package names.
fixed to rebuild the builder when factory attributes change, added 
ErrorHandler and EntityResolver attributes
More elements provided.
Delete vestigial files
JFXC-1119: added visitor support for JavaFXVariableTree
Fixed JFXC-1096: Timeline.isRunning should be a bound function

Note that the Timeline.isRunning() function has been removed in
favor of a Timeline.running Boolean attribute.  A Timeline.paused
attribute has been added, and preliminary docs have been added
for the Timeline class (better than nothing).

Scenario.jar has been updated to scenegraph/trunk rev. 247 to
pick up various foundational animation changes.

(This fix has also been applied to the javaone-2008 branch.)
fix format settings
Resurrect and clean up XxxAsyncOperation classes; currently RemoteImage.fx is 
the only working entry point.
Pull up common get-something-from-url functionality into common 
AbstractRemoteResource class; fix bug in AbstractAsyncOp that unreasonably 
limited concurrency; refactor FX async peer classes
JFXC-101; add RemoteTextDocument FX class
JFXC1126:  fixed __DIR__, __FILE__ use as parameters, such as 'new 
URL(__DIR__, "../test.png")'
performance opt for small sequence concatenation
More endPos fixes - generate positions for function agruments, use the 
correct CommonTree (the delayed one) for generating endPos of delayed 
expression statements.
Clean up and fix test failure from r2650 checkin.
JFXC1138:  fixed MemberSelect trees end positions
JFXC-1128: replaced guitar demo's large sound files with smaller (36%) ones.
JFXC-1128: replaced guitar demo's large sound files with smaller (36%) ones.
Moved end position and doc comment routines from v3Walker.g to 
AbstractGeneratedTreeParser.java, suppressed grammar source files from 
compiler jar.
Moved com.sun.javafx.runtime.awt package to runtime's 
com.sun.tools.javafx.ui.awt, since only the UI runtime uses those 1.5 bridge 
classes.
change to new animation
Fixed javafxpad for Mac OS X, Java 5 use.
Fixed broken compiler message error.
Deleted unused files from calc demo.
When -Djavafx.debug=true is specified, send otherwise swallowed exceptions 
that occur in the course of binding reevaluation to std err.
Added a tabbed pane to demonstrate string literal localization feature.
Removed debug-output.
Add Scott's rewrite, including nine new chapters
add links, tables
update table content and fix format
- Updated Scenario.jar to rev 262 to pick up fix
to SGText so that things continue to run on JDK 5.
Workaround for accepted inheritance-cycles (JFXC-1101 and JFXC-1149).

The workaround takes advantage of the fact, that all classes in the cycle are 
in the same package. This is true for Reprise, but there are probably still 
cycles possible, which span over two or more packages. To fix this 
completely, we have to wait for the official fix in javac.
Using symbolic constants for messages (JFXC-1042).
Empty source files are no longer parsed (JFXC-750).
removed empty directory
JFXC-1160: fixed javafxpad, script engine so it works on Mac OS X w/Java 5.
JFXC-1147:  fixed -J flag use
Initial version of IntelliJ plugin
Add Key Event processing
Added package documentation
Added package documentation
revise syntax, add comments
implemented support for package level first sentence docs
Removed bogus test.
JFXC-1152:  implemented FX version of JavacTrees.getPath(Element) and 
TreeInfo.getDeclaration().
Initial cut at a JDBC framework
add package javafx.sql to javadoc
Adding messages I missed the first time (JFXC-1042)
Added test for message-symbol to make sure every symbol has an associated 
message (JFXC-1042).
JFXC-1122: Compiler error encountered when using 
java.text.NumberFormat.parse()

Remove code from JavafxTypes that mapped java.lang.Number to Number.
Add two tests for this fix.
Removed unused error-messages.
Test to check every message has an associated message-symbol (JFXC-1042).
add animation sample
fix run arguments to work for Macs
JFXC-750 (Empty .fx file causes "Error in syntactic analysis:"): Fixed also 
for files with comments only.
Generate pack200 versions of jars to better support applets.

Added support to javafx.async for non-default HTTP request methods.
add 'red' class, fix urls, update ch1,3,4,5,7
Suppress grammar source files from compiler jar.
Fixed warnings generated in findbugs.
Excluding temporarily package javafx.reflect, because it is still in the flux.
Fixing messages.
Cleaned up findbugs-exclude.
Fixed two FindBugs warnings where classloaders were created outside of 
privileged blocks.
Allow iterating over an Iterable - i.e. for (x : iterable) { ... }
(Non-bind only.  Test-case coming later as part of reflection test.)
Update to IJ plugin to support syntax highlighting (sort of)
Fix lexer bugs in intellij plugin.
Add error-recovery to lexer; add more syntax highlighting.  Next up: proper 
handling of string literals with embedded { } in them.
Implement enumeration of methods and attributes of a class.

This includes mapping Java Type objects to JavaFX TypeRef objects.

I also changed the API.  Most obviously MemberHandler (which
was responsible for "handling" the member) was replaced
by a MethodFilter (which normally has no side-effect).

Test the new functionality, and made the output more readable,
helped by recent support for 'for' on Iterable values.
Better error message when inferring types of variables.
Specifically, we now get one message pointing to the declaration and
one pointing to the reference causing the cycle.
Better handling of lex errors; handle string literals with embedded quotes.  
Next: handling of string literals with embedded quotes in incremental lex 
mode.
If for variable has explicit type, use it.
This fixes JFXC-1175 "Compiler crashes with NPE in for loop".
Only call asMemmberOf if sym is an actual MethodSymbol.
This avoids the crash in JFXC-1175.
Skip anonymous BLOCKs when looking for "location".
This improves error message in some cases.
Added default value of zero for Duration instances.
Intellij plugin: more improvements to syntax highlighting lexing.  Next up: 
convert parse tree to PSI tree (to support goto-class, find-usages, etc).
Ignore synthetic semicolons in lexer (caused problems for the next token); 
reduce plugin package size; reduce noisy debug logging; add more highlighting 
categories.
Add copyright headers
Add brace matching support.
Emit a warning when trying to assign (or convert without explicit cast)
Number (i.e. double/float) to Integer.
Some kludges to suppress duplicate warnings; they can be simplified
if/when we make this an error.
Update test-cases.
Added interface to insulate javafx.animation from private Pointer class.
Preliminary work on parser; not hooked up yet.
Fix for JFXC-1057 - variable type inferenced to '? extends ...' type.
The problem is the X.getClass() has type Class<? extends X>.
Invoking newInstance on the result then yields ? extends X, which
confuses the javac back-end.  This is a kludge in makeTypeTree to
replace 'capture NNN ? extends X' by plain 'X'.  This is probably
not the right fix.
More progress on parsing.
JFXC-1189: fixed default value for unspecified duration instance (0ms).
Fixed warnings generated in findbugs.
Just one warning left and that is a real bug for which I created an issue in 
JIRA.
1st set of basic animation functional tests
animation toggle test
More progress on parsing.
Fixed two bugs (Resolving JFXC-1107):
1) version.properties-template used wrong key for full version
2) error-message needs to be requested from fx-properties file
Marked test for JFXC-1143 as currently failing.
Suppressed compilation of package-info.java files (just wastes time).
Don't rely on getClass() for the parser name; this prevents using anonymous 
subclasses.  Introduce overridable method instead.
Fixed JFXC-1171 and JFXC-1179.
Eliminated duplicate code in time literal translation methods.
animation tests update
More progress on parsing.
Success on first parsing pass: v3Parser, and highlighting parse errors.  Next 
up: v3Walker.
Parser: more robust means of marking token stream.
Simplify core Sequence (not SequenceLocation) interface to eliminate mutative 
methods; move mutative helpers to Sequences.
moved RemoteImage.fx so the "no UI" build works
JavaFX Script SDK added (FxSdkType class)
Fix RecognitionSignalException leaking through parse process.
fix for JFXC-722
http://openjfx.java.sun.com/jira/browse/JFXC-722
fixed the links in inherited functions
fix for JFXC-983
http://openjfx.java.sun.com/jira/browse/JFXC-983
implemented a hierarchy list with duplicates filtered out so the xslt can 
print a proper inheritance list
Fixup flatname to fullname in complete method, as well as in enterClass.
Also complete interface type before assertion.
Also check in test-case.
This may fix JFXC-1162.
Moved javafx.ui references to runtime project, including all tests with 
javafx.ui imports.
Moved javafx.ui references to runtime project, including all tests with 
javafx.ui imports.
public release
Ignore generated directories.
Fixed NPE in javafxdoc.
Added reprise to build (old UI still in).
Set elemType to itemType if latter is ERROR or NONE.
This hopefully fixes JFXC-1105.
Modifiy for javafx.gui package
Modifiy for javafx.gui package
Updated public docs, now has top-level page like JDK.
Start on man pages using DocBook, which can output both HTML and nroff 
versions.
JavaFX Script Run Configuration Type added
JFXC-1191; doc comments for DeferredTask.
Disabled media library support pending legal review.
Removed references to annotation processing from help output.
more annotation message cleanup



Cache file element type; this was causing a "too many file types registered" 
exception.
Add Assortis project that is based on Reprise API
Misc plugin cleanup; use new icon.
Delete files that shouldn't have been committed in the first place
Check that type of sequence constructor items are non-void.
This fixes JFXC-1204 "NPE thrown by Compiler trying to access a sequence".
Merge changes from javaone branch
Combine logic for type-inference-cycle error checking/reporting
from visitIdent viditSelect into new helper method checkTypeCycle.
Handle the case that the symbol is a function/method, but references
in non-apply-context.  New/tweaked error message for latter case.
This fixes JFXC-1193 "Compiler crashes when function returns its own type".
(The checked-in test program also tests some variants.)
updated license headers
updated license headers
updated license headers
updated license headers
updated license headers
updated license headers
updated license headers
updated license headers
renamed reprise to javafxgui
implemented the @cssclass doc tag
removed trailing newline added by previous commit
added license page
prototype(JFXC1066): KeyFrame literal support:

syntax:
at ( time_literal) { keyValue* }

note: keyValue cannot be empty for now
regression test JFXC1066
Added detection of forward-reference in variable-initializers. For variables 
which reference themselves the ASSIGNED_TO-flag is set. This makes sure, the 
variable can be set at the end of the initializer, which fixes JFXC-1099.
Add first version of Preview component to the sandbox
Move Preview component to javafx.tools package
FxCompiler uses javafxc.jar from SDK
Remove duplicate tests for JFXC-846.
Propagate unreachableType from visitBlock and visitTry.
Also report unreachable statments in JCBlock.
This fixes JFXC-1159 "Cannot compile inner class function with non-void
return type".
support a more generic syntax which allows keyValue to have zero or more 
occurrences

at ( time_literal) { keyValue* }
update regression test jfxc1066.fx
Fix merge error
Capture exceptions in triggers so as not to undermine other triggers or 
bindings.  Send exceptions to ErrorHandler.  This completes JFXC-945.
fixed broken attribute links
fix for JFXC-1166
FX Javadoc does not properly show sequences when used in a function parameter
http://openjfx.java.sun.com/jira/browse/JFXC-1166
fix for JFXC-1091
javafxdoc: Should refer to things outside package by full name
http://openjfx.java.sun.com/jira/browse/JFXC-1091
In function type specifier, of parameter type is unspecified,
use Object.
This "fixes" JFXC-1041 "AssertionError in "wrong" function type declaration".
(We might want a warning or error here, as well.)
Add check to findMethod that found function or function-valued var is
applicable to argument list from context.
This duplicates similar code in findVar.
This fixes JFXC-1195 "NPE thrown when function is called with wrong
(sequence) input"
Complain if we see 'sequence of void' as a type specifier.
This fixed JFXC-1188 "ClassCastException thrown while compiling invalid
function declaration."
Increase Fomt size
More options in JavaFX run-configuration
Improved JavaFX SDK editor
Ported bugfix (6668802: javac handles diagnostics for last line badly, if 
line not terminated by newline ) from javac-trunk. This fixes JFXC-846.
test bug fix
Better error message when a function type takes more than 8 parameters,
which isn't yet supported.
Also fix an off-by-one bug which causes a NPE on a function type with 8
parameters, which *is* (now) supported.
This fixes JFXC-1242 "NPE Thrown for a function type with more than 7 args".
prototype [JFXC1201]: simple block interpolated value support

example:
var rect = new Rectangle;
rect => {width: 400 tween Interpolator.EASEBOTH, height: 500 tween 
Interpolator.EASEBOTH};
When the required type is unspecified, don't try to instantiate
a polymorphic type.  Instead, erase it.  Probably not the right
thing to do, but at least it "fixes" JFXC-1167
"StackOverflowError when using BeanProperty.create("foo")".
add a simple Palette component
We have to be careful to not yet visit member classes (and attribute
their super-type), until we've set the super-types of this
class. Otherwise we risk a stack overflow, at least in the tricky case
of an inheritance cycle that includes the module class.  There
probably is a cleaner way ...
This fixes JFXC-1177 "Cyclic Inheritance - StackOverFlow Error".
add Diagnostic Message class
When expected and actual result differ, print out differing line
(with funny characters escaped) as part of error message.
Added initial debugger support
Push the local variables through the API package too. Fixes part of NetBeans 
issue #136256.
Fixed license typo
Fixed license typo
Fixed license typo
Updating javafxgui
Updating javafxgui
added static utility function to randomly shuffle a sequence
Updating javafxgui
Updating javafxgui
update test type to compile-error
javafxgui update
Fix logic error in setBinaryTypes, which is called when we try to
set the operand type from a binary operator.  The failure was for
the '!=' operator where we can't do anything - but try anyway ...

This fixes JFXC-1205 "NPE from JavafxPretty.visitTypeClass".
Hopefully fixed build error
javafxgui update.
Fix license typo
Fix license typo
Multiple Inheritance functional testcase
added @subtest
Fixed debugger execution
Fixing two findbugs-warnings
Initial FxPositionManager added
Typo fix
added editor comment highlighting
removed some unbounded recursive matches to improve performance by about 25%
enabled 'editor' class for blocks and spans
new support for the @setonce and @needsreview doc tags
Add missing type specifiers.
Fix logic error when swapping operands during attribution of Number*Duration.
This fixes JFXC-961 "order dependent type inference problem".
Removed output from test-class.
Removed path from expected compiler-error (I really need to fix this soon - 
jira 1134.)
javafxgui update
Upgrade to ANTLR 3.1b1
Use new version of ANTLR; now we get error nodes in the parse tree, and this 
means we still get a parse tree in the presence of syntax errors.
Put parsing-related files into own package for organization.
Fixed trigger on map to reset updateFromMap when finished
JFXC-266: the compiler now checks for the valid range of Integer Literals
The type of break and continue should be unreachable, not void.
This fixes JFXC-1248 "continue/break allowed to be in INCLAUSE of For loop
-> throws Verify Error".
However, it causes some other code to no longer compile.
Specifically, Timeline.fx now needs a return type declaration,
because we don't "translate" implement break/continue.
In visitTry, don't try to share scope.
This fixes JFXC-1227 "AssertinError when the source contains catch.".
Fix line numbers.
Partially revert recent check-in - it is possible that sym.type == null.
add DiagnosticMessage class
Add Spiral sample
fix node serialization to not use Transformer. Transformer requires a 
well-formed XML document and is only applicable at the Document level
Add Error highlighting
Add black background for the Planetry System sample
a mortgage calculator with ui bindings but no glitzy animations
JFXC-1183: Fixed NPE while trying to declare nested functions. Developers 
should use anonymous function declarations immediately within a function.
Check that arguments are compatible with function formals, even for
unnamed functions.  (We already checked methods and named function variables.)
This fixes JFXC-1247 "NPE thrown when incorrect number of args is passed to
a anonymous function expression".
Add ErrorMessage class
Make blockExpression a primaryExpression.
This fixes JFXC-1137 "Language inconsistency - can't do member select
on block expressions".
added javafx.async to the javafxdoc package list


Fixed JFXC-1213 : Compiler throws NPE when bound function calls a non-bound 
function

Real problem was GIGO, remember that?  Garbage In Garbage Out
Bound function with a return type of void was being allowed.
Now this is checked for in attribution.
... JFXC-1213 : ...
Make EXPECTED file Solaris friendly so that Hudson will be happy.  This, of 
course, breaks it on windows.  Same problem as jfxc1248.fx
Specifically, path separators show up in the (expected) error output.
add check for terminator char in parseJSONObject
Change syntax of a type specifier in a function type specifier, to:
  [[name] :] type
This fixes (the rest of) JFXC-1034 "AssertionError in "wrong" function
type declaration".
Fix JFXC-1261 : Single element not always converted to a sequence in sequence 
context
Do proper conversion.
moved license up a directory
Copyright to all files added
Add javafxdev library
Update Drag&Drop
FxSnippetsWindow added
Prep for documenting of javafx.gui.component
Fix JFXC-1111 : Attempt to set Integer[] element with double fails with 
back-end error
Do type conversion in translation
Updated license headers.
Reprise repository sync.
repository sync
minor updates to javafx.xml api docs
added default value support
Hid -source option, since JavaFX Script doesn't have different versions of 
its syntax.
Fix JFXC-1196 : NPE when binding a method from inherited JFX class
Correct handling of "super" calls within a bind
added man pages
added stylesheet for HTML man pages
add editable property
Typo
add Applet file
Fixed expected output for windows.
FxCompiler - exception handling code is reduced
KeyFrameTest2 is a performance test. It passed on windows/solaris but not on 
some mac/linux. Removing it as an issue is likey on the underlaying 
scenario/timing engine.
First version of a native-launcher (JFXC-1110).
fix typos per SQE
fix typos and operator precedence table
Copyright headers
Copyright headers
Copyright headers
Copyright headers
First pass at changes from Scott and Baechul
JFXC-101 -- refactor RemoteXxx classes.
JFXC-1297: fixed NPE in Entry
Move RemoteImage into right package.
Fixed build-building typo.
Add onDone hook to remote classes.
Make start() method protected in remote classes.
Add AsyncJsonCall class
JFXC-1244: fixed class file generation when using compiler API
Returning null instead of throwing ArrayIndexOutOfBound for 
sequence[invalidIndex]. This simplifies the usage in bindings and fixes 
JFXC-1320.
Trying to fix the build-error. It's just a guess, because currently I cannot 
create docs at all in my environment and cannot test it before.
Trying to fix the build-error.
Trying to fix the build-error.
Add Cube3D sample
Add Function Graph sample
Add some shapes
Fix adding children nodes through Object Literal
Modify CH 2; correct typo in CH 8
Fixing the last commit for JFXC-1320. Returning the default value now instead 
of null.
add some simple performance tests
Fixed display of toplevel pseudo-class.
JFXC-1255: reimplemented JavafxScope to use JavafxEnv instead of Env.
Add Hyper Cube sample
Add AssortisApplet class
Update Assortis.html
Reverted adding of performance-test. It is
a) incomplete (javafxc: file not found: test/functional/performance/node.fx)
b) comparing absolute time-periods
JFXC-1335:  made javafx.lang.Duration immutable.
JFXC-1335:  made javafx.lang.Duration immutable.
Fix case where contentLength is unknown and sets fileSize to -1
change Array and Null to JSONArray and JSONNull, change array in Pair to 
sequence and make documentation clearer on its purpose. Add convenience 
attributes to JSONObject for text,stream,reader that automatically invokes 
the parser
make attributes without access modifier public, change to new JSONObject 
literal syntax with text attribute
JFXC-1309:  fixed symbol completion with .fx source files.
fix javadoc on list attribute
Sync with reprise repository.
Sync with reprise repository.
Updated to use javafxgui changes.
last javafx.gui demo changes
Make sure run method appears before other members of module class.
This is so that top-level variables/functions are "entered" in their
scope before we attribute anything else.  Otherwise we can fail to
find those variables from inside a class with the same name as a module.
This fixes JFXC-1336 "file-level var not visible inside class with same
name as file".
Added functionality to configure the jars, which are added to the 
classpath/bootclasspath by the launcher. This completes JFXC-1110.

The configuration-file is named javafx.properties and needs to be placed in 
the lib-folder.
Fixing my last commit (JFXC-1110), disabling output, enabling execution.
fix setProgressMax to make sure progressIncrement is not zero.
Add support for POST method
Add support for POST method
In  finishVar do useSource *before* attributing type, so if there are
errors in the latter they will refer to the correct source file.
This fixes JFXC-1310 "Compilation error message points to wrong file".
Add support for JSON-RPC 1.0
JFXC-1244:  fixed generation when analyze phase is explicitly called first.
Fixed the bug that causes the walker to throw an exception when it encounters 
an Error node
JFXC1308: added support for zip files in the source path.
JFXC-1259, 1319, 1343: fixed ArrayIndexOutBoundException when a missing token 
is EOF
Warn if the expression beining iterated over in a for-comprehension
does not have sequence type.  This fixes JFXC-1240: "Warn if input sequence
in comprehension does not have static type of T[]".
Add Nimbus LAF library
Add Nimbus lib into classpath
Set Nimbus LAF for the Assortis project
params attribute should be JSONArray per spec
reprise sync
JFXC-1215: fixed local variable table generation
JFXC-1172: fixed compilation of dependent source files.
JFXC-1172: inlined source completer initialization for javafxdoc.
JFXC-1273:  added src.zip to distribution.
JFXC1254: Replace <> with !=. Continue to accept <> with a 
warning during the transitional peroid
JFXC-1337: Replace % with mod Continue to accept % and %= with a warning 
during the transitional peroid
replace <> with !=
replace <> with !=
replace <> with !=
replace % with mod
JFXC-1181: scan for packages when only source files are specified
removing the keyword mod used as an identifier in the tests
In a compound class, compile a private non-static method to just a static
"implementation" method, and always call that as a static method.
This (mostly) fixes JFXC-727 "Subclass must not be able to override private
superclass function".
replace <> with !=
replace % with mod
replace <> with !=
replace % with mod
Fixed FindBugs-warning.
Fixed path in error-message.
Added test for JFXC-1310. The test fails currently because default of 
Duration is not correct. (This is tracked in JFXC-1403: Duration must be 
accessible from runtime-classes written in Java.)


Prepare replacement of batch-files.
Prepare replacement of batch-files.
Prepare replacement of batch-files.

JFXC-1330:  fixed start and end positions for sequence index trees.


JFXC-1173: fixed default output location.
JFXC-1311: removed tool provider classloader (no longer needed).

Don't translate call to private method to call to static method
if the owning class is not a compound class.
This fixes JFXC-1411 "Demos build broken due to recent compiler regression".
Also, translate private method to PRIVATE, rather than default access.
This way the ClassReader will skip it.
Adding native launchers for windows to the build-system (JFXC-1110).
Copying properties-file to dist-folder.
Starting to merge in javafxgui
Starting to merge in javafxgui
Misc cleanups related to IJ plugin
move to sandbox pending enhancements to javafx.gui
move to sandbox pending enhancements to javafx.gui
port to javafx.gui
Fixed javadoc gen on windows. Thanks Tom for the help!
Merging javafxgui
Temporarily disabling custom doc stylesheet due to javafxdoc bug
Don't need nimbus.jar
Working in javafxgui merge
add first precedence tests
Removing old javafxgui directory
javafxgui merge
javafxgui merge
javafxgui merge
javafxgui merge
Merging javafxgui
add Number comparison
add test tags
Merging javafxgui
Merging in javafxgui
Merging in javafxgui
work-around for JFXC-1421
attempt at fixing the test tags
remove ui from javadoc
Copy doc image files
Fixed Assortis for package name changes
Removed dependency on third-party dll.
Fixing the changes introduced by IDE.
Updated Guitar demo to new packages
Fixed failing regtest
Fixed failing regtest
Updated Calculator demo to use new packages
Fixed another regtest
Fixed another regtest
One more test fix
port to new gui
Remove doc-files from jar
Fixing problem with filename.
Enhances Font class with functions allowing to use embedded/external fonts. 
Fixes issue http://openjfx.java.sun.com/jira/browse/JFXC-1301
Enhances geometry package with SVGPath class, which allows constructing 
shapes from path definitions using SVG syntax. Fixes issue 
http://openjfx.java.sun.com/jira/browse/JFXC-1302
Updating bounce demo to new UI
Updating bounce to new ui
update javafxballs to new runtime
Split javafx.ext.swing classes to separate javafx-swing.jar, sandbox'd 
RemoteImage
Updated Scenario.jar to build 227
Added the Japanese l10n.
Updated jmc library and its dependency
Updated demos to use javafx-swing.jar
Correction of compiler-flags in debug-builds.
Update GUI packages
Add initial shell library
Split javafxrt.jar into javafxrt.jar, javafxgui.jar, javafx-swing.jar.
Split javafxrt.jar into javafxrt.jar, javafxgui.jar, javafx-swing.jar.
Added service provider directory to javafxgui.jar
Change <> to != and change % to mod
Change <> to != and change % to mod
Change <> to != and change % to mod
Updated default classpaths for Windows launchers.
removed private project directory
Replaced org.desktop support needed for remaining javafx.ui demos.
Partial javafxdoc man page, man page build improvements.
Fix JFXC-1344 : Stop being hobbled by inheriting from JCTree -- Create out 
own AST structure
Separate the javac JCTree AST nodes from the JavaFX compiler JFXTree nodes.
JFXTree still inherits from JCTree so that DiagnosticPosition and its family 
of class need not be cloned.
JavaFX tags are an enum instead of int -- to prevent accidental clashes.
BlockExprJCBlockExpression was added for back-end block expressions (must be 
JCExpression).
Many broken tree uses, exposed by these changes, fixed.
Also, separate Java compiler tree API from JavaFX compiler tree API.
Name mostly match Java node names. "JavaFX" prefix has been removed where 
previously subclassed.
Imports and names fixed in tests.
Test for JFXC-1255 removed until JFXC-1423 is fixed.
Defunct trees removed from both AST and tree API.
As requested, rationalize visitor / AST names (since they are being changed 
anyhow).
Move generics error into walker so that v3 stays pure tree generating grammar.
Environment now has separate top levels (JavaFX AST and Java AST).
JavafxCompiler changed accordingly.
And so much more....
Fix JFXC-1344 : Stop being hobbled by inheriting from JCTree -- Create out 
own AST structure
JavaFXDoc changes to match.
Fix-up JFXC-1344 : Stop being hobbled by inheriting from JCTree -- Create out 
own AST structure
Remove unintentional commit of hardcoded debug flag.
Fix-up JFXC-1344 : Stop being hobbled by inheriting from JCTree -- Create out 
own AST structure
Correct FXPad failure
Enable all tool assertions in Main, like javac and apt do.
Using CreateProcess instead of system, which allows to quote the command. 
This fixed JFXC-1436 and possibly JFXC-1432.
Updated copyright-headers.
Debug-versions of launcher will print the generated command-line.
Using CreateProcess instead of system, which allows to quote the command. 
This fixed JFXC-1436 and possibly JFXC-1432.
Updated copyright-headers.
Debug-versions of launcher will print the generated command-line.
port to new GUI
adding animation language tests.
Set Duration.millis to 'public readonly', for now.
public - because it needs to be set for object liberals.
readonly - because it should be "final".  Note this isn't enforced yet!
Update MediaPlayer to be compatible with these changes.
focused attribute is private, so don't try to set it ...
Partial access control re-write.

The class file reader now skip most synthetic fields and methods.
A new Inherited annotation is used to "de-select" generated
stub fields and methods for inherited methods and attributes,
so these can also be skipped by teh class file reader.
"Attribute" access annotations are now on fields, not methods.
The ClassSymbol for a source file and from a class-file are
now much closer.  Because of that, I was able to rid of some of
the separate handling between classes-from-source and
classes-from-classfiles.

Also, some minor optimization (use Name rather than String)
while I was at it.

This doesn't do name mangling of attributes, but the attributeName
method sets that up.

Also still to do is tweaking of the access modifiers as discussed
- i.e. module visibility, plus more testing.
Initial port to new gui
Initial port to new gui
Partial Remove concept of "statement" and "block" -- breaks parsing
Remove them at the API level.
Also, fix inheritance of "on replace" and "override attribute".
fix error annotation position
JFXC-1341:  fixed incorrect InstantiateTree start position when identifier is 
fully-qualified-name
Add stub directory for CLDC compatibility library
Updated jmc library and its dependency: fixes media problems on windows
port to new gui
move to sandbox
move to sandbox
jfxc1066: KeyFrameLiteral support with simple Intepolatedvalues

example: at (1s) {
                x=>5 tween Interpolator.LINEAR;
                y=>7
           }
Make PointerFactory into a "simple" rather than "compound" class.
This is helpful for access control, so we don't have to deal with this
special case of a jfx compound class "hand-implemented" in Java.
(Actually, at this point it may make more sense to completely
get rid of PointerFactory.)
Rename "findMethod" to "findMember", since it is also used to find attributes.
Cleanup dead classes; eliminate unnecessary use of reflection for greater 
CLDC-friendliness.
Moved test with javafx.ui dependency to runtime test directory.
JFXC-1423: implemented FX version of TreeCopier, bumped up max memory when 
compiling runtime.
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing, hinders code completion, etc.
Remove 'statement' and 'block' at the AST level.
There now correspond to 'expression' and 'block-expression'.
Change attribution to treat former statements as expressions.
Control of the translation target for expressions (statement, return, or 
expression) was under the joint control of AST structure (as generated by the 
parser) and the needs of the translation.  Control has moved to the 
translation.
Still must remove expression-statement node from AST.
Add additional tests to prep-for-backend.
Also, fix pretty printing of operators.
Using attribute executable in JavaFxAntTask, if it is set (JFXC-1409).
Fixing bootclasspath.
Replacing hardcoded Scenario.jar.
Updated javafxc-classpath (JFXC-1467).
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing, hinders code completion, etc.
Remove 'expressionStatement' at the API and AST level.
Merge from branches/technology-preview-1: revisions 2897:2919
Merge from branches/technology-preview-1: revisions 2944, 2978
Merge from branches/technology-preview-1: revision 3080
Merge from branches/technology-preview-1: revision 3103
Merge from branches/technology-preview-1: revision 3115, 3116
Clean up detritus from merge
Removed empty doc directory.
Fix JFXC-1271 - canSkip attribute on KeyFrame wasn't obvious (documented it)
also more progress on JFXC-1192 - animation classes need documentation
findbugs fixes
Fixing javac-patch.
functional tests for reflection
Update Scenario
Force immediate error recovery in recursive rules -- this allows ANTLR to 
recover from errors at the earliest opportunity and thus does not unroll too 
many productions.
fixed example generation
fixed example generation
added example docs for graphics classes
turned fxgui custom doctags back on
JFXC-1308: use URI.toString() instead of URI.getPath() to support zip file 
source reading.
JFXC-1458: changed JFXIndexof fname to identifier for better tool support, 
added Tree.Kind.INDEXOF.
JFXC-1172:  improved secondary source compilation fix to support javafxdoc.
Removed .bat-launchers.
Moved jars to classpath to fix JFXC-1435.
Removed unnecessary attribute to prepare fix of JFXC-1243.
Fixed comment (JFXC-1438)
removed empty directory
Added support for multiple XML intermediate files.
Moved text strings to properties file.
Replace an old copy of javafxc.jar with a symbolic link to the current built
version.  This reduces the size of the tree and keeps javafxc.jar up to date 
at
the expense of having to remember to build the compiler before rebuilding the
IDEA plugin ...
Add support for hex and octal constants for syntax highlighting in the IDEA
plugin.  Also cleanup some java lint in the process ...
Make the IDEA plugin build for IDEA 7.0.3 (Plugin SDK 7757) and cleanup some
java lint in the process ... As javafxc only runs with JDK 6 for me, this has
only been tested using JDK 6 ...
JFXC-1490
Fixed some <>
JFXC-1482:  fixed internal error due to cyclic reference error reporting.
JFXC-1488:  catch and report assignment to a non-variable.
JFXC-1493
JFXC-1492
Updating tests for rename
Updating tests for rename
Updated for renaming
JFXC-1488:  catch and report assignment to a non-variable.
Pack javafxgui.jar and javafx-swing.jar
Swing specific class moved to swing package
Removed old tests based on javafx.ui runtime. Also, shouldn't have tests in 
the compiler test dir that rely on the runtime.
Moved MediaHelper to Media package.
Fixed bug due to move of MediaHelper
"clean" target now cleans up demo projects
Backed out last change until demo project files are up-to-date.
Removed old tests.
Removed old tests.
Removed old tests.
Removed old tests.
Removed old tests.
Removed old tests.
Update IDEA FXSnippets window to not use methods depreciated in IDEA 7.x ...
Add correct IDEA highlighting of "!=" operator ...
Updated error message
Updated error message
Restoring common profile tag in Application
Removing desktop profile tags
Removed bad common profile tags
Updated Scenario.jar
Removed invalid link.
changed non-portable link to lib/javafxc.jar to relative path
JavaDoc warning in Swing top-levels
Fixes: JFXC-1503 JFXC-1491 JFXC-1481 JFXC-1451 JFXC-1328
Replaced "content" in Application and Window with the "stage:Stage" 
attribute. A Stage is the top level container of all drawing in FX. The fixed 
the default background color for Frame and Dialog as it now comes from Stage 
which defaults to white. Also fixed close action on Window and SwingWindow so 
that it now disposes correctly so the application can exit and it sets 
visible to false so the window can be made visible again.
Fixed NPE when completing a class symbol with an ErrorType.
Added check for JDK 6 in build-script and for Java 6 in the compiler. The 
check in the compiler can be bypassed using the option "-no-java-check". This 
fixes JFXC-1474.
Applet should call onStart even for no content
Fixed mini-bug
Applied the change suggested from Tom.
fixed comments and added @readonly doctags
Applied the provided fix to the javafx-shellscript (JFXC-1518).
merge from preview branch: fixed deep sky blue spelling
Fixed applets with change made to Application to take a Stage as content
Added comment
Changes to Application/Stage that came up during code review
Updating a test
Updating a test
Improved handling of access modifiers.
ClassReader sets access from attributes, and if a compound class (should be
"if a jfx class") force default ((rather than public) access if attributes
not given.
New isSubClass method in JavafxClassSymbol that handle multiple inheritance.
In findMember better and less-duplicative handling of inheritance.
Some other fixes to improve support for "protected".
Put BackgroundSupport and JSGPanelImpl in the right place
Moving things around.
fixed Stage.width and Stage.height so they are no updated correctly to be the 
width and height of the available content area of the window or applet
Fixed "new ClassType(null, null, sym)" cases, which broke debugger inspection 
due to NPE.
JFXC-1527: updated Ant distribution URL.
JFXC-1506: fixed assignment of time literals to Duration attributes.  
Implemented Duration.valueOf() factory method to replace Duration{} object 
literals, as Durations are immutable but cannot be if object literals.
Make getJDialog() public.
Temporary hacks until jfxpad is fixed.
Simplified hashCode(), which also addressed a FindBugs performance bug.
FindBugs fix plus false-positive suppression.
Fix a couple comment spelling mistakes/typos ...
Small refactorings related to JFXC-1509.
Made a couple of functions public
Added getAWTWindow
No more direct access to Window.window
Fixed bug name, added local variable name for previous FindBugs suppression.
Let javafxpad back into the build.

JIRA 1414, 1415, 1416, 1429, 1512 restructured Operator table 5.1; corrected 
terms and typos
Minor comment fix. Was "null", is now "false"
Added common profile doc-tags.
Just a space
JFXC-1517: fixed sizeof toString assertion error.
Fixed fxpad so that doAndIgnoreJComponentChange no longer needs to be 
protected
Mangle private attributes (but only if non-static, in compound class).
The mangling is done by prefixing the fully-qualified class name
(with '$' instead of '.') before the attribute name.  This is done
both for the methods ("get$xxx" and "applyDefaults$xxx") and
the emitted field name.
This fixes JFXC-728 "Private attribute not being treated as private".
update not equal and mod operators
Removed work-around for JFXC-728

Extremely minor comment fix
Fixed fxpad
update break; continue; while and fix statement-expression use
update statement/expression use; fix typos
Add test-case for JFXC-728.  That uncovered another bug to fix ...
New animation functional tests
Deleting old animation tests. New tests with the larger coverage were 
integrated.
This failed test will be moved to the currently-failing.
JFXC-1571: getCanvasXX to getStageXX
JFXC-1574: Added @treatasprivate to ofTheWay
JFXC-1575
JFXC-1575. Missed change
Improved test pass/fail verification to avoid test results difference between 
different platforms.
JFXC-1351 JFXC-1537 JFXC-1532 JFXC-1551

There is a issue with Vista with Aero that means we can not change a window 
from opaque to transparent on the fly. Because of this we have changed the 
way the transparency works in FX so that now if you want to make a window 
transparent you have to set the windowStyle attribute to 
WindowStyle.TRANSPARENT when you create the Window (Frame or Dialog). 
Changing the transparency of the fill of the Stage no longer has any effect 
on the transparency of the window.
Use Scenario.jar from Hudson build
Fixed JFXC-1528 : JavafxToBound.attrEnv is referenced but never set
Javadoc changes - updated common profile in sources
JFXC-1584: updated and repaired damage to Duration doc-comments.
Scenario.jar no longer needs to be in sdk-dependencies
JFXC-1550:  fixed assignop expressions with Durations, such as "var t = 5s; t 
+= 5s".
Removed old test
Fixed JFXC-1404 : Bound function returns null instead of empty string, if 
Exception is thrown.
Fix this and add infrastructure for default ObjectVariable values.
It thus now also has time default values.
Removed old tests that relied on javafx.ui
Removed old tests that relied on javafx.ui
Removed old tests that relied on javafx.ui
Removed old tests that relied on javafx.ui
Removed old tests that relied on javafx.ui
Removed old tests that relied on javafx.ui
fixed typo in opening paragraph
JFXC-1558:  cleaned up JavafxTaskEvent support.
Made jfxc467.fx independent of runtime and moved to compiler test area
Removed old tests that relied on javafx.ui
Moved jfxc330 test to compiler area
Removing tests that judge pass/fail result based on time ranges. Animation 
timing interpolations/handling are largely affected by a specific condition 
of the underlaying machines.
Removing old tests based on javafx.ui
Removing old tests based on javafx.ui
Moved mcalc to sandbox
Moved mcalc to sandbox
Test for JFXC-1441 : Compiler throws AssertionError with for loop containing 
try/finally blocks
Demonstrate that it is no longer reproducible.
Test for JFXC-1447 : Asserion Error with Predicates
Demonstrate that it is no longer reproducible.
Fixed JFXC-1220 : Compilation error while trying to index a sequence 
expression with predicates
Fixed JFXC-1224 : Compiler error - indexing a sequence slice
with regression tests
Fixed JFXC-1198 :  Passing null or empty sequence arg to a bound function 
throws method ambiguity error
with regression test
editorial changes only (no technical content changes)
Removed some old comments.
Incorporated technical corrections from latest doc review.
Fixed a comment in the demo code
JFXC-1593: fixed NPE with throw statement in main script body.
Fixed bug in BackgroundSupport
JFXC-1597:  added AccessController privileged block to service loader.
Fixed issues raised in code review, very minor changes
Cleaned up unneeded stuff from Window/Frame/Dialog
Incorporated technical corrections from latest doc review.
Document white bg on Stage
white ==> color white
Fixed real-clean target, don't fetch Scenario when running it.
Fixed JFXC-1157 : Can't compare sequence to null in bound function; cannot 
find method eq_so(....
Fix and  regression test include many other cases not in the original report.
Incorporated grammatical suggestions from editorial review.
Confirm fix for JFXC-1222 : NPE from TreeInfo.skipParens
Was fixed when JavaFX AST trees were separated from Java AST.
Fixed JFXC-1124 : Compiler error when converting indexof value to int inside 
function attribute definitions
with regression test.
Incorporated technical corrections from latest doc review.
Fixed JFXC-1582 : Smart generating of debug info
Removed extra spacing
jfxc-1579
Removed old comment
Starting to move ui to sandbox
runtime-no-ui now just calls runtime
Moving around sandbox
Moving things around in sandbox.
Removed empty dir.
Moving old javafx.ui to sandbox
Still removing old javafx.ui
Removing old javafx.ui
Don't need swing-layout.
Don't need swing-layout.
Don't need swing-layout.
Fixed JavaDoc build
Deleted old (unused) chapter files for the lang ref.
Incorporated technical corrections from latest doc review.
Incorporated grammatical suggestions from editorial review.
removed compile-runtime-fx and moved the body to -post-compile. The use of 
the name "runtime" is confusing because it conotes the javafx runtime project 
-- but that is not what is being compiled. This target really just compiles 
the fx files in the compiler. The "runtime" libraries have been split in two 
-- some of them are shipped with the compiler while the rest are shipped with 
the "runtime" project. Also, calling compile-runtime-fx manually just fails, 
so there is no good reason for it to be separate. Might as well bundle that 
target into the -post-compile target and simplify the build script somewhat.
Added assertEquals which takes two Numbers.
Incorporated grammatical suggestions from editorial review.
Update the JavaFX Runtime project so that running unit tests works, building 
a fresh workspace works, the project.properties is much cleaner, etc. One 
thing I did which is cheating is that I hardcoded in the paths to the libs 
instead of using the tools-defs.xml and associated xml files.
Update the JavaFX Runtime project so that running unit tests works, building 
a fresh workspace works, the project.properties is much cleaner, etc. One 
thing I did which is cheating is that I hardcoded in the paths to the libs 
instead of using the tools-defs.xml and associated xml files.
minor typo fix
If for-comprehension has <unreachable> type, that is presumably an
error, so complain.  This partialy fixes JFXC-1544 "Compiler crashes with
assertion error with break statment inside try/finally block".
Fixed JFXC-1223 : Attributes in AST determining origin source code constructs.
The same AST trees are used for object literal and new class, for-expressions 
and sequence predicate.
With this fix they are now differentiated by having separate JavaFXKind 
values.
FOR_EXPRESSION_FOR vs FOR_EXPRESSION_PREDICATE
INSTANTIATE_NEW vs INSTANTIATE_OBJECT_LITERAL
Fixed error where javafxc was being created but no javafxc.jar was available. 
This was happening on clean. Fixed.
Regression test to demonstrate that JFXC-1339 : Compiler crashes with for 
loop in Finally block
is now fixed.
Temporarily undo --
Regression test to demonstrate that JFXC-1339 : Compiler crashes with for 
loop in Finally block
is now fixed.
hack for hudson -- go hudson go!
hudson appears to have gotten into an odd inconsistent state. I'm trying to 
prod him back into happiness. This "fix" should be considered temporary
Better handling of expressions whose type is "unreachable" (such as throw
or return).  This helps with the second test-case for JFXC-1544,
but at this point the problem is the Java attribution.  The long-term
solution IMO - skip Java attribution.
hudson appears to have gotten into an odd inconsistent state. I'm trying to 
prod him back into happiness. This "fix" should be considered temporary
Added missing tools.dir property to runtime's project.properties. Also 
removed hacks addedd to build.xml and bootstrap.xml to diagnose the issue.
Partial JFXC-1051 : Remove 'static' keyword
Remove 'static' from some tests.
Fixed JFXC-1609 : overloaded script-level functions generate error message
Overzealous checking of top-level script members in module builder reduced to 
checking for __xxx__ forms
Documentation update only. Incorporated changes from editorial review.
Documentation update only. Incorporated changes from editorial review.
Part II:
Fixed JFXC-1609 : overloaded script-level functions generate error message
Overzealous checking of top-level script members in module builder reduced to 
checking for __xxx__ forms
Part III:
Fixed JFXC-1609 : overloaded script-level functions generate error message
Overzealous checking of top-level script members in module builder reduced to 
checking for __xxx__ forms
debug code slipped into the build.xml
For block-expressions, force use of "baseType", since other Gen
will try to constant-fold, possibly ignoring side-effects.
This fixes JFXC-1274 "Statements in block expressions ignore".
Docs only, removed note from bottom of page
Doc only, typo fix
Doc only, typo fix
Doc update. Tweaked demo and cleaned up some formatting.
Doc update only (grammatical changes)
Regression test verifying that JFXC-1401 : Inconsistent function name 
uniqueness rules
was been fixed.
New test-case.
Fixed JFXC-1100 : Using Number as a Sequence Index Causes a Compile Error
Convert indicies to int as needed.  Also, clean-up tpe conversion mechanism.
With regression test.
Regression test to demonstrate that JFXC-1200 : Exception when compiling a 
variable assignment with an out-of-range value
is now properly handled.
Workaround platform specific path issues in should-fail EXPECTED file by usin 
Solaris conventions. For --
Regression test to demonstrate that JFXC-1200 : Exception when compiling a 
variable assignment with an out-of-range value
is now properly handled.
Windows-launcher returns exit-code from Java-process (JFXC-1536).
Removing a test that could fail in a certain condition of the test machine 
due to incorrect timing interpolation.
JFXC-1606: javafx shell script has incorrect location for Scenario.jar library
JFXC-1583 enhancement implementation.
The "@test/nocompare" will be used for tests where their stdout is not 
compared with its EXPECTED file. Such tests can print out some debugging or 
useful information out of the test execution. Such tests should judge the 
pass/fail and throw an exception when it determine a failed condition. A test 
developer should carefully decide what should be printed to stdout to 
maintain readability and the size of overall log file.
Added support for Duration in Util.defaultValue. This fixes JFXC-1320.
fix drag translation
Flowpanel Demo
fixed typo of quotes in properties file
Tiny cleanup
Tiny cleanup
Check a few more places for disallowed Void type.
This fixes JFXC-1218 "Function with Void parameter compiles but throws
ClassFormatError on running" and JFXC-1457 "Assertion Error with var v:Void
(-esa option)".
Use proper Scope interface.
Proper handling of pathes in compiler-messages (JFXC-1134).
Print data-type long as java.lang.Long instead of Integer. (First part of 
JFXC-915.)
Prevent infinite loop.
Adjusted lang ref XML files to all use the same DTD version number.
Give various annotations RUNTIME-retention, so they can be
used from reflection.
Add new SourceName annotation.
Move privateAnnotationStr etc to JavafxTranslationSupport,
so we can avoid duplicating some constant class names.
Fixed JFXC-1627 :  Implement 'def'
Fixed JFXC-607  :  Variables defined using 'def' should be not be assignable
Fixed JFXC-1628 :  Enforce 'def' non-assignability across scripts
Fixed JFXC-1629 :  Enforce 'readable' modifier
Fixed JFXC-1631 :  Disallow the init of a 'def' in object literals
Fixed JFXC-1636 :  Require defining(initializing) expression on 'def's

Accessibility and mutability controls needed by libraries team.
A couple of issues remain outstanding, but this is most of it.
Simple change to UI runtime needed for JFXC-1627 :  Implement 'def'
Properties file for
Fixed JFXC-607  :  Variables defined using 'def' should be not be assignable
Fixed JFXC-1629 :  Enforce 'readable' modifier
Fixed JFXC-1636 :  Require defining(initializing) expression on 'def's
Reported it was constantly failed on a GNU/Linux Fedora 9.
Cleanup: remove the unused ClassTree interface.
Emit SourceName annotation when a (non-inherited) field is mangled.
Use the SourceName annotation in the ClassReader to recover the source name.
Fixed JFXC-1634 : Disallow modifiers on local variables
which is the last issue in the umbrella so
Fixed JFXC-1619 : Accessibility/mutability controls
Removing more of old ui stuff.
Removing more of old ui stuff.
Removing more of old stuff.
Removing more of old stuff.
Fix findbugs bugs.
Additional regression test of JFXC-1157.
Move old ui stuff to sandbox.
Move old ui stuff to sandbox.
Move old ui stuff to sandbox.
Move old ui stuff to sandbox.
Move old ui stuff to sandbox.
Move old ui stuff to sandbox.
Button ==> SwingButton
Button ==> SwingButton
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
RadioButton/CheckBox get Swing prefix
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
Part II: unify the handling of block-ish and expression-ish block-expressions
Remove work-around to non-issue in Bind02 which makes faulty assumption.
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
Part III: merge statement and expression access mechanisms in v3Walker and 
make block and block-expression processing parallel.
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
Part IV: remove block concept from parser and walker (unify to 
block-expression)
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
Part V: remove differentiation between statement and expression in parse tree.
Bugfix in comparision of compiler messages
Automatic conversion from long->int with warning (JFXC-915).
Also changed warning message for floating-point to integer conversion to 
possible loss of precision.
Removed old statement.
docs only, renamed animation.xml to ch10.xml for consistency with other 
chapters.
Adding Swing prefix
Adding Swing prefix
Adding Swing prefix
Moved toggleGroup attribute up to super class
Adding Swing prefix
Adding Swing prefix
Partial JFXC-1443 : Remove concept of "statement" and "block" -- breaks 
parsing
Part VI: Unify statement and expression for the interesting cases.
It still isn't general, but cases like those in the regression test.
Variables within an expression have attribution problems.
Also...
Partial JFXC-1657 : Constrain object literal syntax
Implemented, except that "override function" doesn't exist yet, and class var 
override hasn't been removed yet.
Also...
Ground work for JFXC-427 : Replacement syntax for var: self
variable definitions syntactically within expressions.
Fix for JIRA doc bug JFXC-1429.
Fix demo for --
Partial JFXC-1657 : Constrain object literal syntax
Implemented, except that "override function" doesn't exist yet, and class var 
override hasn't been removed yet.
Fix demo for Guitar --
Partial JFXC-1657 : Constrain object literal syntax
Fix demo bound for --
Partial JFXC-1657 : Constrain object literal syntax
Skip "Inherited" methods.
When scanning for attributes, search Class's fields, rather than methods.
This has the advantage that it also handles non-compound classes.
It also matches what JavafxClassReader does current.
Update test cases to match improved functionality.
Adding Swing prefix
Loosen syntax a bit and fix remaining demos  --
Partial JFXC-1657 : Constrain object literal syntax
Allow 'private' modifier on script-level variable declarations.
Fixed broken build
Removing some statics
Removing some statics
Removing some statics
Removing some statics
Removing more statics. Might be the last one for tonight - flight home 
appears to be boarding...
Fixed  JFXC-1442 : Allow access modifiers on script-level variable 
declarations.
Actually fixed in my last commit -- this adds a regression test to verify it.
Partial  JFXC-1245 : Override keyword for functions
Syntax.  Use of 'override' on functions now allowed.
No checks yet.
Partial  JFXC-1245 : Override keyword for functions
Code for warning on missing 'override' (commented out).
Error on use of 'override' on function which does not override.
'override' added to compiler runtime functions.
Clean-up of run method generation.
Partial  JFXC-1245 : Override keyword for functions
Disable override warning on the run method and other synthetics.
'override' on remaining compiler runtime functions.
Partial  JFXC-1245 : Override keyword for functions
Properties file.
Partial  JFXC-1245 : Override keyword for functions
Add 'override' in UI runtime (partial).
Removing statics
Removing statics
Removing statics
Removing statics
Removing statics
Added .equals to Color. Fix for 
http://openjfx.java.sun.com/jira/browse/JFXC-1673
Added .equals to Color. Fix for 
http://openjfx.java.sun.com/jira/browse/JFXC-1673
Removing statics
Fixed JFXC-1586, JFXC-1610, JFXC-1611, and did some clean-ups.
Removing statics
Removing statics
Removing statics
Tweak to Cursor
Partial  JFXC-1245 : Override keyword for functions
For compatibility with 'override' for class variables, if unspecified, 
inherit the access modifiers from the overridden function.
With regression test for this access inheritance.
Partial  JFXC-1245 : Override keyword for functions
More 'override' in UI runtime.
When translating a block, pass the target type to the final value expression.
This fixes JFXC-1625 and JFXC-1626.
Documenting where def means const
Documenting where def means const

Documenting where def means const
Tweak to attribute visibility in Color
Tweak to attribute visibility in Cursor
Don't care about switching L&F
Removing statics
Removing statics
Removing statics
Removing statics
Removing statics
Removing statics
Fix indent
MediaPlayer status shouldn't be static
Removing statics
Removing statics
Partial  JFXC-1245 : Override keyword for functions
Yet more 'override' in UI runtime.
Parse javafx.application.Frame class
Remove CAG from docs
Removed runtime-no-ui target
Added "Classpath for Compiling Sources" to the Netbeans Run-time libraries 
for the anim and javafxballs demos.
Removing statics
Added vertical attribute to SwingSlideR
JFXC-1577: No need for Orientation class at all
Fixed fxballs
Fixed fxpad
Fixed Assortis
Simplification in Font and Color
Font and FontStyle to text package.
Simplification in Font and Color
Fixed demos for move of Font/FontStyle
Added "Classpath for Compiling Sources" to the Netbeans Run-time libraries 
for the JavaFXPad, StudioMoto, and Tesla demos.  This ought to fix JFXC-1651.
javafx.scene.FontStyle -> javafx.scene.text.FontStyle, per Hudson failure 
mentioned in JFXC-1651.
A couple minor javadoc changes
Partial  JFXC-1245 : Override keyword for functions
Even  more 'override' in UI runtime.
Partial  JFXC-1245 : Override keyword for functions
Remaining 'override' in UI runtime.
Fixed  JFXC-1245 : Override keyword for functions
Last step: enable the warning on missing 'override'
Set class assertion status to false
Follow on for  JFXC-1245 : Override keyword for functions
Add 'override' in demos.
Doc bug fix JFXC-1440. Removed mention of static from lang ref.
Doc bug fix JFXC-1512. Typo change only.
Rich's WindowStyle enum
Rich's BlendMode enum
Follow on for  JFXC-1245 : Override keyword for functions
Undo commit of debug code
Follow on for  JFXC-1245 : Override keyword for functions
Undo commit of build-impl.xml
Removing statics
Removing statics
Static work
Static work
Static work
Static work
Static work
Don't run with compiler version check when building FX runtime, per Ken R
Static work
Static work
Static work
Removing statics
Fix to JFXC-1629 : Enforce readable modifier
Access from inner class special case.

Partial JFXC-1051 : Remove 'static' keyword
Remove 'static' from compiler runtime classes

Other clean-up in compiler runtime including use of readable and def where 
appropriate.
removing hacks
Removing statics
Fix to JFXC-1629 : Enforce readable modifier
Regression test for: Access from inner class special case.
Removing statics
Removing statics
attribute ==> var/def
Partial JFXC-1250 : Visibility modifiers
Syntax: allow 'package' modifier -- for now, punts to being the same as 
'public'
Removed temp work-around
Removing statics
Fixed JFXC-1245 : Override keyword for functions
Last part: no warning for script-level function override (same as static).
With new regression test for this case.
Fixed JFXC-1701 : Overriding an abstract with an abstract
Allow override keyword on abstract functions.
As a necessary side-effect, remove the mess in the parser that was trying to 
constrain modifiers.  This is now the responsibility attribution: JFXC-1703
Fix the demo methods that were dependent on this fix.
Removing statics
Removing statics
Removing statics
Removing statics
Removing 'attribute' in a few places
fixed modifiers on Stage vars
Removing 'attribute' in a few places
Removing statics
Removing 'attribute' in a few places
Removing statics
attribute => var/def
Removing statics
Removing statics
Removing statics
Removing statics
Removing statics
Removing statics
Removed old commented code
Last of the statics!!!
attribute ==> var
Fixed rendering of 2D javafxballs
Fixed build failure with Assortis
Changed JavaFXBalls to be Timeline-based, using a true 200Hz timer.
Trudging along on JFXC-1051 : Remove 'static' keyword
Remove it from several tests.

Also, fix misnamed class.
Replaced 'attribute' with 'var'.
merged new style docs from the preview branch
Phew on JFXC-1051 : Remove 'static' keyword
Last uses of 'static' removed from the repo (from tests).
All but pulling the switch on JFXC-1051 : Remove 'static' keyword
Once the switch is pulled, warnings will be generated on the use of 'statiic'.
The switch is a commented out line.
This change required flagigng all synthetically generated static members so 
that they don't cause a warning.
Default JavaFX locations updated
intellij-plugin: Compiler returns correct OutputItems
intellij-plugin: FXSnippets window updated
Doc bug fix JFXC-1178.
Prepare for JFXC-1591 : Can function parameters be assigned to? No.
Remove parameter assignments from tests.
Prepare for JFXC-1591 : Can function parameters be assigned to? No.
Remove parameter assignments from compiler runtime.
Prepare for JFXC-1591 : Can function parameters be assigned to? No.
Remove parameter assignments from runtime.
Fixed JFXC-1591 : Can function parameters be assigned to? No.
Error on parameter assignment.
With regression test.

Fixed JFXC-1106 : Assigning to parameter promotes param to IntLocation 
causing back-end error
Fixed by making it moot.
With regression test.
fixed Media:duraton and MediaPlayer:startTime,stopTime,mute, and volume
remove defunct production from the tree walker
Fixed JFXC-1659 : Crash in attribution for variable declaration within an 
expression
Disallow variable declarations, for now, in the middle of expressions.
With should-fail test.
Prepare for JFXC-1437 : + operator should not allow String concatenation
Remove String + from tests (partial)
removed ANTLR generated files, since they are not being generated in the 
source directory anymore
Prepare for JFXC-1437 : + operator should not allow String concatenation
Remove remaining String + from tests.

Note: some of this should be changed if JFXC-1725 is fixed.
Fixed JFXC-1437 : + operator should not allow String concatenation
Error generated with suggested string expression form.
With should-fail test.
Missing test update for JFXC-1437 : + operator should not allow String 
concatenation
Fixed JFXC-1700 : insertStatement wrong in v3.g
Align parser's handling of indexed sequences in insert before/after with that 
of tree walker.

Also, improve error messages.

With should-fail test and update to expected error message in another 
should-fail test.
FxParser updated to new grammar
javafxc.jar is taken from ../../dist/lib directory
Fixed JFXC-1132 : 'incompatible types' compiler error when using bind to 
create sequences of subclasses
Change attribution of for-loop bodies to propage the expected element type.

With regression test and update to expected error message in a  should-fail 
test.
Updated dependency for jmc.jar, updated jmc.jar to match
added root-path support
moved header nesting
added descriptive navigation text
removed dead css
consolidated some styles by color
fixed exceptions when generating previews of swing components. (though, they 
still won't actually draw themselves)
turn of [+] if only a first sentence description
turned off unnecessary headers
turned off unnecessary debugging statements of script evaluation
tweaked css styles
added extra attribute table elements
Replacing Errors with RuntimeExceptions (part of JFXC-1642).
IntelliJ plugin: FxTokens class checks for tokens in v3Parser, FxAnnotator 
added
Changing the NetBeans project type for the compiler from "NetBeans project" 
into "FreeForm Ant project". It should simplify the IDE integration. I have 
inlined the build-impl.xml into the main build.xml which should allow for 
further simplification of that script. Also added NetBeans IDE binding files 
for being able to work from within NetBeans IDE. Command line build 
invocation should remain unchanged. Moved the file project.properties from 
nbproject to the main folder. nbproject now contains only the IDE integration 
but should be irrelevant for the command line build.
Fixed JFXC-494 : Script importing
Allow automatically detected imports of script-level 'def', 'var', 'function' 
, 'class'.
Like Java static import, but without having to say 'static'.
With suite of regression tests.

Also..
Really Fixed JFXC-169 : Compilation error in compiling subclass/superclass 
pair
Whose test had been put in should-fail.
Fixing the build failure for the demos. The build scripts for the demos 
inherited wrong variant of the depend macro.
removed dead file, renamed custom xsl, removed extraneous text
Move completion for JFXC-169 : Compilation error in compiling 
subclass/superclass pair
Test was 'moved' into regress,  the 'move' should have, but did not, remove 
it from 'should-fail'.
Deleted from 'should-fail'.
IntelliJ plugin: typo in snippets
further support for overrides
made 'void' return types not be a link anymore
turned off jumpdown links
turned off "More[+]" links if there is no extra description
Fixed JFXC-2052 : Remove 'static' keyword
Last step: generate warning on the use of 'static'.
Partial JFXC-1250 : Visibility modifiers
Implement 'public-readable' modifier.
Deprecated 'readable' still supported (without warning) for now.
Add 'non-writable' modifier, not yet enforced.
Updated JFXC-1629 tests to use 'public-readable'.
Added documentation for javafx.lang.DeferredTask and javafx.lang.Sequences 
(JFXC-1584).
Simplifying the main build script. Getting rid of macros and other esoteric 
ant features. No more -pre-pre-xxx targets.
Simplifying the main build script, part 2: fixing run and run single targets.
Main build script: force the user to supply arguments when invoking run or 
debug.
Fixed JFXC-1723 : PlatformPlugin is broken
Fixed consistently with Michael Krivoruchko's suggestion (thanks)
Consider if var is static, when making a change listener call (JFXC-1563).
Added a check to make sure only vars are used in assignments within an 
object-literal (JFXC-1488).
Report error if bind with inverse unless the bound expression is
an identifier or a select.
This fixes JFXC-1093.
This adds the test-file with all language features, which was recently 
created by David, to our automatic tests (JFXC-1727).
Test added to make sure we are able to analyze all the language constructs.
Test: mod instead of %.
Moved last relict of superclass-handling from javac to method 
attribSuperTypes(). This fixes JFXC-1596.
Fixed JavaFXBalls 2D rendering
JavaFXBalls: Added ability to set initial Ball Painting via 
javafxballs.vector Setting
Removing private keyword
Removing private keyword
Removing private keyword
Removing private keyword
Removing private keyword
removing attribute
removing attribute
removing unnecessary directory
removing attribute
removing attribute
removing attribute
removing attribute
removing attribute
removing attribute
Removed attribute
Removed attribute
Removed attribute
Removed attribute
Test for JFXC-1117 added.
Fix build by removing broken test
Doc bug fix JFXC-1748
Doc bug fix JFXC-1749 script imports
Fix "ant test-single" behavior
Preserve comments about aggressive purging so that they can inform a more 
rational WR-purging approach.
This commit, among many other things, implements the variable initialization 
mechanism detailed in the email thread --

  Problem: script-level variable initialization and script bodies

Including

  function main() { ... }

To declare the main-code executed on launch.

Fixed JFXC-1769 : script level var not initialized in time
Revamp script variable initialization
With regression test.

Fixed JFXC-1761 : initialize$() on script-level not executed
Initialization put in proper place now
With regression test.

Fixed JFXC-1646 : variable visibility issue
On replace no longer changes visibility
With regression test.

Fixed JFXC-1721 : Script.fx: 'var a = 0; Script.a' fails
Script-private class access now works.
With regression test.

Partial JFXC-1250 : Visibility modifiers
Accessibility modifiers now work consistently (if not yet completely 
implemented)
Positive regression test: things are, at least, as accessible as they should 
be.

Tests and demoes updated to new rules for main-code.

A new bug and a new case of an old bug are exposed by these changes -- as 
reflected in tests moved to currently-failing.

Two follow-on task still need to be implemented.
This just in, while I was finishing my last commit, the decision was made 
that the name for the script launch function should be 'run':

  function run() { ... }

This commit makes that change.
Fix lineends
Doc bug fix JFXC-1750 String concatenation.
Bug fixes: JFXC 1399 & JFXC 1564
Doc bug fix 1747
Updated antlr to 3.1
add override keyword to clean up warnings
change  to mod
change  to mod
update attribute to var
update mod operator
update attribute to var
update attribute to var
update attribute to var
update attribute to var
update attribute to var
update attributre to var
update attribute to var
update attribute to var
update attribute to var
update attribute to var
Remove 'private' keyword from workspace
clean-up
javadoc part of clean-up
Moving anim demo to closed workspace
Moving bounce demo to closed workspace
Moving Calculator demo to closed worksspace
Moving Guitar demo to closed workspace
JavaFXBalls to closed workspace
runtime/sandbox moved to closed workspace
runtime/test moved to closed workspace
Removed un-needed swing-layout.jar
Moved StudioMoto to closed workspace
Moto back for a bit
Correct repeatCount handling when duration = 0
Patch build.xml to not build runtime or demos (more extensive surgery 
required to truly separate compiler from runtime and demos)
enabled all compiler warnings and fixed them
removed empty directory
Fixed JFXC-1266 : Proper functiioning of public, protected, and 
script-private for methods
Fixed JFXC-1267 : Public, script-private, and protected access for class 
variables
Fixed JFXC-1795 : Support 'package' modifier
Implement and enforce script-private (default) access (previously was some 
mixture of private, package, and public access).
Implement and enforce 'package' access (previous was same as public).  Not 
correctly implemented on script-level classes, but this has been broken out 
as a separate issue -- see JFXC-1800.
Attach access annotations to classes and read them (when they are members).
Update JavaFX source in compiler runtime and tests to have correct acces 
modifers.

Probable fix to JFXC-1703 : Disallow more than one of private, public, 
package in Attr
But no regression test yet

Some work on JFXC-728 : script-private class variables not hidden from 
subclasses
Further removal of 'runtime' from compiler build.  Still work in progress.
Remove download of scenegraph since it is no longer needed.
cleaned up IDE warnings in javafxdoc
Fixed JFXC-1800 : Package access on script class
'package' now interpreted correctly when on a script class.
Tested by using 'package' on several classes in other tests.

Also, a little clean-up in AbstractGeneratedParser and MiTest.
Test for JFXC-1117 added (to the test/sandbox this time).
remove old project from the sandbox
Made javafxdoc project openable in the NetBeans IDE.
Made javafxdoc project openable in the NetBeans IDE (2). javafxdoc should not 
fail after clean after this.
Add back scenegraph update -- used by compiler runtime animation
Move generation of javafxrt.jar into main compiler build
Removed swing-layout reference
Preliminary fix for JFXC-1810 : Package code cannot write to 'public-readable 
package var'
Rushed to fix blocker.  Further testing and analysis needed
Preliminary fix for JFXC-1811 : Cannot access package members/classes in Java 
file
A currently-failing test and some baseline work on JFXC-1812 : Problem with 
inherting protected access from superclass
Fixed JFXC-1810 : Package code cannot write to 'public-readable package var'
Bulk of fix was in preliminary fix in r3798.
Tests added as extension in JFXC-1250 test.
Error messages improved.
'non-writable' access modifier implemented.
Moved StudioMoto to closed workspace
Fixed JFXC-1811 : Cannot access package members/classes in Java file
Bulk of fix was in preliminary fix in r3799.
Regression test added.  Note Java source is in regress_java_src.

Also, update EXPECTED file error text.
Moved Tesla to closed workspace
Make javafxdoc more accessible to tools. Also make the naming consistent.
Make javafxdoc more accessible to tools, part 2.
Fix JFXC-1600 and JFXC-1647; incorrect sequence triggers on bound sequences 
that involve indirection (a.b) or conditionals.
Fix bug in JFXC-1600 test
Fixed JFXC-1817 : non-writable doesn't allow init
Better test for jfxc-1600
Migrate pseudo-variable resolution out of Util and into PseudoVariables; 
cleanup in IndirectXxxLocation classes; substitute use of clone().
support for merging multiple xml docs
Partial JFXC-1250 : generate error on defunct 'readable' modifier
Convert remaining uses of 'readable'
Partial JFXC-1802 : deprecation warning on use of 'attribute'
Convert remaining uses of 'attribute' to 'var'.
Conversion was done in tests, in examples, and, except in cases where 
interpreter syntax appeared  in the sandbox
Partial JFXC-1802 : deprecation warning on use of 'attribute'
Correspondingly, update EXPECTED files for should-fail tests
Partial JFXC-1802 : deprecation warning on use of 'attribute'
And remove a test which now makes no sense
Partial JFXC-1802 : deprecation warning on use of 'attribute'
Convert 'attribute' to 'var' in additional sandbox files.
Partial JFXC-1802 : deprecation warning on use of 'attribute'
Convert 'attribute' to 'var' in remaining test files.
Fixed JFXC-1808 : error on defunct 'readable' modifier

Fixed JFXC-1801 : deprecation warning on use of 'private' modifier

Fixed JFXC-1802 : deprecation warning on use of 'attribute'
And convert a wily 'attribute' hiding in a source zip.
Fixed JFXC-1001 : Not able to extend generified java class in fx.
Use default printStackTrace() method (no semantic change)
Remove unnecessarily isAssignableFrom() tests.
Moved gui-design-log.txt to closed workspace
sdk-dependencies not needed
changed attribute to var in affected chapters
Begin the process of building v4 of the JavaFX lexer/parser.

This version will remove the need for an ANTLR AST walker and produce
the JavaFX AST directly from the parse. This requires moving some of the
helper methods from AbstractGeneratedTreeParser.java into
AbstractGeneratedParser.java and creating a new ANTLR grammar v4.g
which will eventually take over from v3.g and v3Walker.g.

Note that this commit only adds v4.g to the repository so it is tracked
and does not replace the current v3 parser. The v4.g parser generates
java code using the ANTLR 3.1 tool but the resulting code is not yet
able to compile. You can safely ignore it for now.
Alter the Netbeans project deifinition to reference the released version of 
the ANTLR 3.1 runtime so that code completeion and so on works correctly.
Update parser super class to incorporate new JFX tree building methods.
Ongoing modifications for version 4 of the JavaFX ANTLR parser.
Disable test that tests for CCE on incorrect upcast
added javafx.reflect to javadoc list
Replaced RuntimeException("NOT IMPLEMENTED") with NotImplementedException. 
This makes it easier to find them later. (JFXC-1642)
Check for null before comparing strings.
Print error-message instead of crashing, if a FunctionType with more than 
eight parameters is found (JFXC-1642).
Moved Assortis to closed workspace
Spot fix swapping instance variable for member variable, plus minimal mention 
of def. Lang ref is in need of re-org at this point.
Remove a questionable (for JavaFX) assert in code generation.
This appears to fix JFXC-1660.
Removed dependency on LinearGradientPaint (part of JFXC-1782).
Removed check of java version. Added script-api.jar to classpath when 
javafxdoc is build. (JFXC-1782)
fix for JFX-1832 Packages get multiple listings if they are in multiple XML 
files
fixed sort order of classes
integrated the sdk theme into the doctool, made it the default
turned off custom xsl since it's no longer needed
Fixed JFXC-1821 : Default script-only var should not be accessible from 
subclass
Fixed JFXC-1819 : Request 'public-init' modifier
Fixed JFXC-1703 : Disallow more than one of public, protected, package
Fixed JFXC-1845 : Add 'public-read' access modifier

Which, in combination, fix the umbrella issue --
Fixed JFXC-1250 : Visibility modifiers
Visibility modifier overhaul.
Extensive suite of should-fail tests address the plethora of uses access 
modifier cases, including those of the component issues.
Interim check in of v4 grammar, just as a snapshot place holder.
Do not try to use this yet.
Cpnverted remaining uses of 'non-writable' and 'public-readable' in the 
compiler runtime and tests to use 'public-init' and 'public-read'.
This is a follow-on to JFXC-1250 : Visibility modifiers
Add compiler error indicating that compound strings can only consist of 
string literals and not expressions
Add compiler error indicating that compound strings can only consist of 
string literals and not expressions - Ensure MsgSym is up to date/in sync
V4 Parser

        - completed AST building actions, to replace ANTLR Tree Walker.
          NB: Generated Java code will not compile just yet, imports to fix;
        - Implemented optional ';' at any brace, can now discard lexer 
override
          to achieve the same result;
        - Allowing multiple COMMA and SEMI in some places but not others is 
now
          orthogonal. Can have multiple delimiters anywhere and extras are 
ignored.
          NB: This needs reviewing - is this what the language is 'specified' 
as
          allowing, or did ti fall out of previous grammar structure?;
        - String literals are now allowed to be compounds such as "Jim Idle" 
"was here on {date}"
          mutlple string literals are merged at compile time whereas embedded 
expressions
          are evaluated at runtime as per before;
          NB: Strings will be prevented from spanning muliple lines in a 
later change.
        - SEMI rationalization in co-ordination with braces.
          NB: Needs regression testing to make sure that statements are still 
synonymous
          with expressions in all cases.
        - Grammar is fully commented, thoguh certain constrcuts need more 
explanation.
Change v4 parser to support new public-init and public-read decorators.
Fix variableDeclarator typos for v4 grammar
Fix operator return types from operator parsing rules for v4 grammar
Fix operator return types from identifier rule for v4 grammar
Fix onReturn clause referencing wrong rule name in return type attributes for 
v4 compiler
Fix insertStatement rule reference typos for v4 compiler
Fix tryStatement rule references for v4 compiler
Final typos and ruler reference misnomers fixed for v4 grammar. Generated 
java now compiles cleanly.

Now that we are back to square one, albeit with a grammar that should build 
ASTs except for catastrophic errors, we can run regression tests and then 
switch to the v4 grammar at our lesiure. This switch will happen some time 
this week, and at that point perhaps it is a good time to pull the plug on 
constructs and keywords that are removed from the final language spec.

Next begins the process of error recovery and reporting improvements to 
support the downstream tools such as code completion much more cleanly.
Fixed JFXC-1057 : variable type inferenced to '? extends ...' type
Fixed JFXC-1726 : NPE throws with for loop containing if block having break 
statements
Set compiler-target to 1.5 if running on Java 5 (JFXC-1782).
Added regression-test. Issue was already solved. (JFXC-1507)
Use return-type of enclosing method if return-statement is found in 
BlockExpr. This fixes JFXC-1677.
The fix for 1677 works also for JFXC-1676. Added regression test.
Create a V4 version of teh Parser super class as it will be sufficiently 
different
from the v3 version that it would break the v3 parser.
V4 parser.

Fix override declarations to take correct path for 'override' other than
for override function.
Reinstate prior comitted fixes after SVN mix up.
Remove obviated syntactic predicate from v4 parser grammar.
Improvements to Timeline: 1.) Position control 2.) Interpolation on/off 
switch 3.) Speed control 4.) Default interpolation = LINEAR; also optimized 
key-value-pair lookup
Remove the use of an "SPI" to find the JavaFX runtime implementation.  This 
is not currently
used anywhere and is adding significant overhead to the startup of simple 
JavaFX applications.

For example for the following simple script and the corresponding java 
version:

=== hello.fx ===
import java.lang.System;

System.out.println("Hello World");
===

=== hello.java ===
public final class hello
{
        public static void main(String[] args)
        {
                System.out.println("Hello World");
        }
}
===

Gives the following results averaged over 5 runs (Mac OS X 10.5.4, JDK 
1.6.0_5):

Test            real    user    sys     class cnt.      alloced bytes   
alloced objs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
java            0.136   0.082   0.04    336             547416          2272
nospi           0.184   0.1     0.042   427             813736          4200
with spi        2.818   0.528   0.14    917             2280888         12078

  So removing the SPI makes JavaFX much more competitive to Java ...
Update v4 parser with new rule names and error message regarding local 
variable declarations not allowing access modifiers
Add generation of v4 parser to the build so that it no longer breaks it.
fixing build
update modifiers to latest incarnation
Revert 3868->3869 as there is an implementation of the SPI hiding out 
there ...
Fix error message name in MsgSym
Handle reflectively getting var (field) values.
Hence improved support for mirroring values: primitives, objects, sequences.
Enhance test suite.
Make the v4 parser callable instead of the v3 parser.

To use the v4 compiler:

export JAVAFX_COM_V4=1

Windows: set JAVAFX_COM_V4=1

Leave unset (do nothing) to use the v3 compiler.

NB: This is not ready to use yet.
Fixed JFXC-1864 : Use arguments name specified in run(argsName : String[]) 
function
Fixed JFXC-1862 : 'var' declaration as last statement of function causes loop 
on execution (and other bad acts)
Fixed JFXC-1863 : Check for multiple run functions
Fixed JFXC-1776 : Check for malformed 'run()' function parameters
Fixed JFXC-1823 : back-end error on bound function with variable declaration 
as function value
modified test so they don't hang the build
So that some semblance of order is restored, have marked these tests as 
failing (but have not moved to currently failing since they are regression 
tests)
Moving failing tests to currently-failing.   JFXC-1867 has been opened to 
address failing tests.
Separate v4 lexer and parser, change build to reflect this and provide
a new super class for the generated lexer. The v4 lexer cannot use the
same super class as the v3 lexer but we cannot direct the super class for
the lexer in a combined lexer/parser grammar. In the end, this is neater.
Prevent building the v4 parser twice if we build it because the lexer changes
Fixed JFXC-1865 : explicit run() returns null
fixed by commit r3878 verified by this test.
Allow semi colons to be optional after any expression by using single token
predicates to resolve expression trees immediately and thus remove the
need to disambiguate via the semi colon in an expression used as a statement.
Fix slight mistype of syntax structure for ON REPLACE in the v4 parser.
Avoid some duplicated code by pulling add/RemoveListener up into 
AbstractVariable.
Eliminate runtime from compiler workspace
Eliminate vestige of runtime
Fixed JFXC-1828 : API crash -- ClassCastException: JFXVarScriptInit cannot be 
cast to JFXVar
Add back temporary demos-clean target so that Hudson doesn't fall over
Enable typed arguments to be optional in v4 parser
Prep for JFXC-494 : Script importing (functions)
Remove unused explicit "static" infrastructure
JFXC-1399,  minimum duration of 1ms to prevent zero duration animation 
running into tight loop.
Since Hudson no longer needs it, removing  temporary demos-clean target
adding support for bit operations to library
removed redundant operation
        - Fix incorrect sequence parse
        - Change lexer to parser numbers, DOT and DOT DOT without resorting 
to override
          of ANTLR emit() method.
        - Enhance number parsing to provide specific errors about numbers 
being in error
        - Ensure AST is built by script element rules
Add new compiler error messages to support new number lexing code.
Tweak to lexer error message resource
Update lexer to use the newly created lexing errors.
Reflection: Support method enumeration, getting a named method,
and invoking a method.
Add tests.  Remove run method from test.
Eliminate some unused classes
DeferredTask.action is public-init
Added note about def
Fixed JIRA-1751 doc bug (function override)
Fixed doc bug JIRA-1756 function params are immutable.
Ensure that the V4 parser initalizes all required variables and maps before 
startign to build the AST.
Ensure that teh endPos method does not look beyond the end of the token 
stream when constructing AST spans
        - Various fixes for parsing errors shown by current regression tests.
        - Fix final AST build
        - Streamline the requirements for SEMI colon and trailing syntactic
          sugar elements such as COMMA. Yet to create new warning messages
          for mutiple embedded delimiters such as func(x,,,,,y)

        The parser can now basially make sense of any expression and does not
        require a terminating semi colon for statments except in the case 
where
        a syntactically traling expression is optional, in which case the
        SEMI colon is required. Currently the only case of this is the return
        statement, where:

                return 111 * 6
        and
                return 666;

        Are both perfectly valid, but

                return
                a;

        Evaluates to 'return a' and must really be:

                return;
                a;

        This issue is in fact left over from the prior language definition 
and is
        an accident waiting to happen. I think that the parser will have to 
be more
        shady here and assume that a newline following a return indicates that
        there is a semi colon missing. This will catch about 99% of cases 
(perhaps
        there are no other cases in fact) and will be semantic rather than
        syntactic in nature which means downstream tools can catch it easilly.
JFXC-1754 tightened rules for object literals
Preliminary fix for JFXC-1870 : Compiler crash compiling JavaFXPad
Remove prior mechanism for addressing script-level variables and their 
initialization.
        - Correct lexer flaoting point rule taht missed out exponents
          of integer values (required .nnn)
        - Add (temporary) ability to dump the JFX AST in readable
          form for manual verification
        - Fix a mistake only a genius could have made and make sure that
          operators reuse the AST currently built if performaing  n * n * n
Fixed JFXC-1870 : Compiler crash compiling JavaFXPad
Fix remaining issues.
make sure the highlighted code will still be shown even if compliation fails
removed extraneous greater-than signs
        - Ensure that documentation comments are correctly located now that 
modifiers
          are handled as one unit and (will be) check when attributed.
        - Ensure that documentation comments and the end pos map are set in 
the
          final JFX tree after the script is parsed.
        - Ensure that JFX AST nodes are created with the same token
          position as they were in v3, except when v3 is wrong (or
          perhaps, less correct. The 'should-fail' tests may
          need updating to accomodate this.
Provide detailed information about which source has caused the compiler to 
crash.
So far only applies to the translation phase.
Better info when nested ...
Provide detailed information about which source has caused the compiler to 
crash.
So far only applies to the translation phase.
        - Change start and end positions of insert sequences
          to match v3 as regressions tests want it that way. Needs
          review as perhaps the editirs want slightly different
          positions, but perhaps not.
Test started failed(http://openjfx.java.sun.com/jira/browse/JFXC-1804). 
Removing for analyzing the root cause.
Fixed JFXC-494 :         Script importing (function)
Script importing now works with functions too.
Regression tests have been extended to include this case.
Does not address function overloading, see JFXC-1889
        - Correct unit test JFXC746Test.java which had no assertion messages 
and was
          asserting based on a value that happend to work on v3 AST but won't 
on v4. It now
          checks for the correct value.
        - Tweak the AST start and stop positions that JFXC746Test.java was 
looking for
          so they span CLASS and } exactly.
        - Put back regression test that changed too early.
Fixed JFXC-1777 : java.lang.Object should be auto-imported
Fixed JFXC-1875 : public-init variable is boundable from outside the script
Regression test is new test within JFXC-1250 framework.
        - Reinstate old version of test 746 until ready to switch to v4
Fixed JFXC-1894 : Remove __ARGS__ concept
        Switch to v4 parser as all regression tests now pass.
        =====================================================

        This change implements version for of the JavaFX parser, which
        is eessentially a revamp in order to provide much better error
        recovery for downstream tools such as code copmletion. This work
        will start in earnest as of now.

        While I have made every effort to pre-verify the parser (obviously
        all the regression tests pass), I would not be surprized if you
        see a few side effects, such as actually getting more errors than
        before for a single error. However there are a number of improvements
        in this regard too.

        This parser also incorporates the following changes:

        Semi colons
        -----------

        This parser, for the very short term, is very relaxed about enforcing
        the use of semi colons. In fact in almost all cases it just works out
        what you meant and does not complain. Do not rely on this though as
        shortly it will revert to giving sematic errors about this and because
        the semi-colon cannot be completely abandoned (such as return;) it
        will still be required on all statements. You wll not though that it
        tries to look at your code as you woudl and does not require lots of
        extra semi colons for contructs such as if (x) {}, which would be
        annoying.

        Basically the result of this change is that the parser will behave as
        you probably expect it to when you look at the code with the human
        perspective.


        Literal strings
        ---------------

        You can now use compile time evaluated compound strings, which allows
        you to create multi line strings liek this:

    x = "Start"  // Lead in
                "more stuff" // More stuff
                " and so on"
        ;

        Currently the lexer does allow literals to span multiple lines, but
        this will change very very shortly and then you will need to change 
to:

        x = "something\n"
                "next line\n"
                "and so on\n"
                "gor blimey guvvner";

        Regression tests for this stuff will be built immediately after this
        check in - what you have now should work, but the new constrcuts have
        not been completely tested as of now.

        Please report any problems you might find - I apologize in advance for
        anythign that I have missed but if you have been following the
        commits, you will realize that this is quite a substantial change
        from the v3 compiler. The effects of this are meant to improve things
        not change things (other than previously agreed changes mostly in
        v3 already.)

        Jim
Reverted name-change of __ARGS__, because it caused a depending project to 
fail. Whatever the new name of __ARGS__ is going to be, it must be a legal 
identifier. (JFXC-1896)
Convert a local Function value to a FunctionValueRef.
Remove use of Number in FX APIs, to eliminate implementation dependence; move 
Object->{Integer,Double} calculation to Numerics.
Re-Fixed JFXC-1894 : Remove __ARGS__ concept
improved the look of the 'more' links
Fixed JFXC-1720 : Compiler throws ClassCastException for the following 
function definition
fixed with recent fixes to var declaration at end of function fixes.  
Verified with this regression test.
made the selected class more obvious
Fixed JFXC-640 : There's something about 'com'...
Fixed JFXC-1433 : Cannot compile class when attribute has the same name as 
the class itself
Clean-up .
Including fixes to incorrect names.
Generalize fix for JFXC-640
Centralize and generalize class variable access.
Remove used but effect-free and only partly implemented BindExpression.
Complete: Remove used but effect-free and only partly implemented 
BindExpression.
The block-expression specific subclass of TransTypes was not being used 
because it was missing from the special accept() code in 
BlockExprJCBlockExpression.  'Fixing' this causes failures, indicating the 
unused implementation is flawed.  Remove and do not preregister it.
Fixed JFXC-1859 : public-read variable can be written from outside the script 
using bind with inverse
Fix is to apply full visibility analysis on the inverse expression.
Regression tests added to the suite for JFXC-1250 : Visibility Modifiers
Fix regression test to match more accurate bind with inverse position info.

All manner of code and comment clean-up.
Fixed JFXC-1815 :  Remove duplicate node test in PrepForBackEnd
Fixed JFXC-1392 : Mixed Integer and Number in bound range causes back-end 
failure.
        - Prevent v4 parser from NPE when the scritp contains one
          member only and it is in error.
        - Fix up all combinations of string literals and string expressions
          such that they now work in all combinations:

           "lit";
           "lit" "{expr}";
           "lit" "lit" "lit" "{expr}" "lit" "{expr}";
           "{expr}" "lit" "lit" "{expr}" "lit";

          and so on.
        - Change version of ANTLRWorks downloaded for tool bootstrap as
          the prior version 1.1.4 no longer exists. 1.2 is the current
          version.
Implement getAttribute(name) in a generic way.

Add test for getting a function-valued variable, and applying it.
        - Add new regression tests to verify new string compund constructs 
such as

            "{variable}" "lit1" "lit2"

          are correctly compiled and return the correct results at runtime.
Re-revert name change of __ARGS__ now that JFXC-1896 is fixed.
        - Add new error messages for reporting unterminated literal strings, 
unterminated embedded string expressions and unescaped right braces in 
literal strings
Implement support for SequenceBuilder and related sequence handling.
run-selected-file-in-sandbox updated to be able to compile the test from the 
NB IDE.
JFXC-1920. Created separate key value references for initial values
Move anonymous FunctionTypeRef to named LocalFuntionValue class,
so it can implement LocalValueRef.

Implement setValue method, so we can set attributes.
        - REmove teh keywords public-readable, non-writable and readable from 
the language.
        - Issue warnings for the use of keyword private.
        - Pass static through to attributing phase, where it will give a 
warning;
        - Fix range checking for integers that are out of range.
        - Use a zero value for literals that are in error so that the compiler
          does not abort and produces a valid AST.
        - Enforce string literal policy such that literals must be contained 
on one line
          and cannot span multiple lines.
        - Detect unterminated literals, pretend they are terminated, guess 
the value
          and pass on to the paresr so that an AST can be built but an error 
is still reported.
        - Enforce quoting rules for } - a right brace '}' that is not part of 
a string
          expression MUST now be quoted.
        - Correct regression tests that failed because of the above changes.
        - Add new regression tests for all of the above error detection cases.
        - Add regression test for checking that the compiler detects
          out of range integers.
Fixed JFXC-1926 : Statically import top-level functions in java.lang
Currently these functions are in java.lang.FX -- awaiting a final decision on 
placement.
But it doesn't much matter, they are all statically imported so the class 
isn't of any consequence.

Fixed JFXC-1924 : println
Added print(Object)  and println(Object).
Because of JFXC-1926 (above) they are ready for use, no import needed:   
println("hi")
With regression test.

Partial JFXC-1249 : Provide isInitialized() method for variables
Library function and the needed special processing during translation are in 
place.
It calls into AbstractVariable in the compiler runtime, but that isn't giving 
the right value yet, see JFXC-1929.
Also checks need to be added to assure only instance variable references are 
passed in.
Regression test added, but it is in currently-failing until the compiler 
runtime issue is fixed.
Reflection classes renamed, various methods renamed,
plus a bunch of other cleanups.
Fixed JFXC-1932 : Pre-user-default value of String and Duration instance var 
is null (which is invalid)
For example, the old value in the following used to be null:      var str = 
"Hello" on replace old { println("old={old}") }
With regression test.
Existing regression test expected values had incorrect assumption, this has 
been corrected.

Fixed JFXC-1929 : translation obscures isInitialized state
Use setDefault() instead of explicit default value so that the disrinction 
can be noted by the runtime.
Parent JFXC-1249 "Provide isInitialized() method for variables"  supplies the 
regression test -- not currently pasing awaiting other sub-tasks
Rename getMethod/getMethods to getFunction/getFunctions.

Partial support for object allocation.
Fixed JFXC-1925 : Auto-import types in javafx.lang
Automatic import of javafx.lang.Duration
Partial JFXC-1249 : Provide isInitialized() method for variables
Test for bad (non-instance-var) arguments to isInitialized.
RT-20, RT-62 and RT-68
- handled cycle and frame boundary cases
- corrected sub timeline running flag
        - Document lexer super class, remove redundant code and declarations 
and provide lexer error messages in grammatically correct English.
Fixed JFXC-1450 : Updating a local var in a bound object literal causes a new 
instance to be created.
Original summary: Updating a var in a bound CustomNode causes a new instance 
to be created
When the value of an object literal's local variable changes, a new object 
literal was created. This is incorrect semantics and has a severe performance 
impact on some applications. Changes to local variables which do require a 
new instance of the object literal are captured anyhow by virtue of their 
impact on the instance variables of the object literal.
They are now passing again, move the Interpolator_TS304_0*.fx
tests back to test/functional/animation/fx
and mark them as passing
        - Document parser super class, remove redundant code and declarations 
and improve error messages. This check in will
            break regression tests for about 20 minutes while I move from 
Windows to Linux.
        - Change how the number of tokens that the lexer produces is tracked 
so
          it is more reliable.
        - Change expected output of some regression tests now that the error
          messages have been clarified a little.
Fixed JFXC-1911 : Check that there are no access modifiers on local variables
Fixed JFXC-1916 : Compiler should emit a warning for vars declared as both 
public-read & public-init
Both with regression tests.

Intended fix of several other bugs in JFXC-1909, but that will need more 
regression tests to verify, and Jim is waiting on this.
Normalization of access flag handling.
Regression tests in the 1250 suite updated to include the new warning.

Local variable access modifier testing commented-out in v4Parser.g
Add partial support for other Java primitive types (short etc).
New FXFunctionType.  Use it.  This fixes a bug where minArgs wasn't
getting set, and so parameter types weren't printed.

In makeTypeRef, treat a TypeVariable as Object.  This is a kludge,
but fixes a ClassCastException and is good enough for now.
        - Improve error message output, including distinguishing different
          types of error recovery, such as missing or extra tokens, cleaning
          up rule naming conventions and being more specific about what is
          wrong with the input.
        - Remove warning regarding modifiers used on local variable 
declaration
          as this is now performaed by the attribution phase.
        - Simplify grammar for script items as we don't have to distinguish
          local vs script level declarations any more.
        - Improve recovery for script level elements being in error
        - Move all remaining grammar @members into the super class.
        - Finish documentation of the super class AbstractGenerateadParserV4
        - Change regression tests affected by error message changes
Fix JFXC-1934, which closes JFXC-1249 (isInitialized(var) support).  To 
implement this, the XxxVariable classes were modified to use a single state 
variable rather than an explosion of state flags.
Add minimal support for boolean primitive type.

Add support for Java array types.

Change FXMember.getDeclaringType to return a FXClassType,
and rename to getDeclaringClass.

Sort Members as returned by getFunctions, getVariables etc more
fully, not just by name.  This should make the results more repeatable.
(And hopefully fix the Hudson build.)

Fix some indentation (whitespace) mistakes.
Printing error-message, if a catch-block is found within a block-expression. 
This is currently not supported (see JFXC-1345).
Fixed JFXC-1940 : Disallow isInitialized access without write access
Make access checks specific to isInitialized().
Regression test added to 1250 suite.

This is the last issue in the umbrella so it is fixed too --
Fixed JFXC-1249 : Provide isInitialized() method for variables
Regress test expanded to cover use in 'on replace' and assorted types.
some negative tests for run
couple negative tests that compile
Correct the two tests added in r3985 -- so that build will succeed.
'/fail' must be removed from '@test' on should-fail tests which aren't 
failing and are moved to currently-failing
Skip "javafx$run$" method.

In test-suite, check for object allocation.
That fails for non-public classes, so move the test classes
into deperate files, so we can make them public.  That's a
more realistic case, anyway.

Other cleanups in test-case, such as removing (most) "Attr" words.
invert test tags
Implement FXLocal.VarMember.isStatic().

Add tests for accessing script-level (static) members.
        - Implement new methodology for tracking missing semi colons in the 
input
          without having to create grammar based syntax errors.
        - Provide regression tests for detecting missing semi colons.
        - Correct a few tests that were in error and actaully had missing
          semi-colons.
        - Provide new error messages for missing semi colons.
        - Minor adjustments to error reporting positioning.
        - Small fix for detecting erroneous hex constants.
        - Adjust some regression tests because the old error message (just 
got confused)
          is now replaced by better ones such as (got confused because you 
missied out a xxx)
New test case.
Improvements for JFXC-1376 : Ensure that when an required identifier or name 
is missing
from the source code, a fake node is produced whose identifer name/text is 
always:
   <missing IDENTIFIER>
which is not a valid identifer name and so is easilly identifed when walking 
the AST.

Consider the inpput:

import javafx.gui.*;

class Box extends Rectangle {

 var g = indexof
 var

}

The compiler now issues the error messages:

t4.fx:5: Sorry, I was trying to understand an identifier but I got confused 
because you seem to have missed out 'identifier' which is an identifier that 
should be there.
 var g = indexof
                ^
t4.fx:8: Sorry, I was trying to understand an identifier but I got confused 
when I saw '}'.
 Perhaps you are missing a 'identifier'.
}
^

But, when you examine the AST, it looks like this:

import javafx.gui.*;

class Box {
    var g = indexof <missing IDENTIFIER>;
    var <missing IDENTIFIER>;

}


Looking for feedback as to whether this is an appropriate way for the IDE 
tools
to discover this, or whether an error node is preferred (more difficult to 
engineer
but I will do it if preferred.)
Fixed JFXC-1644 : Ensure that For predicates derived from [ s | s ...]  have 
the corect starting position in the AST and include the left bracket.
Fixed JFXC-1680 : Ensure that type cast AST nodes include the expression that 
is being cast.
Add basic support for object construction, specifically setting
"parts" of the new object, as in a object literal.
Fixed JFXC1708 - Class has wrong AST position
Fixed JFXC1709 - FUNCTION call has wrong AST position
Fixed JFXC1710 - var/def  has wrong AST position
Fixed JFXC1711 - Function definition has wrong AST position
Fixed JFXC1712 - For in clause has wrong AST position
Fixed JFXC1713 - Sequence clause has wrong AST position
Fixed JFXC1714 - Interpolate values has wrong AST position
Fixed JFXC1716 - SequenceDelete has wrong AST position
Fixed JFXC1717 - SequenceInsert has wrong AST position
Fixed JFXC1718 - SequenceSlice has wrong AST position

Fixed the position entry in the JFX Tree for all the above elements. Update
junit expected output for all regression tests that are affected. Changed
assert in JavafxInitializationBuilder so that you can tell which value is 
wrong if
it fails.
Infrastructure for missing nodes in the AST.  Which support in the API -- 
query with isMissing().

With two cases: one for a concrete missing node (identifer), and one for an 
abstract missing node (expression).
Can be extended to other nodes by hum a few bars.

Parser changed to create a JFXMissingIdent when missing

Test to show that missing identifier is indeed marked as missing, and that 
nothing else is.
Removed obsolete tag.
Ooops, reverting last change, which was done by accident.
JFXC-1309: parse the .fx source files explicitely by the fx compiler.
Fix missing initialization of context in SequenceValue constructor.
Copy EXISTS flag from Java package symbol to JavaFX package symbol.
This fixes JFXC-1901 "Very misleading error message:
  'package ... does not exist'".
String type should not allow null
Updates and changes to being supporting full error recovery as
per the test JFXC1117Test.java.

Changes for JFXC1117

        - Update the test itself to use the correct version of the lexer and
          ANTLR runtime.
        - Implement new JFX AST node JFXMissingTimeLiteral so that tools
          inspecting the AST can see that the parser manufactured such as node
          as it worked out that it was causing a syntax error.
        - Implement super class of ANTLR ComonTOken so that the parser can 
easilly
          distinguish a manufactured token from a normal one.
        - Implement detction of manufactured Idents and time literals and 
create
          corresponding erroneous AST nodes when detected.
        - Prevent some, but not all of the exceptions caused by building 
warped
          ASTs caused by very erroneous input. Eventually all such problems 
will
          be coded away.
        - Implement start of specialized recovery for class members that are
          very erroneous, such as missing their type (FUNCTION etc) which 
means
          the parser cannot determine where it should attempt to start 
parsing.
          For now, do a simple resync - tomorrow do a sophisticated one.
Beginning work on JFXC-1878 : Location elision for member vars
NPE fixed by adding a check for NPE. Patch by Rastislav Komara.
Make the AllTrees.fx test class non-public to allow for the loose expressions 
bellow.
Test for 1117 updated to save the files (to a temp directory) together with 
the exception encountered.
Remove diagnostic code committed by accident.
fix for JFXC-1914 javafxdoc output seems currently to be biased towards the 
SDK documentation
removed the old frameset index.html
changed code to generate the overview-summary.html to the index.html instead
removed generation of overview-frame.html since it is no longer needed
removed obsolete hack
Use UnsupportedOperationException rather than NotImplementedException,
in one place.  This fixes RT-448 "NoClassDefFoundError thrown".
Fixed (I'll assume) JFXC-1895 : javafxdoc doesn't recognize public-init or 
public-read access modifiers
I have added the following to FieldDoc(Impl) --

  isPublicRead()
  isPublicInit()
  isDef()

The last, though not requested, you will need to report in the docs too.

In the process I noted that the general access control information 
isPackagePrivate() was incorrect (note the docs should indicate this as 
'package'), I have fixed isPackagePrivate().  Also there was no:

  isScriptPrivate()

So, I have added that to ProgramElementDoc(Impl).

And, the modifiers() method was return a wrong string, so I have fixed this 
too.

I have added the corresponding methods to XMLDoclet.java since, sadly, there 
is no interface.

And, finally, I have tested none of this, since I don't have that set-up.  
Let me know if anything is broken.
Fix-up to JFXC-1895 : javafxdoc doesn't recognize public-init or public-read 
access modifiers
Partial JFXC-1957 : Track and print optimization statistics
infrastructure and tie-ins
Progress against JFXC1117

        - Add new AST Missing/Error node for erroneous type specifications.
        - Add ability to create new node type in the parser
        - Add default error recovery explicitly to parser rules in prepartion
          for custom handling at the granularity of grammar rules.


Also:

        - Move Lexer members specified in the grammar to the Abstract lexer
          super class.
Follow-on to JFXC-1895 : javafxdoc doesn't recognize public-init or 
public-read access modifiers
'bound' is now properly included in modifiers, so the special-case addition 
isn't needed (causes duplicate).
Create directory for performance test helpers; create test helper for 
exercising sequences
Add stream use case to SequenceExerciser
Bugfix, time printing in SequenceExerciser
fix for JFXC-1899: javafxdoc doesn't sort the list of packages and
fix for JFXC-1914: javafxdoc output seems currently to be biased towards the 
SDK documentation

I added two xslt parameters.  sdk-overview will turn on the standard overview 
boilerplate text with the JavaFX platform diagram. Since this is really only 
appropriate for the SDK itself, this parameter is off by default.  The other 
new parameter is 'std.doctitle' which sets the name of the docs displayed on 
the main index page.

I've also added sorting to the package list in the main index page.
fix for JFXC-1915 Documentation for function parameters and return value is 
not included
The return and parameter docs were being shown only when there is a 
description of the function longer than one sentence. I have changed it so 
that the return and parameter docs will always be shown. I've also updated it 
to use the new pretty triangles instead of the 'more[+]' link.  This also 
fixes the @see links.
improve the look of functions, especially ones with parameters
Implement missing support for Boolean primitive type.
fixed broken css comment
Trial fix for JFXC-1973 : ClassDoc implementation doesn't report fields (vars 
and defs) which have access modifiers other than public
Change ModifierFilter to understand FX modifiers - 'package' and 
script-private (default)
Set the default and flag-set ModifierFilters to include 'public-read', 
'public-init', and, where appropriate, 'package'.
More JFXC-1957 : Track and print optimization statistics
Bound and unbound var/def -- Location vs direct
More for JFXC-1973 : ClassDoc implementation doesn't report fields (vars and 
defs) which have access modifiers other than public
Remove all uses of java.lang.reflect.Modifiers, modifierSpecifiers(), 
translateModifier(), etc, which cannot be used with JavaFX.
Base modifiers on the JavaFX compiler level flags.
Change all uses in XMLDoclet and display current JavaFX modifiers.
regression test for bug jfxc1859
regression test for bug jfxc1875
Added sliceEqual-method to avoid comparing whole sequences in replaceSlice 
(JFXC-1965).
Patch to avoid array-copying when creating a sequence from SequenceBuilder.
Fixed JFXC-1681 : Return statement inconsistency
Fixed JFXC-1299 : Cannot infer "Void" return type in function with "Void" 
"return" statement
The two fixes are deeply intertwined; they both have to do with failures in 
return type inference that is corrected by this fix
Fixed JFXC-1372 :  Problem with Integer-var instanceof java.lang.Object
Fixed an issue where location getter methods were not always being 
discovered, added impl_getAbstractVariable
Yet more for JFXC-1973 : ClassDoc implementation doesn't report fields (vars 
and defs) which have access modifiers other than public
Remove remaining uses of translateModifier().
fix for JFXC-1895 javafxdoc doesn't recognize public-init or public-read 
access modifiers
updated xsl to support new access modifiers
initial support for a master index
slight refactoring to javadoc.xsl to enable more code reuse
Add integer log2() function
Test case for log2()
Use integer log instead of floating point log to calculate flattening 
threshold.
Fixed - JFXC-1974
Lots of progress - JFXC-1117

While this check in does not remove all AST walking aborts, and does not yet 
recover
from  all systeax errors in sucjh a way as to create ERRONEOUS nodes for 
everything,
it gets us a long way along the path.

The main improvements here are:

        - AST spans no longer include trailing whitespace or comments;
        - Package declarations and qualified names now give a more senisible 
error
          message for errors such as package x.; and also create the correct 
ERRONEOUS
          AST entry for qualified name, while recovering the parse and create 
a package
          declaration node taht contains the ERRONEOUS node;
        - Class declarations that are in error, no longer abandon the class 
(I have yet
          to finish all cases here though), when something is wrong with one 
of the
          member declarations. ERRONEOUS nodes are created instead, and the 
parser recovers
          correctly, generating a consistent node. The case I have not 
addressed yet is
          when a random expression appears as if it were a class member 
declaration, which
          probably gives inconsistent recovery;
        - Incorrect variable declarations give consistent parser recovery and 
ERRONEOUS
          nodes.
        - Improvements in the AST visitor code to protect against erroneous 
AST nodes
          being used accidentally (for instance, in an erroneouslly declared 
package).
        - Missing IDENTIFIER tokens are still manufactured by the recognizer 
recovery
          code, but now cause the construct within which they are contained 
to become
          ERRONEOUS at the lowest granularity that can be defined.
        - The parser rules are all updated with collections that can 
accumulate the nodes
          the correctly parse, so that they can be stored within the 
ERRONEOUS node that
          they may become embroiled with, and not just lost. Soon, all rules 
will aggregate
          the AST nodes they produce in the same way.
        - Custom recovery/resync is added to ceratin rules, others use the 
default but will
          be enahnced shortly.

It should be possible to have removed all remaining AST exceptions and 
implement full
error recovery for all parser rules, by tomorrow evening (PST).
Remove impl_getAbstractVariable from FXVarMemberLocation and
other places.  Instead, add new class FXLocal.VarMemberLocation
with a getAbstractVariable method.

This cleans up after check-in # 4035, which broke 'ant all',
and changed the API inappropriately.
Fixed JFXC-987 :  Misleading error message in sequence declaration
Added toArray()-methods for ReplacementSequence and SubSequence.
Fixed bug in SequenceMutator.
Fixed JFXC-1730 :  Compilation error in doing Duration += n
Fixed JFXC-1363
Fixed JFXC-1366

Improves error messages for badly formed import directives, giving errors 
such as:

test/should-fail/badimport.fx:1: The '.*' part of an import can only be the 
last part of the sequence, as in aaa.bbbb.*
import javaf.*.g;
             ^
test/should-fail/badimport.fx:2: The '.*' part of an import can only be given 
once, and it must be the last part of the qualified name, as in aaa.bbb.*
import javaf.*.*;
               ^
test/should-fail/badimport.fx:3: You have missed out a part of the qualified 
name.
import javaf.;
             ^
test/should-fail/badimport.fx:4: You have missed out a part of the qualified 
name.
import javaf..g.*;
             ^
4 errors

Provides regression tests for malformed import statements.

Provides error recovery for import, class definition, myriad other grammar 
constructs.

Provides modified error message for mising SEMI colon so that the message 
still makes
sens at the command line, but now makes sense in the IDE too.

Protects the lexer from strange input derived by the IDE, wthat was causing 
an NPE
when trying to log an error for an uknown character.
Make getAbstractVariable public.
Add missing initialization of 'var' field.
Improve error resync on class definitions when there is junk in the middle of
valid expressions.
Remove some superfluous catch and error accumulation from rules where errors
cannot occur.
Improve robustness of recovery on more parser rules.
Progress JFXC-1117

Implement error recovery and erroneous node production for FUNCTION
definitions.
Merge spaecifc OVERRIDE var into the general case for better error recovery
and reporting.

Affects JFXC-1909 : Check should be made to ensure that OVERRIDE is valid
                                    for the declaration context.
        Progress JFXC-1117

        Implement error recovery and ERRONEOUS node production for
        anonymous functions.
Progress JFXC-1117

        Implement error recovery and ERRONEOUS node production
        for:

                object literals and associated rules
                new expressions
                String expressions


        Description makes it sounds simpler than it is ;-)
Fixed RT-345, RT-353, RT-159 and RT-195. Added Timeline direction and 
position control support, and timeline direction and position info, also 
changed "toggle" attribute to init only.
provisionally added mirror operations to public interface - needed for 
java-plugin javascript bridge
reverting previous change based on confirmation from Per that FXLocal.Context 
is intended to be a public interface
Implement hashCode() for FXClassType so they can be keys in HashMaps
Reviewed by: bothner
Progress JFXC-1117

Update error recovery for while, catch, finally, primary expression, throw
on replace, block. Provide new AST classes that allow Erroneous to masqerade
as various concrete classes so that tree building and visiting on erroneous
nodes is simple.
Add missing erroneous classes taht were not svn add'ed in last commit.
Progress JFXC-1117

Completely revamp try...catch...finally:

        - Change errors to be semantic rather than syntactic:

                - Error if too many finally blocks
                - Error if neither a catch block nor a finally block are 
present
                - Error if finally seen before catch


        - Semantic errors for orphaned catch and finally blocks

        - Ensure the ERRONEOUS AST node is built when no sense can be made
          of the input.

        - Provide negative regression test for all of the above.
Add negative regression tests for try...catch...finally block errors.
        Ensure that catch and try blocks provide erroroneous nodes
        when the block specification itself is erroneous.
Add new errnoeous AST node for collection erronous catch nodes
Progress JFXC-1117

Implement error recovery for start of expression tree and for expressions
Progress JFXC-1117

Apply error recovery and erroneous node production to expression tree.
Progress JFXC-1117

All remaining parser rules now accumulate Erroneous AST nodes and recover from
syntax nodes.

Remove MissingTree interface as IDE guys don't want it.

Rename MissingXXX classes to ErroneousXXX.

Fix up AST walking classes because of removal of MissingTree based AST nodes.
Fixes for static method calls and void return values in reflection
package; made FXPrimitiveType public after discussion with bothner
Progess JFXC-1117

Completely rebuild block ({}) parsing so that we can detect garbled
expressions and build them as an erroneous node, recover from these
within the block context, and not drop out of parsing a block.

Provide error messages for garbled expressions.

Provide general resync method for computing context sensitive follow set
and resyncing to a valid token from teh current token stream point.
Fixed copy-paste errors in initialization of primitive values
Progress JFXC-1117

Fix broken encapsulation in Javafx tree walker.
Raise the getErrorNodes() method to base class JFXTree so that any
node can masqerade as an ERRONEOUS type without the need to cast
trees to Erroneous.
Progress JFXC-1117

Prevent visiting of For expressions trying to visit erroneous In clauses.
Reinstate err node collections of JFXErroneous as public now that 
encapsulation
is correct.
Implemented the majority of support for java arrays; Declarator syntax is the 
element type surrounded by a pair of brackets for each dimension, e.g var 
s:[String] declares an array of String. Interface is the same as java: 
elements may be accessed and assigned via []. A length property returns the 
length. Allocation is through a pseudo java constructor call, e.g var s = new 
[String](100), which is equivalent to java: String[] s = new String[100]. The 
divergence from java array declarator syntax is unavoidable due to the 
current syntax for sequences. Fwiw, EcmaScript 4 has a similar syntax for 
arrays as that implemented here.  Implicit coercions from arrays to sequences 
and vice-versa have been preserved for now for backward compatiblity. 
However, these must be removed for 2 reasons: 1) Very error-prone: huge 
performance hits could easily occur due to conversion unnoticed by the user. 
2) Incompatible with the type system: it should be possible to create a 
sequence of arrays, w
 hich would be ambiguous with the implicit coercion of an array to a 
sequence. TBD, a proper error report is lacking for an illegal argument in 
the constructor invocation.
Fixed off-by-one error in sequence construction
avoid location wrapping for array element assignments
regression test for JFXC-1938
regression test for JFXC-1905
Test for 1117 updated to print the running test to stdout.
Test for JFXC-1993 added.
Testcase no longer valid
Fixed - JFXC-1993

Prevent recovery code from hanging when hitting end of file on recovery.
Ensure that we create an Erroneous Var class for parameters.
Back out changes in r4073 (array syntax).  To avoid merge conflicts, also had 
to back out r4075, which will reviewed and possibly reapplied.
Fixed - JFXC-1374

Reimplement changes lost by r4073 and removing java array syntax hack.
Ensure that endpos for erroneous nodes is never set to a value preceeding
the erroneous node itself.
Fixed JFXC-1375

Althoguh this issue was fixed by prior checkins, the Attribution code does not
yet cater for the fact that some nodes may be visited as part of beloning to
ERRONEOUS nodes and so incorrectly asserts such things in variaous places. I
am now in the process of finding and detecting such things.
Fixed JFXC-1389

An else clause that does not belong to a corresponding if no longer
throws the parser into abandoning the parse, but parses the else
clause, throws teh BLOCK_EXPRESSION into an ERRONEOUS node, and issues
an error to the effect that the else clause does not belong to any if
statements.
Fixed JFXC-1951

Hex literals should be treated as signed integers if the top bit 0x80000000
is set and not rejected as postive integers that are too big. This is now the
case.

Regression test provided.
Fixed - JFXX-1994

Prevent Tree maker code from trying to cast Erroneous nodes.
change test tag to test/fail
change test tag to run/fail
regression tests for JFXC-1902 and JFXC-1779 issues
Moved some tests to currently-failing. They fail now, because of the changed 
behavior of Timeline.toggle. Probably they have to be rewritten, once the new 
function (toggle() ?) is in place, that provides the old behavior.
Regression test for jfxc1892
Updated folder dist to comply with the new structure of the SDK.
Added support for profiles to launchers (native and shell-scripts).
Updated build-system to work with the new structure.
Almost JFXC-1957 : Track and print optimization statistics
Everything but a regression test (which is waiting for test harness changes).
Add proxy method and concrete field statistics.
Add printing the statistics and connection to command line.
Fixed JFXC-1376

Implements correct recovery procedure for garbled declarations within
class declarations, thus it does not bail out on the class when it comes
across 'garbled' tokens, but implicates those tokens as being in error and
carries on.
Fixed: JFXC-1377

Qualified names now give the same AST structure when erroneous as they do
when they are good. A missing component is created with an id of 
<missing> which
nicely produces a <missing> var semantic error, while the parser 
creates an error
indicating that there is a missing part to the qualified name :-)
Provide regression tests to detected garbled declarations and expressions
Progress JFXC-1117

Ensure that erroneous qualified names, when used for type specifications,
generate a true erroneous type. This means that the AST walkers will ignore
them.
Progress JFXC-1117

Prevent AST walkers from asserting unreachable nodes as they are now
reachable by visiting an Erroneous node that encapsulates them.

Correct the DiagnosticPosition notification for the error regarding
garbled class declaration elements to illustrate that the parser can,
and will, do a much better job of telling the diagnostic listner
about the span of the error and not just the start point of it. I will
dealy improving the rest of the messages until remaining tree walking
aborts are fixed.
Partial JFXC-1982 : Eliminate reification of sequence element types
Use new TypeInfo instead of Class in the construction of sequences.
TypeInfo is then used to create default values and empty sequences.
Regression test added that checks defaults.

Runtime changes by Brian.
Compiler changes by Robert.

Also regression test for 849 changed to not depend on the implementing class 
name.
Progress JFXC-1117

Update the diagnostic positions of those parser errors generated
by the parser, because they were easy to do and make a huge difference to the
way the IDE plugin looks when errors are found. More to come on that.

Don't allow visitErroneous (javaFxAttr) to try and visit erroneous nodes
as a lot of the code does not support being visited as part of an Erroneous
block, and there is little point automatically visiting thse nodes. The IDE
can decode to attribute these nodes if it feels it can glean anything from 
them
Fixed JFXC-1957 : Track and print optimization statistics
Completion of optimization statistics: use Log.note instead of System.err and 
add regression tests.

Thanks Brian for the addition of the  '@compilearg' test flag included here 
too.
Fixed - JFXC-1117

All known aborts due to AST walkers not expecting to deal with
atrtibution of Erroneous nodes are now fixed.

This does not mean that all instances are fixed, but the reported ones are.

From now on, we can report aborts on a case by case basis,
Fixed JFXC-1987

Ensure that the error message position is correct when the error occurs
at the end of the script.
Ensure that a descriptive message is printed rather than <EOF>
Update expected output of regression tests.
removed usage of java.lang.Number because it does not make sence here 
(Abstract Class gets never instantiated)
reverted revision 4105
Eliminate TypeInfos.Number (temporarily, hopefully)
Fixed - JFXC1117

Protect against trying to use erroneous nodes as For loop expressions
or control variables.
Prevent trying to use Erroneous nodes as the subject of throw.
Update regression test so that it can run in a granularity of
100ms rather than 12s. This means it completes much more quickly
when the test passes, which will be the case almost 100% of the time.
JFXC-1981 (optimize away equality comparison when there are no triggers); 
JFXC-1982 (eliminate reification of sequences.)  Sequence and Object 
*locations* are still reified; we may be able to eliminate those later, 
though they are currently needed for bidirectional binding.  Clean up 
TypeInfo classes; merge TypeInfos into TypeInfo, make members of TypeInfo 
final fields instead of methods.
Deletion missing from  '@compilearg' test flag harness change
Fixed JFXC-2013

Prevent attribution from trying to take the union of two
types when either one or both of them may be supplied
by Errnoeous nodes.
Fixed JFXC-2017 : Cannot assgin an Integer sequence to a Number sequence
With regression test.

Fixed JFXC-1780 : setAsInt(int) in IntVariable cannot be applied to (long)
Which caused the JFXC-915 tests to fail, hence the movement of these tests.
Provisional fix for JFXC-2023 : float not boxed to Float in for-expression
Fixed JFXC-2024 : Sequence upcast construction failure
Fixed JFXC-2020
Fixed JFXC-2015


Provide a generic mechansim to report errors with reference to the AST we are 
producing,
for those cases where the IDE wants to know what the error point was in terms 
of the node and not
the token that causes the error to be detected. So in the case of:

var x :
}

The error will be raised at the ':' exactly, even though the error message 
will correctly
state that the '}' was not what it as looking for. This should greatly aid 
the IDE plugin
developers.

Also, the parser now reports errors via a DiagnosticPostion and not just a 
simple offset. These
errors are accumualted in Erroneous nodes taht would not otherwise be 
produced, and it is
these nodes that the error is logged against. This means that hte diagnostic 
listner used by
the IDE will get a true input stream span, and as a result, it now 
succesfully underlines
in red, all the paresr errors, with the exception of where we are missig a 
token and the span
we give to the error contains only whitespace. The IDE underlining routine 
shoudl be
modified to cope with that by underlining whitespace if the span is ONLY 
whitespace, which
should cover all cases.

The error nodes accumulated for syntax errors are given to the AST as the 
last set of script
elements, which means they apeare as a sequence at the end of the synthesized 
main function
for the script. This might not be ideal and perhaps we should place them at 
the COMPILATION_UNIT
level in the same manner that package and imports are done. Waiting for 
feedback from IDE developers
for that one.

Finally, I implemented the detection of missing intializers for 'def' 
declartions in the
parser, as otherwise the AST has lost information about location and cannot 
tell the
IDE just exactly where the initialization should be inserted. With this 
change, an error and an
Erroneous node are produced with the correct locations, and the IDE could 
even fill in some
default value now, such as = 0 if defined as an integer, and so on. Error 
message provided
for this.
Fixed  JFXC-2023 : float not boxed to Float in for-expression
Compiler fixed in r4114.  Verified here with regression test.
Add JavaFX Script Application Management API FX.exit() with Actions
Progress JFXC-2021 : Generate and store detailed variable usage info needed 
by Location elision
Set-up flags.
Fixed JFXC-1887
Fixed JFXC-216

Prior to the changes made for error recovery so that ';' is now not a part
of the gramamr structure, changing the precedence of new to be a primary,
and therefore selectable, expression was very difficult.

This change now implements the abilty to select from new, as in:

var v = new String("Hello Jim").toUpperCase();
JFXC-216

Add regression test for allowing new to be selectable.
Fixed JFXC-206

Changed the lexer to predict the difference between:

1.intVal()

and:

1.e3
1.33
var x = 1.
var x = 1.;
1

and so on.

Existing regression tests ensure that numeric literals are not broken.
removing dynamic casts
regression test for JFXC-1955
Fixed JFXC-1743 :  Problem with "inconvertible types"
Fixed JFXC-2004 :  Ambiguous assignment
Fixed JFXC-2012 :  compilation fails if sequence contains an embedded array 
returned from java
All those fixes required some adjustments both to the attribution phase and 
to the translation phase in order to achieve better interoperability with 
Java primitive types.
This test is related to JFXC-2004 and has been moved to test/regress in that 
fix
Fixed JFXC-2030

A class definition that is found to be erroneous for some fairly
innocuous reason, such as having the closing '}' missing or some
other syntactical problem that otherwise builds a list of defintions
anyway, then the AST for the class definition is now produced and
an erronoeus nodes is entered intot he list of script level provided
erroneous nodes. The erroneous node is also added to the AST as part
of the list of member definitions and will always be the last "member"
of the list, which should help the IDE plugin a lot.
fix for JFXC-1978 JavaFX API doc: Attribute is still used for class variable
also added access modifiers to the variable table
fix for JFXC-1977 JavaFX API doc. needs to include a listing of subclasses 
for parent class.
Add currently-failing test for JFXC-2034 : Assortis demo broken trying to 
call doubleValue() on a long var
updated css
fixed missing access header, and minor xml formatting
added missing comma
Enhance JFXC-2030


This change improves error recovery for parsing blocks by mkaing sure we
do not place the entire block in to erroneous mode unles we have no other
choice. As per recent changes to class defintinos, the block is created with
what we have, and the final entry in the block_expression will be the error
that caused us to end the block parse. A slight difference between class
definitions arises because the last expression in a block is its return
value.  The tree wlakers have problems if the return element of the block
is Erroneous, soo we prevent this from  happening by setting the return
expression rto null if the last element is Erroneous and placing the
Erroneous node as the last element of the block.
Remove DeferredTask Class replaced with FX.deferAction() API
Progress JFXC-2021 : Generate and store detailed variable usage info needed 
by Location elision
Unify attribute and varuse assigned_to flags.
Differentiate assignment during init{} block.
Normalize class flags.

Requires clean build.  (frankly, you should do a clean build after any update)
A little clean-up of tree scanner, mostly just to trigger another Hudson 
build -- the last failed with a "Not enough space"
darn! still failed, one more try...

  A little clean-up of tree scanner, mostly just to trigger another Hudson 
build -- the last failed with a "Not enough space"
double darn! Hudson still falling over.

Hope lives eternal...

  add missing 'override's to test.
Undid introduction of DOS-style line breaks in r4100
Fixed JFXC-2021 : Generate and store detailed variable usage info needed by 
Location elision
Rewrote JavafxVarUsageAnalysis to provide detailed usage information in the 
flag bits of the symbol.
Changed VarMorphInfo to use these bits instead of its previous limited 
information, but morph under (roughly) the same conditions as previously 
(changing that is next).
Remove incorrect ASSIGNED_TO compution from the attribution phase 
(JavafxVarUsageAnalysis now covers this).
Clean JavafxToJava to previous after-the-fact setting of morphability, all of 
which is now done up-front in JavafxVarUsageAnalysis.

Also, fix incorrect error bailout (was going into JavafxVarUsageAnalysis even 
with error).
Added workaround suggested by bothner to make reflection work with
non-compound types when running in the secure sandbox
Fix of javafx* shell script to support Cygwin
Fix for javafx* shell scripts - cygpath ".:." issue worked around, sed 
expression fixed
Fixed launchers to evaluate all properties in the properties-file correctly.
Fixed JFXC-2034 :  Assortis demo broken trying to call doubleValue() on a 
"long" var
Recent work on primitive types caused a regression; moved test from 
test/currently-failing to test/regress.
cygpath work-around removed
Progress JFXC-2025 : Elide unbound script-private member vars
In preparation for complex morphing logic, clean-up morphing computation and 
access.
Gut VarMorphInfo.
Remove prior versions of the language grammar and associated suppprting files.
JavaFX shell launcher: fix for USER_CP conversion to win2unix format under 
Cygwin
Correct the name of the v4 grammar file property, after removing
the v3 grammars that the rule was incorrectly using to build syntax
diagrams.

In fact the diagrams produced in this manner are not generally
useful for documentation purposes because the grammar is constructed
with error recovery and so on in mind, not with the intent of documenting
the parser/language. Perhaps we should just remove this task?
Progress JFXC-2031

When an input sequence consists of extraneous tokens, the parser is
able to auto-recover by reportign the extraneous token but just removing
it from the input stream so that the parsing rules just don't see the
error.

IN certain instances however, the extraneous token is not the one that causes
error detection, but the token before that. This is especially true when
typing in the code using the IDE. Consider:

var
var Answer : 42;

In this case, the parser will see the second 'var' as being extraneous and
therefore report an error against it. However the human sees that the
first variable declaration is not yet complete and really expects the IDE
to know this.

This change then looks for specific cases of extraneous tokens, whereby
the extraneous token is a repeat of teh prior token. If the error routines
detect this condition, they report the error against the first occurrence
of the token, and not the second. As the extraneous token is arbitrarilly
the first or second occurence, this makes no differnce in terms of error
reporting, but 'seems' to make more sense in a lot of cases generated by the
IDE.
Progress JFXC-2025 : Elide unbound script-private member vars
Align morph and flag state in local var processing.
minor updates to the variables table
made the error reporting for script evaluation slightly more robust
Fixed JFXC-2031

Implement scopes in a number of grammar rules such that the error reporting 
system
knows the context in which to produce erroneous nodes. Simply put, this means
that  Erroneous nodes are always perfectly placed in the AST and are not 
simply
accumualted at the end of the synthesized function definition. This is exactly
what was asked for in JFXC-2031.

Change recovery in the rules because though the setup is now more complicaed
the actual provision of erroneous nodes is simpler.

Provide much finer grained Erroneous nodes for Object literal and keyframes as
well as eliminate the need for Erroneous blocks and almost always create a
real AST node that conatins Erroneous nodes at the relevant spots. Again, this
should be a lot easier to deal with for the NB plugin.


Please try this and provide feedback, assuming it is good then I will ensure 
the same
techniques are used on all rules (if I have not in fact already done so).
Progress JFXC-2025 : Elide unbound script-private member vars
Begin changing the logic of morphing.
Progress JFXC-2025 : Elide unbound script-private member vars
Determine morph info for classes read as class files from original type in 
preparation for instance vars not all being Location.
Progress JFXC-2025 : Elide unbound script-private member vars
Change initialization builder to handle member vars which aren't Locations.
Initial work on access to non-Location member vars.
Progress JFXC-2025 : Elide unbound script-private member vars
Generate setter methods for non-Location instance vars.
Progress JFXC-2025 : Elide unbound script-private member vars
Do some normalization of assign/assign-op processing.
As a side-effect fix a, so far, unreported type conversion problem in 
assign-op (eg +=)
Progress JFXC-2025 : Elide unbound script-private member vars
Factor out variable sets in translation: sequence indexed, Location. 
non-Location.
Access modifiers test
negative tests for Accessibility controls
jfxc853: currently-failing test
Fixed RT-2
fixed - JFXC-2049

Make the importId rule receover in the same way as packageDecl when there is 
a missing
element in an import specificication. It creates a real IMPORT node, but the 
missing
element is filled in with <missing>. THis allows the IDE a better 
chance of performing
autocomplete.
Refactor FX.exit() to remove unwanted Dependencies
Remove premature addition of SystemProperites
Progress JFXC-2025 : Elide unbound script-private member vars
Misc changes.  I need to switch to the null check aspect of the problem now.
Fixed JFXC-2055.
negative tests for JFXC-1703
Extended Sequence.toArray() with two parameters: sourceOffset and length. 
They can be used to convert only a slice of a sequence to an array. This is 
used to improve SubSequence.toArray() and CompositeSequence.toArray(), 
because only the needed parts of the underlying sequences are requested 
(JFXC-1966).
Fixed JFXC-1773 : Problem with vars being accessed before declared
Fixed JFXC-1838 : Incorrect type inference
Fixed JFXC-289 :  Compiler allows incompatible types with anonymous functions
Fixed JFXC-2058

Ensure that partial function defintions do not abort attribution phase so
the IDE plugin can glean whatever information it can from defintions that
a user is in the middle of typing in.
JFXC-2058

Add regression test for parsing (not attribution) of partial
function definitions.
Fixed JFXC-1917

Ensure that tree copier uses the correct typetag reference and so does not 
abort
setting of breakpoints in the debugger.
Adding the FX.Systemproperties API
First version of framework for performance-testing. This is a very rough 
version, especially the error-reporting is not very user-friendly. I will 
improve that later, after it drove me crazy enough.

The tool expects a script with the test-cases to run (see below). It runs 
each tests a number of times and calculates the average of the results. The 
result is written to a csv-file, which is a comma-separated table and can be 
imported in OpenOffice etc. If the log-file already exists, the new data is 
appended. This will give us some nice big tables after some time and allows 
us to create graphs to document our improvement. The old log-file is copied 
to <filename>.bak, just in case. To each test-run a description can be 
attached. We should use that to describe the latest changes, so that we see 
later which changes caused which improvements (or regressions).

The parameters are
-s <testscript>   Specify test-script
-o <logfile>      Specify log-file
-i <iterations>   Number of iterations
-d <description>  Description
-h                Prints this help


The test-script is a list of commands. Each command has to be in one line and 
is of this form:
<command> <arg1> <arg2>

Currently the only known command is "SE", which will start the 
SequenceExerciser. Possible commands are:
SE "10" "stream 10000000"
SE "1000" "stream 2500000"
SE "100000" "stream 75000"

This will run a couple of "use sequence as a queue"-tests with different 
sizes of the queue. Please note, that for the SeequenceExerciser every 
argument has to be quoted (as I said, the parsing part is extremely rough at 
present).
Added JPEGEncoder to framework.
Added FractalMadness to framework.
Timeline API changes
Fix animation tests due to API changes
Fixed JFXC-2042 : Centralized null check facility needed by elision
General mechanism implemented.
Not yet used.

Commented-out partial JFXC-2067 : Use NullChecker for function invocation
NullChecker client for function invocation used in the development of the 
NullChecker.
Code not quite finished and too great a change for this late in the release.

As the above will address JFXC-2056 : Calling a variable of function type 
throws NPE if it is null
This represents a partial commented-out fix fo rthis bug as well.
A currently-failing bug has been added for this.
Quoting arguments which are just handed-over (JFXC-2069).
Removed unused imports.
RT-348: documentation of animation classes
Modify SystemProperties to use Hashtable so it can be common on Mobile also
Fixed JFXC-2043 : Assignment (=, +=,++,...) and applyDefaults must use setter 
methods
Assignment-like operations now support non-Location setter-based instance 
variables.
Definitional assignment translation restructured to support non-Location 
setter-based instance variables.
Progress JFXC-2025 : Elide unbound script-private member vars
Initialization of static non-Locations.
Null checking of non mutable expressions.
Fixed JFXC-2073:  Too many forward reference warnings generated by the 
compiler
Adjusted the code in javafxAttr that detects forward references; this code 
has been introduced by the fix of JFXC-1773. Some warnings reported by the 
compiler are quite not correct.
Progress JFXC-2025 : Elide unbound script-private member vars
Translate class references when in JFXIdent.
Mostly a sync, as I'm switching to laptop.
Fixed JFXC-1913 : Check that non-'abstract' has function body
Problem fixed in r3976.
Verified fixed with this test.
Fixed JFXC-1912 : Check that 'abstract' goes with empty function body
Problem fixed earlier.
Verified fixed with this test.
Add com.sun.javafx.runtime.FXExit for handling FXExit across Mobile and 
Desktop, update FX.java for this change
Fixed JFXC-2077 : Compiler confused with assigning member variables on Java 
classes
fixed while listening to a very interesting talk on the Parrot VM
Progress  JFXC-2067 : Use NullChecker for function invocation
As it turns out, it appears the consistent functioning of null check is 
needed by Location-elision.
All work in commented-out code.
Function override updates to test, encountered druing development
Progress JFXC-2025 : Elide unbound script-private member vars
Fixes to null checker.
Other misc fixes.
Change String.isEmpty() check to String.length() == 0 so that it builds with 
JDK 1.5 ...
Enable "usetimestamps" on fetching binaries so that it is more robust for
flaky internet access ...
Bootstrap xml-commons-resolver for use by the dockbook stuff to allow it
to be used offline ...
Update to use docbook version 4.5 like the rest of the documentation ...
Add docbook 4.5 so that docbook can be run offline ...
Progress  JFXC-2067 : Use NullChecker for function invocation
Use the apache resolver and the local copy of dockbook such that dockbook
can be used offline ...
Add missing link to the html documentation for javafxdoc ...
Progress  JFXC-2067 : Use NullChecker for function invocation
Convert NullChecker to a Translator NullCheckTranslator
Use HTTP instead of FTP to fetch xincluder as HTTP is more reliable through 
firewalls and NAT ...
JFXC-2082 : Need portable way of accessing incoming arguments for both 
applications and applets
Added the following APIs to enable argument access from FX Script programs:
  public static int FX.getNumArguments()
  public static Object getArgument(int argument);
  public static Object getNamedArgument(String name);
getNamedArgument bridges between command-line arguments and applet
parameters by allowing the command-line arguments to be looked up via
getNamedArgument("0"), getNamedArgument("1"), etc.
Added new com.sun.javafx.runtime.NamedArgumentProvider to be used by
Applet and Xlet wrappers.
Tested with a JavaFX example running as both an applet and application
and verified that arguments can be accessed identically in both cases.
Progress  JFXC-2083 : No null checks when assigning to a Java field
(work needed for elision)
Centralize assign processing (==, ++, +=, etc) and null checks into 
AssignTranslator.
Fixed JFXC-2083 : No null checks when assigning to a Java field
Plus many other missing null checks.
Preserve side-effect of RHS when LHS fails null check.
Richer infrastructure in null checker.
And other work needed for elision.
Regression test for...
Fixed JFXC-2083 : No null checks when assigning to a Java field
Plus many other missing null checks.
Preserve side-effect of RHS when LHS fails null check.
progress, and partially implement, JFXC-2016


Theis submission creates the JFXTree level interface SyntheticTree, which
allows and tree node to indicate to a caller, whether it was generated as
a direct relfeceltion of the source code, or because teh final runnable
class needs the code it will cause to be generated. For instnance, we must
manufacture a Main class node that encapsulates script level variables
and functions etc.


All JFXTree nodes provide this interface, which is essentially:

SynthType getGenType()
setGenType(SynthType)

If a node is not changed from the default via setGenType(), then its
generated type is SynthType.COMPILED, which indicates it was produced
as a direct reflection of compiled code. There is only one other type
at the moment, being SynthType.SYNTHETIC, but other node types may be
added if callers wish to distinguish some more subtle deviation from the
normal COMPILED type.

I have modifed the JFX tree maker such that it flags the two or three
nodes that are obviously synthetic, but require a little more feedback
from the IDE plug in team as to which, (if any) other nodes should be
marked as synthetic in this way. Please try the interface as soon as
possible and append examples of any other nodes that should be flagged as
synthetic to this report, JFXC - 2016. I will not close this until ehte
IDE plugin team think we have correctly set all nodes.

Note that this interface has no effect on code generation or any
other aspect of the tree walkers; it is purely informational and purely
pure the netbeans IDE plugin (or indeed, any other pugin that finds it
useful).
Progress JFXC-2052 and JFXC-2051

Start of reflecting the stat and end positions of the synthesized AST nodes 
with respect to the sections from which they are derived.
Fixed JFXC-2068 : Use NullChecker for select
Introduce SelectTranslator, a subclass of NullChecker, to do all select 
processing cleanly and with consistent null checks.
Fixes numerous problems with select esp for select of a function.
With regression test.

Fixed JFXC-2067 : Use NullChecker for function invocation
Use the NullChecker to fix function call problems and clean the code as 
needed for elision.

These are the two issues in the umbrella (I wasn't able to fix one without 
fixing the other). So, the umbrella is fixed...
Fixed JFXC-2066 : Standardized NullChecker should be used universally
As a result, the old null checking crud has been deleted.
Remove unecessary checkForNull()-calls in flattening process (JFXC-1966). The 
call is unecessary, because the sequence which is flattened cannot contain 
nulls.
Reverting changes in Runner.java, which was committed by accident.
Fixed JFXC-2065

This fixes the report in JIRA and attempts to predict where other things might
fall over and pre-emptively fix them. The pretty printer was not designed to
print out an erroneous tree, hence it assumes that all nodes are in tact and
that noe of them are erroneous - I have protected the obvious cases from
this eventuallity.
Bootstrap DocBook XML DTD as we should never make any local changes to it ...
Implement JFXC-2062

Provide parsing support for import of package and all sub-packages.

Note that this change only builds the tree and adds recognition for the
'**' element in JavafxMemberEnter and JavaPretty. Support for this option
within in the tree will be provided by Sundar, who is implementing
the import itself as part of JFXC-1413.
Fix RT-749, correct states of sub timeline
Use the bootstrapped version of DocBook instead of the checked in version ...
Fixed JFXC-2051

A JFXFuncionValue was manufactured wihtin a JFXFunctioDefinition and
the start and endPos() elements were therefore ignored. This change
ensures that a the FUNCTION_VALUE type nodes receive a valid start and
end position in the AST.
Partial JFXC-1972 (Location size reduction).  Move fields iterationDepth and 
deferredDependencies to a lazily inflated object that is only needed when the 
iteration depth exceeds 2 and/or we actually have to defer adding 
dependencies.  15% reduction in size of XxxVariable classes.
Partial JFXC-1972 (location size reduction): use LinkedList instead of 
ArrayList for listeners and dependencies.  LL takes more space per entry but 
has less slack space and reclaims space better.
Partial JFXC-2095: restore aggressive purge to keep dynamic dependencies from 
queueing up.
Fix bug in ClassReader where we didn't correctly check that an
interface was the correct interface ...
Fixes JFXC-2093 "Regression in separate compilation of JavaFX types
inheriting from Java class types."
Partial JFXC-2095: Update dynamic dependencies from a listener, rather than 
from computeValue(), to optimize away case where the Location doesn't change. 
 No need to defer deletion of dependent locations in AbstractLocation; do 
these with the iterator instead.
Don't try to @run jfxc2093.fx, since JApplet requires an AWT "head".
Added SliceReplacementSequence which is used for replaceSlice- and 
delete-operations. The implementation reduces memory usage and increases 
performance. ReplaceSlice-operations become up to twice as fast, 
delete-operations become 5x - 80x faster (depending mostly on sequence-size) 
than the original implementation.
Progress JFXC-2025 : Elide unbound script-private member vars
Proper inter-script handling of setter.
Handling of special Duration TYPE_INFO variable.
Assignment to raw statics.
Reverting last change until regression is fixed.
Checking bounds for gap in SliceReplacementSequence. This fixes the last 
regression.
Progress JFXC-2025 : Elide unbound script-private member vars
Handling of Duration assign ops.
Progress JFXC-2025 : Elide unbound script-private member vars
Proper handling of bound object literal, in terms of promotion to Location.
RT-833: Sub timeline breaks javafxgui's Bounce demo
Fixed but switch not thrown JFXC-2025 : Elide unbound script-private member 
vars
With these changes, passes all tests.
Switch not thrown until checked against GUI et. al.
Regression test cannot be committed until switch thrown.
Also, the jfxc1345.fx currently-failing test will need to be  changed since 
the non-Location does not tickle the bug.
Changes --
Reflection: determination of member vars.
Increment of select with setters.
Generics cleanup in SequenceMutator / SliceReplacementSequence.
JFXC-2100: enable printing of stack traces for binding/trigger exceptions by 
default.  Changes to error handler; also changes to test framework to 
suppress exceptions in FXUnit tests, and to allow EXPECTED tests to ignore 
stderr output (to pretty up the output of 'ant test' so we can spot real 
failures more easily.)  Also some cleanup in the test framework, generalizing 
the communicaoni mechanism between FXCompilerTest and FXRunAndCompareWrapper.
Fix typo in path ... the file is in the tmp directory not the html directory 
...
Fixed JFXC-2045 : Add isInitialize usage to VARUSE and check it
Detect which variables are used with isInitialized, and leave them Locations.
JFXC-2076 -- remove use of Number in interfaces.
JFXC-2092: Use .equals() to short-circuit triggering, not identity equality.  
Regression introduced in adding isInitialized() support, now fixed.
Revert r4243 (JFXC-2076); broke javafxgui build
Another generics cleanup
Optimize, inline, and remove isJavaLangObjectType method.
Fixed JFXC-2026 : Elide unassigned and externally unassignable member vars
public-read and public def -- that aren't bound or assigned after 
initialization are now direct variables (not Locations)

Swithced on JFXC-2025 : Elide unbound script-private member vars
Script-private vars/defs  -- that aren't bound are now direct variables (not 
Locations)

Both with regression tests.
Also, regression test for 1345 was no longer failing, so I had to make force 
it by binding it.
Similiar for 1957.

Build has been tested against the runtime.  Two updates are needed to code 
that attempts to call into FX from Java.  A bug has been created and separate 
email will be sent.
Check that symbols actualy are different before reporting
AmbiguityError.  (This is needed for the following JFXC-1877 fix.)
Optimize translation of "compound classes" - the generated class
inherits from the generated super-class.  (I.e. the class of the first
ingrited compound class.) We still need to generate interfaces, and
stub functions to support multiple inheritance, but this reduces some
of the useless code duplication - while stil fully supporting multiple
inheritance.

This fixes JFXC-1877 "Static footprint reduction for non-MI classes".

jfxc1905Sub.fx is now "working" for some reason I haven't tried
to figure out.
Allow single file debugging in the test/sandbox folder from the NB IDE.
Test for JFXC-2054 added.
This fixes JFXC-1413 - Allow recursive wildcard imports, ala Ant

For example,

   import javafx.scene.**

imports all subpackages of javafx.scene package.
Fixed: JFXC-2111

Empty statements in blocks were not preserving the prior accumulated
statement for addition to the block. Change is obvious from the
diff.
Fixed JFXC-2109

Improved the clarity of the error message indicating the absence of a
required semi colon. Updated regression tests accordingly.
Fixed JFXC-2113 Temporarilly

Removed attempt to build syntax diagrams using ANTLRWorks from build
Fixed JFXC-2110 : Failed to compile with generics error on simple script
Deferred Location requirement determination was underlying cause, move all 
this to JavafxVarUsageAnalsysis.
This, in turn, required that function values don't permeate bind.
Regression test based on what Chris sent.
Fixed JFXC-1445


This abort was caused by an error in ANTLR 3.1 (and prior), which I found and
fixed for ANTLR 3.1.1.

This commit changes the buidl to use ANTLR 3.1.1, which has now had a little 
time to
be checked. You will need to perform ant real-clean and rebuld to be sure of
having nothing left over from ANTLR 3.1.
Reflection patch from Ken Russell.
Fixed JFXC-2114 : NPE when running RT_423Test -- should be caught
Simple bug in null checking.
With minimal-form test and mimic test.
Switch-off JFXC-2026 : Elide unassigned and externally unassignable member 
vars
So now only script-private variables are elided.
Fixing JFXC 2087 and 2091, added some tests
Backing out changes for JFXC-1413 (import **)
Making Java 5 the default target. When compiling from the command-line, the 
target can be changed using the -target option. The ScriptingEngine does not 
allow to change the target, it will always compile to Java 5 code. (JFXC-2099)
RT-348: Updated Javadoc for rate and currentRate in Timeline
Fixed JFXC-1861 : public should not be mixable with public-init or public-read
Compiler fixed earlier with other 1909 umbrella bugs.
This verifies.
Propagate error type in visitSequenceExplicit - i.e. when attributing '[e1]'
if 'e1' yields an error type, set the type of '[e1]' to the error type,
so we suppress cascading error messages.
This fixes JFXC-2079 "Compiler error message needs to modified
for an invalid assingment".
jfxc603: add simple regression test
Fixed JFXC-1998

Indexed sequences are now checked for assignability and def sequences
are therefore properly rejected as immuatable.

Improve error message clarity.

Move regression test JFXC-1825 to should-fail from currently-failing
Move regression test JFXC-5268 to shoudl-fail from regress
Change expectrd output of shoudl-fail tests to reflect new error messages.
Better testing of  JFXC-1861 : public should not be mixable with public-init 
or public-read
Correct commented-out code
Added support for "file:" protocol to allow loading Images in the
background even when the URLs refer to a local file.
Add new FXObjectValue.getClassType() to mirror Object.getClass().
Add some comments warning that getType may not be what you want ...
Tweak some return types.
JFXC-2121 : Need ability to script JavaFX applets from a web page

Added implementations of interfaces exposed in the new Java Plug-In in
Java SE 6 Update 10 to allow JavaScript to call JavaFX Script. Access
to JavaFX Script variables, calling JavaFX Script functions, access to
JavaFX sequences, and both simple and complex kinds of value
conversion are supported. Associated changes are being checked in to
the GUI workspace to hook up this code to the JavaFX applet wrapper;
however, the bulk of the new code is in this workspace. Preliminary
documentation is in doc/liveconnect/README.txt. Not possible to
incorporate test cases in this workspace because of dependence on GUI
libraries; examples will be checked in to the GUI workspace.

Stub jar file containing necessary compile-time dependencies from the
Java Plug-In is being incorporated with this checkin. If the new Java
Plug-In is not available at run-time, the calling code simply catches
any associated NoClassDefFoundErrors and the new functionality is
disabled. The common code paths are untouched and no dependencies
exist from the core JavaFX compiler runtime to this new code.

This represents the last of the supporting work for the recent VP demo.
Added covariance test from Kenneth Russell.
Introducing new sequence-type ElementReplacementSequence. It is used when a 
single element is inserted in a sequence or a gap of size > 1 is replaced 
with a single element.

Some minor improvements of SliceReplacementSequence.
Removed assumption of temp-path in ScriptingEngine. Thanks to Chris 
DeLashmutt, who discovered this bug.
Updated version of the sequence performance tester.

- Tests which are not run, are not instanciated now (this spoiled some of my 
profiles).
- Introduced tests for delete- and insert-operations.
- Extended tests to work with slices of arbitrary size.
- Introduced tests for iteration. (These have not been tested yet! They were 
just prepared for today.)
Partial JFXC-1972: Location size reduction.  Rather than using an 
ArrayList/LinkedList to store listener lists, push the links into the 
listeners themselves.  This reduces at least two objects per Location that 
has listeners, plus an additional object per listener.  Currently only done 
for ChangeListeners; next up is dependent locations (this is where the real 
money is.)  Also can do same for XxxChangeListeners in AbstractVariable.
Update deferAction.fx Test to remove ordering issue
Completed test-coverage and fixed a bug I found while doing so.
Some minor improvements:
- SubSequence inherits from DerivedSequence
- Moved shouldFlatten() to Sequences
- Flattening filtered sequence, if it meets criteria
Partial JFXC-1972: Location size reduction.  Use internal links for location 
dependencies too.  Upside: big reduction in List objects and linked list 
entries; downside: when one Location is dependent on multiple locations, we 
have to create multiple weak refs.
Commiting changed file, I overlooked in last commit.
Fixed JFXC-2122 : Elision in build 2844 breaks runtime TextBox control
Prevent problem caused by incompletely initialized variable escaping via 
function call from init{} block.
implemented support for the @highlight doc tag
Update javadoc
Partial JFXC-1972: Location size reduction.  Use internal links for change 
listeners.  This will require libraries and apps to be recompiled.
JFXC-2095 -- accumulation of dead weak references.  Use reference queues to 
ensure that dead location dependencies are reclaimed eagerly rather than 
lazily.  (Fall back to current behavior when not using reference queues.)
Remove these symbolic links from sandbox as every time I try to commit they 
turn
up as deleted and I have to stop the commit, revert these things, then 
submit, then
they turn up as deleted ebcause /export/home/jclark isn't on my system.
Test for JFXC-2054: the test passes now with correct scope.
In JFXForExpression, if looped-over expression is an Iterable *without*
type parameters, assuming java.lang.Object.  This fixes JFXC-1176
"'for' loop does not correctly iterate java Iterable classes".
jfxc2134: currently-failing test
More changes to AbstractRemoteResource to handle protocols other than Http 
via a standard URLConnection.
Coerce slice index expressions to int when translating.
This fixes JFXC-2078 "Error and warning for use of a Number in a
sequence slice expression".
add tests for multiple inheritance
Fixed JFXC-1766

This change removes fx types that are no longer relevant, at the request of 
the Netbeans
IDE team, as it is unclear to them what things they need to support when 
there is old
stuff in there. Because of the proximity of the cut-off I did not remove 
types and classes
that were widely used in the source code.

This change removes checks for things that are now removed from the code.

This change also finalizes the postion of the lexer/parser for release, in 
terms of
how it reports on keywords and operators that are no onger supported. In 
general, warings
are now errors, directing the user at the offical way to do things. The 
exception is attribute,
which is still a warning because the preview supported attribute and this 
release would
be a pain if it absolutely forced people to change all their code for that.

Some error messages were elaborated upon, and regression and should-fail 
tests were updated
to reflect the error message changes.
Revert change to test that was accidentally sent to commit.
getArgument API update
Refactor javafx.lang.FX for Auto-importing via Builtins class
Added doPriv support in order to make unsigned application go through the 
correct RuntimeProvider
results comparison file
Fixed deferAction test
Misc, in process, fixes and clean-ups
Promote the warning about  the use of 'attribute' to an error.
Fixed JFXC-2135 : javafx.lang.Builtins change breaks FX.isInitialized and GUI 
runtime -- compiler change needed
Tested by broadening the 1249 test.

Fixed JFXC-2133 : Restore elision for classes with init {} blocks
Introduce mechanism parallel to Location.needsDefault() via boolean fields on 
object for elided instance vars.
With regression test.

Partial JFXC-2103 : Elide object literal inited and public-init initable 
member vars
Object literal inited instance variables are now elided.
But if publicly visible variables are elided, the hardcoded GUI cide break.
Fixed JFXC-2136 : javafx.reflectFXVarMember.setValue fails for elided 
instance var
Reflection handled elided getters, but not elided setters.
Added test is broader than this single issue.

Also, add a negative test for JFXC-2025 : script-private elision
Fixed JFXC-1902 : bind with inverse inside object literals doesn't sync up 
values
Fixed by adding generalizable substitution mechanism.
Currently-failing test moved to regress and enhanced with many more 
combinations.
Fixed JFXC-1910 : Check that the modifiers used are appropriate for the 
member kind (function, var, def, class)
Fixed JFXC-1891 : public-init access modifier should not be applied to def 
variable
Corrections and clarified error messages for inapproiate modifier use.
Full test of the area.
Updates to should-fail tests to update EXPECTED files and remove unintended 
uses of incorrect combinations.
Verify fixed JFXC-1630 : Enforce access controls on override var
Add should-fail test that verifies that this is fixed
Fixed JFXC-2139 : Outdated error message refers to 'main' function instead of 
'run' function - confusing
Verifiy fixed JFXC-1722 : Compiler throws assertion error with certain 
bounded function declaration
Verifiy fixed JFXC-2056 : Calling a variable of function type throws NPE if 
it is null
Removed unused import
Eliminate erroneous imports
Added comment on requirement of javax.script (JSR-223) API classes
for using "eval" method. Please see also JFXC-2131.
Partial JFXC-2140; NPE in WeakLocation.  Fixes symptom, but not cause.
Move java.lang.Bits and java.lang.Sequences to java.util, fix imports to match
Fixing JFXC-1663 -Xjcov option cause exception in generate().

Test:

* compiled a simple FX program with -Xjcov and verified that the
compilation finishes normally.

* Verified that the compiler generated .class files have CharacterRangeTable
attribute (used by jcov) when using -Xjcov option. [used "jclasslib" to
view .class files]
refactored api docs generation slightly to save .java and .fx docs in .xml 
files for later use
Add regression test for deprecated keywords.
Fixed: JFXC-2142

Fix endpos position for the last statement in a block expression, which
was accidentally including the closing BRACE of the block.
Fixed JFXC-2146 : Regression: Type conversion problem on assignment to select 
by non-simple expression -- found in Assortis ElectroSimulator
Some minor fixes/improvements in the testing-framework.
Added TypeInfo.Float
remove user defined print method for mobile convertablility
remove user defined print method for mobile convertablility
remove user defined print method for mobile convertablility
remove user defined print method for mobile convertablility
remove user defined print method for mobile convertablility
Partial JFXC-2076; remove Number from Location interfaces.
remove user defined print method for mobile convertablility
Generalize type-casts of primitives to work regardless of boxing
(i.e. whether source/target type is int *or* java.lang.Integer).

Fix casting of insert value or sequence constructor value,
converting to element or sequence tpe appropriatel.

This fixes JFXC-2047 "Compilation fails if we add a double value to integer 
sequence".
remove user defined print method for mobile convertablility
remove user defined print method for mobile convertablility
Introduced new iterator-methods to Sequence: reverseIterator creates an 
iterator that iterates in reverse order, bound-iterators to iterate only 
through a part of a sequence.

Created null-safe iterator-methods in Sequences similiar to Sequences.size(). 
If null is given as argument, an iterator for an empty sequence is returned.

Replaced all loops of the kind "for (i : indexes) sequence.get(i)" with a 
loop that uses an iterator instead.

This prepares the runtime for JFXC-2150 (implementation of specialized 
iterators).
Fixed bug in FXCompilerTest (ignoreStdError was enabled by default).
Added hack to circumvent bug in J2SE 5.0 on MacOS. The bug is considered 
minor and will probably not be fixed. (JFXC-2002)
Fix netbeans project definition so that debugging works correctly from 
netbeans project.
Upgrade antlrworks to 1.2.1, which incorporates ANTLR 3.1.1
Fixed JFXC-1715

Cleans up the AST apis and interfaces so that the Interpolate node, which is
no longer used, does not confuse external developers.

Ensures that the JavaFX tree scanner will visit the interpolation values and 
PathFinder
will therefore visit and resolve them.
Fixed: JFXC-1715

Final check in for this report removes the now redundant classes
JFXInterpolate and InterpolateTree and removes the redundant tag
INTERPOLATE to boot.

Regression tests updated accordingly so that the they do not complain
about the missing INTERPOLATE type.

Note: External developers will need to remove code referring to this tag
too.
Fixed: JFXC-1715

Remove additional Javafx tag that is no longer used for interpolations.
If there is an exact matching method, return that, even if it isn't
the most specific.  I don't think this is really the right approach,
but something better will have to wait until we've worked out how
we want overloading to really work.  This fixes JFXC-1889
"Function overloading is broken".
Rename print function for Mobile test compatibility
Rename print function for Mobile test compatibility
RT-879 and RT-866: fixed incorrect Timeline behavior
Fixes for JFXC-2088 and JFXC-2089 with regression tests
Replace Name.fromString(names, "foo") by names.fromString("foo").
Not only is the latter simpler, the former no longer works with
the current javac sources.
Fixed JFXC-2124 : Function call arguments must be evaluated exactly once, 
even if null check fails
Fix "sorting" of super-classes to handle anonymous classes.
Also, change toString() to "print" anonymous classes better.
This fixes RT-968 "Overriding vars causes (seemingly unrelated)
Stylesheet errors."
(Test-case check-in to follow later.)
Add some tests for anonymous classes.
This tests the fix for RT-968 "Overriding vars causes (seemingly unrelated)
Stylesheet errors."
Note the output 'myAnonRectRef.super: [class MyRect, class java.lang.Object]'
indicated a performance bug: It should be [class MyRect].
(That is JFXC-2165 "compiled anonymous class should extend named class,
not Object".)
Removed reverseIterator. Turned out, they were used in test-code only.
Removed unused local variable.
Fix for Timeline change in RT-879
Reintroduced toArray()-method without bounds for convenience.
Fixed evaluation of depth in SliceReplacementSequence.
Caching depth in CartesianProduct.
This commit will (hopefully) stabilize the tests. Hopefully, because they 
failed sporadically and one cannot be sure, if they are fixed. I ran them a 
couple of times and all of them passed.
Removing 3 tests in the currently-failing dir as the associated issues were 
resolved.
jfxc2161: regression test
Fix JFXC-2000; SequenceBuilder did not deal correctly with null sequences.
regress/jfxc1143.fx test update. Thread.sleep() is problematic in the 
timeline tests and shouldn't be used. The test was updated to avoid 
Thread.sleep().
A test update for regress/jfxc1143,fx
Fixed - JFXC-2172

The paresr generated correct nodes for import x.** but the support
for this was remvoed from the runtime without protecting it against
the parser generating it. The parser now therefore replaces ** with * so that
code completion and so on does not not cause aborts in the AST code, but
issues an error message to show that the ** part is currently not valid
syntax.
Fixed JFXC-2153.

Protects script builder from erroneous tope level scripts.
moved currently-failing test to regress
moved currently-failing test to regress
Fixed JFXC-1439 (No exception when dividing Duration by zero).
Fixed: JFXC-2184

Protect the walk of object literals when the syntax parsed is very wrong and 
results
in no expression for the instantiate body.

Note that permission to merge this change into the M7 release candidate 
branch will
probabyl be required.
Documenation Update for FX.java added @profile tags
Fixing JFXC-2178 : Inner class marked @treatasprivate not excluded from API 
docs

Test:

* Ran test case attached to bug report (MyClass.fx)
* Ran "ant docs" target
Timeline tests update. See JFXC-2169 for details.
Deleting test expected files which don't need for the updated tests.
add some reflection tests
test for javafx_lang_FX
test for javafx_lang_FX
remove failing tests
Fixed JFXC-2180 : Auto-import of classes in javafx.lang not working
Implicitly import javafx.lang.FX
take 2 on reflection tests
Fix two FindBugs errors.
Fixing JFXC-2145 Profile tag is ignored on function and var in 
javafxdoc-generated API docs.

Test:

* Generated doc for ProfileTest.fx (attached to issue report) and manualy
verified that the profile switching works as expected (Firefox 3.0.3).

* Ran "ant apidocs" target with runtime code and verified that (few) @profile
desktop entries disappear on choosing "common" profile. (For eg.
fromAWTColor method on javafx.scene.pain.Color class).
Fixing JFXC-2171 API Documentation do not show Enumerated values.

Verified by running "ant apidocs" on GUI workspace and checked
the generated docs manually with Firefox 3.0.3. Enum values are
properly shown in a table.
Fixing JFXC-2174 "def" constants are incorrectly marked as "Can Init".

Test:

* Manually verified the doc generated for AccessModifiersTest.fx
(attachment in JIRA).

* Ran "ant apidocs" on GUI and checked "Can Init" for fields of
classes like javafx.scene.paint.Color.
Fixed JFXC-2140 : 'and' behaving differently when used with bind
Fixed JFXC-2141 : OR operator behaves differently in bind and non-binding 
contexts.
Operators now use proper cut-off (now generated as bound if expressions).
Change to generated operators M4 script needs manual run.
Regression tests based on coverage and submitted examples.
Partially implement JFXC-2187

This change implements the first part of allowing sequences of functions as 
well as funcitons returning sequences.

The change allows parenthesis to be used to associate or dissassociate 
cardinality operators
when specifying types. So, before this change you coudl have only:

var x : function(): String [];

 - x is a var of type 'function returning a sequence of strings'

Whereas now you can additionally have:

var y : (function() : String)[] ;

 - y is var of type 'sequence of functions returning String'

However, while this change allows the syntax of the form, it does not 
implement the
necessary changes to support such a declaration. Some testing of various type 
specifications
shows that this change does not break any existing types and the newly 
specifiable types
seem to result in reasonable error mesesages from the translation to java 
phase. Hence it is
checked in now, so that we can determine the correct tree shapes.
Verified Fixed JFXC-2072 : Evaluate rvalue of assignment for setter/getter 
instance vars when null check aborts assignment
Verified Fixed JFXC-2125 : In a select, components must be evaluated exactly 
once
Fixed in previous null check work.
With these regression tests, verified fixed.
RT-987: add setFXProperty() method
Fixing JFXC-2196 - Doc for subclass in the same compilation unit is 
incomplete.
Fixing JFXC-2160 - The API Docs overview page doesn't have a title,
so the name of the browser will show instead of something like "JavaFX API".
Removing svn:mime-type property (application/octet-stream) on this file.
Fixing the following javafxdoc issues:

JFXC-2158 - See Also links in documentation point back to current page.

JFXC-2203 - @link tags don't create inline hyperlinks.
jfxc2063 test cases
jfxc2063: add original test case
jfxc1253: add test case to currently-failing
jfxc624: add currently-failing test case
jfxc103: add currently-failing test..this is an OLD bug
add comments in tests
Fixed JFXC-2070 : Compilation of script fails if String sequence contains 
null some times
Handle literal nulls in explicit sequenc creation.

Fixed JFXC-2204 : On assignment, object literal init, or initial value, 
convert literal null to default value
Fixed JFXC-2205 : Literal null or an Object value of null when cast to 
String/Duration must be converted to default value
These represent partial functionality for JFXC-960 : Umbrella: 
String/Duration types should never have null value
With regression tests and fix to the regression test for JFXC-2000 : 
Inconsistent treatment of nulls in sequences

Add currently-failing test for JFXC-2217 : On assignment, object literal 
init, or initial value, convert (non-literal) nullable value

Repaired currently-failing test for JFXC-103 which was missing the '/fail'
Currently-failing test for JFXC-2221 : Overloading fails on sequence to array 
argument
Currently-failing test for JFXC-2222 : No automatic upcast for array argument
Failing tests for two bugs I tripped over trying to work on another
JFXC-2076; move conversion methods out of Sequences, rename toArray to 
toDoubleArray.
RT-876, RT-942 System Properties read access security issues
Reviewer: Riaz A.
JFXC-2185 & RT-758: Made NoRuntimeDefault Safer, implicitExit when 
Timelines complete
RT-987: remove setProperty() method. Replaced by setFXProperty()
Reviewer: Riaz A.
Fixed JFXC-2200 : Compiler crash java.lang.ProcessBuilder constructor
Problem was that varargs constructors were not handled.
With regression test.
Also fix issues with passing to array parameters.
Verified fixed JFXC-1824 : Can't call varargs method with several arguments
Fixed in r4432, verified with this test.
Fixing RT-1145 - Doc tool does not support package level documentation.

Minimal package-level doc support is added. In the overview page,
currently we show a one-liner doc for each package. When there is
no package-info.java or package-info.fx, the overview page showed
one-liner for first class in the package. This is fixed now. When no
package doc, nothing is shown now.

Also, when there is detailed package level doc via package-info.fx/.java,
the overview page shows an arrow button. On clicking the arrow button,
the detailed doc is shown "in place" - much like method doc expansion for
in class doc page.
regression tests for JFXC-824 and JFXC-998
RT-1050 Didn't replay after stopped and the rate is changed to -rate
In my last commit for RT-1145 (Doc tool does not support package level
documentation), I missed two things:

1. The collpse/expand button has to change state on clicking i.e.,
different button image should be shown.

2. Hyperlinks in detailed package doc have wrong href.

This commit fixes the above issues.
Fixing JFXC-2232 Method/function, field/attribute links created by
user don't work as expected.

* Adding missing anchor (<a name=...) points were missing.
* For method signatures, we need to use expanded signature
(even when user specifies simple name).
Let the ClassType.getFunction reflection method find script-level functions
(or more generally: static methods) in compound classes.
This fixes JFXC-2197 "javafx.reflect getFunction() method does
not correctly find Script level functions".
Also, add FXContext.getStringType() - for consistency, and to
simplify the test case that was added.
Fixed JFXC-2186

The error checking routine that evaluates whether a semi colon
is required to separate a statement was not protected against
being positioned at the first token in the input stream when the input
text was only a single token such as 'function'. This change now
protects these routines against this event.
Fixed JFXC-2235 : Compiler crash: bind to instanciation of Java varargs 
constructor (was not implemented)
Implemented this case.
Added regression test.

Prep for JFXC-1169 : Compiler crashes on a Bind to a fx class instance 
creation with incorrect const args
Added assertion to clarify the error.
Added currently-failing test.
Fixed JFXC-2229

Protected the script building routines from attributing partially
constructed JAvafx user supplied run functions.
A fix of test(JFXC-2237)
A test fix for JFXC-2239
Fixed JFXC-1779 : Result of a bound function is not re-evaluated when a 
function dependency changes
Function variables were not being correctly implemented in bound contexts.
They now update trigger on change and guard against NPE.
New white box tests.
Submitted test moved to regress.
Handle Type.noType when printing error message - rather than getting a NPE.
This fixes JFXC-2199 "compiler crashes for an erroneous function invocation".
(The initial NPE gets caught - with no error message emitted,
so we end up with a dufferent NPE at translation time.)
Oops - the fix and test-case for JFXC-2199 fixed and tested a
slightly different bug.  (The difference is whether the body of the
anonymous function was empty or not.)
Just make a note of this - fixing JFXC-2199 properly looks non-trivial.
RT-1196: codebase system property string constant added
Fix for #RT-1110 - Too many jars on compiler and javafxdoc class path ...
First cut at type system document
RT-1196: moving codebase property into common area
Add T-Field rules
Make all the incorrectly reported errors int he Netbeans IDE go away
by properly specifying the locations of the dependant jars for each
source code path set.

This also means that the debugger, IDE refactoring and so on all work
correctly or in an improved manner now.
Currently-failing test for JFXC-2011 : Compilation fails for a valid bind
Verified fixed JFXC-909 : Scope of a variable differ from bind vs non-bind
Fixed JFXC-2167 : need to fix translation of INT *= NUMBER
Fixed JFXC-2269 : *= and /= for Duration do not compile
Overly simplistic type handling in *= and /=.
Both with regression tests.

Also, currently-failing should-fail test for JFXC-1449 : Check bound 
attributes changing
Verified fixed  JFXC-1241 : Allow iterating over java arrays, collections, or 
other Iterables
Error if non-sequence where sequence is required.
This fixes JFXC-2245 "Compiler crashes if tried to insert
a value into non-sequence".
Fixing JFXC-2265 - Link to an image is unresolved, image is not shown.

Testing:

* ran "ant apidocs" on JavaFX GUI code and verified that (manually)
the CustomNode's class's doc shows the image from "doc-files" directory.
Fixing JFXC-2236 - javafxdoc example ignores transform attributes.

Testing: ran "ant apidocs" on GUI code and also ran the samples attached
in bug report and verified output manually.
Fixing JFXC-2266 - javafx.lang.FX (and other Java based APIs) are not 
documented

Adding list of packages with Java code to javadoc invocation step.
Improve confusing JavaDoc for FXFunctionType.isVarArgs.
Fixes JFXC-2264 "Confusing doc for javafx.reflect.FXFunctionType.isVarArgs()
method".
After an error attributing [EXPR], be smarter about setting type
to expected type - only set to sequence type is sequence is allowed!
Fixes JFXC-2244 "Errror message needs to be improved for the case "var 
f:function () = [2];"".
Progress JFXC-936

Provide comments to show why we are getting the error message referencing
'static', as it is coming from the javac Resolve.
Fixed JFXC-2274

Provide clearer error messages regarding the use and abuse of sequences
providing information as to what the compiler is looking for instead
of a sequence.
add test for interesting case of block expression evaluation
Update expected output of failing tests in light of error message format 
changes
Revert incorrect comment, see JFXC-960.
Fixed JFXC-2281 : Errors reported by the back-end must indicate that they are 
internal errors
A message, like the exception message, is now printed when Java attribution 
finds an error.
It requests that the user submit an error report and shows the Java dump, 
before finally showing the Java attribution error.
A stable regression test is not possible since it requires a failure that 
should not occur.
Fixing JFXC-2206 javafx api docs: "Profile:" label in upper right corner is
unreadable because of lack of contrast.
Fixing JFXC-2263 Document formatting is ugly for inner classes.

Testing:

* Ran "ant apidocs" target on GUI code and "ant docs" on compiler code.
* Verified manually that the docs of inner classes in javafx.reflect are
displayed properly.
RT-1427: javafx.version property moved into common are
Reviewer: Riaz A.
Fixed: JFXC-2291

- Ensures that block {} expressions have the correct end position in all 
cases;
- Ensures that when a user supplies a run() function, that the source code
  positions are preseved in the re-synthesized staic run function in the AST.
  As the suer suplied the code, the function is also not marked as being 
SynthType.SYNTHESIZE
  as the IDE tools such as code reformatting need to know that the user 
supplied the
  code.

NB: This is a candidate for backporting to the 1.0 release.
Supports tests that use a mix of .java and .fx files, where the
former are specified with @compilefirst in the latter.
Add test for reflection tolerating method with generic return type.
Re-Fix JFXC-1896 : Renaming parameter __ARGS__ causes mobile build to fail
Verified fixed JFXC-1943 : Overriding variable declaration in subclass fails
Fixed earlier, both forms verified with regression tests.
Use isSameType when checking for exact match.
Fixing this uncovered another bug: when searcing for a method, we
search through super-types - even for constructors.
This fixes JFXC-2201 "Resolution of Java superclass method is different
depending on how it's qualified".
Refactoring and clean-up in preparation for fixing JFXC-2278 : Attribution 
should catch override of instance var when no 'override' keyword
Fixed JFXC-2278 : Attribution should catch override of instance var when no 
'override' keyword
Note that visibility must be part of this determination, so
both visibility cases are covered in the tests as well as a positive test.
Also, old translation phase error is removed, which is a start on fixing...

Fixed JFXC-728 : script-private class variables not hidden from subclasses
Besides the above, computation of override needed to be more subtle.
Regression test moved from currently-failing.
Fixing JFXC-2295 - Compiler API docs should not include API docs of
javafx.reflect package.
RT-348: javafx.animation classes need to be documented
javafx.lang package-info.java and FX.java Documentation Cleanup
Update copyright-headers (JFXC-2148).
RT-1049 fixed
Fixing JFXC-2299 - javafxdoc fails to generate images for @example code on
Mac OS X with JDK 5.

Thanks to Kevin Rushforth for running tests (attached to bug report) to
nail down the problem and also for verifying that the fix works on Mac
with JDK 5.
Add primitives and arrays to type system document
Fixed JFXC-1868 : Non-runnable scripts shouldn't be runnable (shouldn't have 
run, javafx$run$ or main)
User will now receive an exceptioin if they attempt to execute a library 
script without a run function.

Fixed JFXC-2250 : Could not compile JavaFX launcher MIDlet
1868 fixes 2250 by side-stepping a presumed 1.5 javac bug by just not 
generating the methods causing javac to get confused.
FX.getProperty() javadoc update
Fixed, in V1.5 S1, JFXC-2283 : Implementing __DIR__ and __FILE__ on mobile is 
impossible
__DIR__ and __FILE__ are now String not URL.
RT-1414 Changing the rate of a Timeline causes it to restart
RT-1661: build version property is updated in runtime
Reviewer: Riaz A.
RT-1575: Treat commandline arguments as named arguments, if they are 
delimited by '='
coverage tests for javafx.util.Bits
Fixing JFXC-2252 - Invalid copyrights in the doc .js scripts.


Adding missing GPLv2 copyright message header to .css, .js and .xsl files.
In my commit for JFXC-2252 (r4519), I wrongly added GPLv2 copyright for
these third-party JavaScript files. Reverting back to original copyright
header on these JavaScript source files.
Groundwork for JFXC-2132 -- minor refactorings in preparation for merging 
listener, dependency, trigger, and weakMe list heads.
JFXC-2132 -- merge listener, dependency, and trigger list heads (eliminate 
two fields from XxxVariable classes).
Fixing JFXC-2173 - override attribute syntax doesn't provide correct type
info to replace trigger.
remove se call to random()
JFXC-2317: Only keep one WeakReference around for dynamic dependencies 
(resurrecting the old strategy).  This reduces the nubmer of WRs and also 
fixes the problem of accidentally holding strong refs to locations that 
should have been collectible.
replace Math.pow with local function; still need to replace Math.round
Partial JFXC-2321; simplify linking mechanism.  Keep track of what kind of 
dependencies we have, so we can easily answer questions like "do we have any 
X's".
JFXC-2311, JFXC-2312, JFXC-2318: eliminate fields from AbstractLocation / 
AbstractVariable for binding expression, deferred literal (used only at init 
time), and weak reference holder (used only for locs that are dynamic 
dependencies), instead hanging holders as dependencies in the dependencies 
chain.  This gets us down to our goal of 3 fields per Location; the value 
box, a word of static flags, and the list head for the dependency chain.

Also used cache singleton of iterator for the empty sequence, and used cache 
copies of Duration (Flyweight pattern) for 0ms and 1ms (most common values.)
Start JFXC-2325 : Language reference
Sketch of Introduction.
Beginning of Types and Values.
Changing jvmarg-line to jvmarg-value in build-script where appropriate. This 
fixes JFXC-2181 (Build fails on Windows).
Progress JFXC-2325 : Language reference
Flesh out Types and Values.
Progress JFXC-2325 : Language reference
finish sketch of Types and Values.
Progress JFXC-2325 : Language reference
top-level outline of Expressions
Progress JFXC-2325 : Language reference
start on Variables chapter
JFXC-2324 regression test added to the sandbox
Setting the default locale of tests to en_US. This fixes JFXC-2090 (A few 
JUnit tests fail due to German locale).
Fixing JFXC-2322 - API documentation does not switch between desktop and
common profile.


* Implemented profile inheritance. A function/variable that does not have
@profile inherits @profile from the containing class.

* Missing profile warning: Missing @profile and also not having inherited
profile results in javafxdoc warning now. But, the item missing @profile
is shown in both common and desktop profiles.
JFXC-2321: simplify dependency linking mechanism to reduce cost of expiring 
dead references.  Also some renaming to reflect the current way dependencies 
are managed.
Progress JFXC-2325 : Language reference
Convert reference to docbook so that it has tool support.
Clone infrastructure to build it as HTML.
Add section on syntax of variable declarations, with diagrams.
Progress JFXC-2325 : Language reference
on replace.
More var syntax.
Beginning of functions.
Progress JFXC-2325 : Language reference
more on functions.
Progress JFXC-2325 : Language reference
rough sketch of functions chapter.
Progress JFXC-2325 : Language reference
beginning of Classes chapter.
Progress JFXC-2325 : Language reference
initialization
etc
RT-2328 Fix of bootclasspath/classpath in javafxc launcher
Fixing JFXC-2338 javafxdoc left-hand package/class navigation panel
not properly displayed on startup.
Fixing JFXC-2249 - java.lang.ArrayStoreException: 
com.sun.tools.javafxdoc.PrimitiveType.

Testing: Checked that ctrl-space after entering java.util. in an empty
JavaFX file brings drop-down box without throwing exception.

Used NetBeans IDE 6.5 RC2 (Build 200810270001) to test the fix.
Added package.html for animation package.
Fixing JFXC-2306 - javafx.animation.Interpolator cannot be analyzed: NPE

See also the bug JFXC-946. Without "complete" on method symbol, the type of
the method symbol is null which eventually results in NPE.

Testing:

* ran "ant clean all" on compiler workspace

* Used NetBeans IDE 6.5 RC2 (Build 200810270001) to test the fix:

  entering ctrl-space after "import javafx.animation." on a empty
JavaFX file and choosing "Interpolator" from drop-down box does not
throw NPE anymore.
Fixing JFXC-2314 : error message has no file name, line number, or errant 
line of code.
Fixing JFXC-2346 - using wildcard "*" to import all classes in a user defined
package gives compilation error.

JavafxMemberEnter.visitImport method expects "foo" to be always type whenever
"import foo.*" is used. Change that to expect "foo" to be type or package.
RT-1812: Release version property can't use reflection
Reviewed by: Riaz A., Craig N.,Jan Sterba
Fixing JFXC-2353 - javafxdoc css, script changes for look and feel.

Fixing JFXC-2209 - javafx api docs: the package expand/collapse links on
 left do not work on Internet Explorer.

Testing: doc pages from compiler code checked on Firefox 3.0.3 and Internet
Explorer 7.0 on Windows XP.
Partial fix to JIRA RT-1216. Updated package.html of animation package.
Fix mising check-in by vdanushevsky (revision 4559) so build doesn't break.
If required type is an array, we should only convert sequence-to-array
if the expression type is a sequence type, not if it is a non-sequence.
Specifically, we should leave null and java.lang.Object as-is.
This fixes JFXC-2348 "Regression: type inference on null and []".
Test-case left out from check-in r4564.
Allow indexing of Java arrays.
This fixes JFXC-2349 "Compiler crash indexing float array
returned from Java code".
Add test to avoid ClassCastException on function types.
This fixes JFXC-1425 "getAttributes(boolean) reflection method throws
ClassCastException with function type attr".

Also, map java.lang.Void in function return types to the Void primitive type.
Progress JFXC-2325 : Language reference
Begin binding chapter
Add a jfx-specific re-implementation of MethodSymbol.overrides.
Use it for checkOverride so it does the right thing for jfx inheritance.
This is not a fix for JFXC-998 (which also needs a translator fix).
Progress JFXC-2325 : Language reference
Complete section -- What does "bind" mean?
Fix makeTypeTree calls for change triggers.
This fixes JFXC-1342 "Compiler throws incompatible type error for a
valid replace trigger declaration of a function type attribute".
Check that if syntax 'ClassName.member' resolves to a non-static member
then it must be used in a context where ClassName is a supertype of one
of the classes we're in the scope of.  This fixes JFXC-2355
"need to catch reference to named non-static from static context".
FX.getProperty() javaoc update
fix for 1435 allows uncommenting of a test case
Progress JFXC-2325 : Language reference
Add section -- bind definitions
Progress JFXC-2325 : Language reference
start of built-in types
Progress JFXC-2325 : Language reference
Strings
Progress JFXC-2325 : Language reference
more literal syntax
Progress JFXC-2325 : Language reference
Layout clean-up.
Use chunk.xsl instead of chunkfast.xsl to workaround missing next/prev.
Remove langref.xsl which is generated.
Progress JFXC-2325 : Language reference
Publish the Language Reference
Progress JFXC-2325 : Language reference
More on built-in types
Progress JFXC-2325 : Language reference
Publish the Language Reference  (Part II)
Progress JFXC-2325 : Language reference
Reference lexer update.
Fix incorrect (and misleading) comment.
Minor simplification and optimization for bound sequences as used in
'for'-expressions - avoid creating and copying a temporary array.
Progress JFXC-2325 : Language reference
Work on operators.
Progress JFXC-2325 : Language reference
More work on operators.
Progress JFXC-2325 : Language reference
Fix reviewer reported issues.
RT-1998/RT-1999: expose the underlying applet to applications via 
getArgument(javafx.applet)
Progress JFXC-2325 : Language reference
Start access modifiers
Progress JFXC-2325 : Language reference
More access modifiers
Progress JFXC-2325 : Language reference
some expression syntax
Progress JFXC-2325 : Language reference
more expression syntax
Progress JFXC-2325 : Language reference
reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
more reorg Expressions chapter
more expression syntax
Progress JFXC-2325 : Language reference
complete reorg of Expressions chapter
Progress JFXC-2325 : Language reference
Break into chapter files.
Re-org chapters.
JFXC-2368: don't use printStackTrace(stream) method.  Also, eliminate 
repeated reflection use in finding Duration class.
Progress JFXC-2325 : Language reference
Incorporate Brian's suggestions in the Intro
Progress JFXC-2325 : Language reference
Address issues Brian found in Types chapter.
Fixing JFXC-1986 - ClassDoc implementation returns empty comments for
certain classes.

* checking for doc-comments is moved to lexer.
* parser skips line comments and non-doc comments while looking for
  doc-comments.
Fixing JFXC-2357 - Exceptions listed in doc comments through @throws tags
are not displayed in javadoc.
Progress JFXC-2325 : Language reference
Address issues Brian found in Expressions chapter and part of Variables 
chapter.
Add @throws JavaDoc lines
Progress JFXC-2325 : Language reference
Address Brian's feedback on Variables chapter.
Fixing JFXC-869 - Visibility of catch-parameter.
Fixing JFXC-2337 - javafxdoc should not put "subclass" in can-read column for
"public-read protected" vars.
Fixing JFXC-1976 - Correctly set initial size of SequenceBuilder when
generating sequence literals.

Testing: Manually verified using javap that the compiler generates
calls to (initial) size accepting constructors.
Progress JFXC-2325 : Language reference
Address Brian's feedback on Functions chapter.
Fixing JFXC-2350 - Division not supported for Duration.
Progress JFXC-2325 : Language reference
update per JFXC-2350
Progress JFXC-2325 : Language reference
add an introduction to the Classes chapter and address other feedback from 
Brian.
Progress JFXC-2325 : Language reference
Binding chapter: address feedback from Brian.
Fixing JFXC-2360 - javadoc-style {@link <reference> <text>} tags 
can not be used
to differentiate the reference from the text to be linked.

Testing: generated docs and verified manually the "See Also" links. Also,
verified manually that {@link ref link-text} shows link-text as hyperlink
text.
Adding more operator tests for Duration.
Fixing JFXC-1989 - __DIR__ and __FILE__ should be read-only script variables.
RT-2147: Fix javascript->FX call for 6u11
Progress JFXC-2325 : Language reference
Begin filling in the Expressions chapter with descriptions and examples.
Minor work on Variables chapter.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
JFXC-2381 - Don't create a SliceReplacementSequence when we're replacing the 
entire thing; just use the newValues sequence as the new value.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
misc clean-up
Change 'insert before' and 'insert after' so that out-of-range index
is treated as inserting at the beginning or end of the target.
This fixes JFXC-2386 "incorrect implementation of out-of-range insert before
and insert after".
Remove questionable and no-longer-needed 'seq' variable.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
A new test case that exercises sequence modification by doing 10000
pseudo-random replace, delete, and insert operations to a sequence.
The file SeqRandomModsJ.java is the Java transcription, to provide a base 
point.
This uncovered a couple of bugs, which are also fixed.
This fixes JFXC-2389 "long chain of pseudo-random sequence operations
give wrong results".
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
spelling pass on the Expressions chapter.
Progress JFXC-2325 : Language reference
more work on the Expressions chapter with descriptions and examples.
Progress JFXC-2325 : Language reference
animation expressions
Progress JFXC-2325 : Language reference
placeholder for animation chapter
Progress JFXC-2325 : Language reference
self-review of first five chapters
Add @profile (or @treatasprivate) javadoc tags to reflection API.
This fixes JFXC-2377 "Reflection API should be tagged with desktop profile" 
and
JFXC-2380 (duplicate) "Package javafx.reflect needs to be in desktop-profile".
Add commented-out run-time measurement.
Progress JFXC-2325 : Language reference
corrections to inheritance information
Partial fix for JFXC-1186 - JavaFXScriptEngine ASCII-script + JNLP: 
compilation failed.

The fix is partial because we need to generate META-INF/CLASS.LIST resource
for all other JavaFX jars as well (like javafxgui.jar) which are generated 
from
other code bases. Also, webstart scenario has to be tested after signing etc.

Testing: Commented out script classpath initialization from application's
class path (from java.class.path property) and made sure script "eval"
works even then -- using CLASS.LIST resources to list classes of
packages.
FXLocal.VarMemberLocation probably needs to be public, because it
has local-specific functionality - i.e. getAbstractVariable.
(This may needs some re-work to generate locations on the fly
in the case that the compiler optimizes away locations, or
we implement them differently.)
Change ArraySequence to use a buffer-gap.  Perhaps modification and
concatenation "in-place" if the 'shared' flag is false.
This implements JFXC-2336 "implement shared-unshared sequence optimization".
Progress JFXC-2325 : Language reference
fill-in more of Types chapter
Fixing JFXC-2403 - javafxdoc: Need to add a meta tag to doc headers.
Progress JFXC-2325 : Language reference
Instance initialization description
Fixing JFXC-2404 - javafxdoc: Need to add copyright hyperlink in every doc 
page.
Progress JFXC-2325 : Language reference
Address Steve's review comments
Progress JFXC-2325 : Language reference
Address Steve's review comments -- Types chapter
Progress JFXC-2325 : Language reference
Address Steve's review comments -- Types chapter
Progress JFXC-2325 : Language reference
add hyperlinks
Progress JFXC-2325 : Language reference
fix-ups to the Binding chapter
Update antlrworks to 1.2.2
fix typos in output
Progress JFXC-2325 : Language reference
add pseudo-variable section
Progress JFXC-2325 : Language reference
address Steve's comments on Variables chapter
Progress JFXC-2325 : Language reference
address Steve's comments on Functions chapter
Progress JFXC-2325 : Language reference
address Steve's comments on Classes chapter - hand edit the list so it 
renders reasonably
Progress JFXC-2325 : Language reference
address Steve's comments on Expression chapter - part I, through adding 
for-expression exmples
Progress JFXC-2325 : Language reference
address Steve's comments on Expression chapter - part II, through adding 
nested objectliterl defs and block examples
Progress JFXC-2325 : Language reference
address Steve's comments on Expression chapter - part III
Progress JFXC-2325 : Language reference
address Steve's comments on Expression chapter - part IV (last).
address Steve's comment on Binding chapter.
Complete addressing Steve's comments Chpaters 1-7.
Progress JFXC-2325 : Language reference
fix the display of output
Progress JFXC-2325 : Language reference
add and use callout support
Progress JFXC-2325 : Language reference
adjust callouts
Progress JFXC-2325 : Language reference
fix XML validity issues
Progress JFXC-2325 : Language reference
fix XML validity issues
Set-up for JFXC-2423 : Language reference -- Binding detail
remove incomprehensible gobble-de-guk, create this issue to write it correctly
Progress JFXC-2325 : Language reference
clean-up
Fixed JFXC-2425 : Language reference -- bidirectional bind
add description and examples of bind iwth inverse
Progress JFXC-2325 : Language reference
clarification pass
Progress JFXC-2325 : Language reference
fix the handling of the Void type
Progress JFXC-2325 : Language reference
add examples to Types chapter
add links
Progress JFXC-2325 : Language reference
more examples to Types chapter
Progress JFXC-2325 : Language reference
differentiate and deemphasize lexical rules for literals
Fixed JFXC-2426 : Language reference -- isInitialized
write isInitialized section
Back out changeset 4664
Adding some test-cases for ReplacementSequence and SliceReplacementSequence. 
These test for the bug, which was discovered by Per.
Preliminary work to generate Xxx classes from string templates.
Fixed JFXC-2347: Regression: NPE on dereference
Added a case for SEQUENCE_INDEXED to JavafxToJava.possiblyNull
Progress JFXC-2409: Runtime support for primitives
JFXC-2409: Runtime support for primitives.  Replace 
Xxx{Location,Variable,ChangeListener,Constant,BindingExpression} classes with 
template-generated equivalents.
Fixed JFXC-2433 : Eliminate class literals
Consistently use TypeInfo (instead of mixture of Class<T> and TypeInfo) 
for identifying type in sequences.
This makes the code more mobile friendly.
Runtime changes by Brian.
Compiler support by Robert
Existing sequence tests cover this space.

Fixed JFXC-1955 : Compiler error while creating a sequence of functions in 
bind-context
currently failing test moved to regress.

Fixed JFXC-2402 : declaring sequence of functions crashes compiler
new regress test
Progress JFXC-2439 : Common numeric type definitions
Progress JFXC-2438 : full numeric type Locations
Fixed JFXC-2439 : Common numeric type definitions
type definitions common to attribution and translation fully extended to all 
numeric types

Progress JFXC-2438 : full numeric type Locations
TypeInfo expanded extended to all numeric types
Progress JFXC-2325 : Language reference
fix unaryExpression syntax diagram
Fixed JFXC-2410 : Predefined type names for {Character, Byte, Short, Long , 
Double, Float}
these type names can be used to define vars, etc.
test added which tests usage and verifies type.

Clean-up JFXC-2439 : Common numeric type definitions
remove all internal uses of javafx_NumberType -- instead explicitly use 
javafx_DoubleType.
JFXC-2345 -- implement key value target as a function instead of a binding.  
Patch from Chris.  Had to fix a number of tests, including moving some tests 
to limbo because they want to modify the interpolator and reuse the timeline, 
which doesn't seem kosher.

This also broke JFXC-1087, so reopening that issue (moved test to 
currently-failing.)
Fixed JFXC-2438 : full numeric type Locations
fully functional Locations are generated using the new runtime numeric 
Locations
Fixed JFXC-2444 : Language reference: Steve Side's comments on chapters 7 and 
8
thanks Steve
Fixed JFXC-2445 : Float array not properly type-inferenced, breaks GUI
revert to conversion to Integer or Double sequence, for now.
Progress JFXC-2325 : Language reference
document try-catch-finally
Progress JFXC-2325 : Language reference
document function override
Partial JFXC-2441 -- runtime support for bound arithmetic on primitives.  For 
the binary arithmetic operators (more later), replaces the combinatorial 
explosion with a single op node for each of the four return types (integer, 
long, double, float).  ObjectLocation<? extends Number> can be 
transformed into a NumericLocation through Locations.asNumericLocation().
Fixed JFXC-2446 : Language reference -- document variable, function, and 
class modifiers
JFXC-2441: Add BoundOperator support for numeric comparisons, boolean 
comparisons, and, or, unary not, unary negation
Fixing JFXC-2407 - Make attribution context aware.
Fixing JFXC-2279 - Illegal content of bound block caught in translation
but must be caught in attribution.
Fixing JFXC-1496 - Error message with postincrement/decrement operators used
in bind context. (must be caught in attribution).

Testing:

* ran all compiler tests with new tests added.

* verified manually that the errors are caught in attribute phase by

    a) running javafxc with -doe option and checking stack trace
    b) copied compiler jars to NB 6.5 installation and checked with
       editor. Previously editor was not showing curvy lines for errors.
       With these fixes, editor shows errors with curved lines.
Minor types tweaks
Further JFXC-2441: Fill out remaining UnmodifiableXxxLocation wrappers; 
eliminate duplication
Further JFXC-2441: Further refactoring of Location wrappers to eliminate 
duplicate methods.
Further JFXC-2441: Further refactoring of Location wrappers to eliminate 
duplicate methods.
Progress (JIRA offline, I don't know bug number) numeric types -- switch to 
new BoundOperators
Progress (JIRA offline, I don't know bug number) numeric types -- switch to 
new BoundOperators
add unary
Progress JFXC-2450 : Translation support for new runtime bound operator 
implementation
[this is the issue I couldn't access the number of]
throw away the old runtime implementation... saving LOTS of static footprint 
wrapped up in operator classes.
keep == and != implementation for now.
Progress JFXC-2450 : Translation support for new runtime bound operator 
implementation
bound arithmetic operators verified with generated test across all 
combinations of numeric types
Fixed JFXC-2450 : Translation support for new runtime bound operator 
implementation
fix handling of == and !=, further reducing static footprint.
bound comparison operators verified with generated test across all 
combinations of numeric types.
hand coded comparison test for special cases.
hand coded test for negation and not.
Follow on JFXC-2450 : Translation support for new runtime bound operator 
implementation
hand coded test for Sequence == Sequence  and  Object == Sequence
Run files through dos2unix to fix line-endings which were
set to DOS-style by changeset 4712.
Fixed JFXC-2453 : Language Reference: Missing Link to Public Tutorial
correct names and add links for GUI and core tutorials

Fixed JFXC-2454 : Language Reference: Typo - with instead of which
Fix important javadoc typo.
Partial fix for JFXC-2443 - Get rid of all the incorrect assumptions
in attribution about the numeric types.

It is "partial" because there are still few places where automatic
data type conversions are done. Need to check what conversions (of sequence
types) are allowed etc.
Progess JFXC-2325 : Language Reference
fix incorrect usage of __DIR__ reported by Nikolay Yatsenko.
Undo changeset 4705, which reverted changeset 4664, bringing back:

Change ArraySequence to use a buffer-gap.  Perhaps modification and
concatenation "in-place" if the 'shared' flag is false.
This implements JFXC-2336 "implement shared-unshared sequence optimization".
A testcase to check sequence copying/sharing.
Merge changeset 4682 from perf-sandbox branch:
Get rid of SequenceBuilder.  Instead, we use an ArraySequence directly.
Fixed JFXC-2462 : Lazy binding: Syntax
Fixed JFXC-2463 : Lazy Binding: Propagate lazy flag to translation and into 
Locations
information propagated to runtime, and runtime still uses the information, 
but it no longer causes lazy behavior
New common abstract super-class FXPrimitiveValue.java for
primitive value types.

Make FXLocal.Value extend FXValue.

Also change the various mirrorOf methods to return FXLocal.Value
rather than the more generic FXValue.
Partial fix for JFXC-2443 - Get rid of all the incorrect assumptions
in attribution about the numeric types.

It is still "partial" because conversions of sequences are yet to be
handled.

This fix reverses changes done by r4720 for JFXC-2445 : Float arrays not
properly type-inferenced, breaks GUI issue. Added relevant methods in
Sequences class (to convert float[] to Sequence<Float> etc.) so that the
previous crash during translation is now avoided.
Fixed JFXC-2473 : Add flag selecting the underlying type of "Number"
use   -XDNumber=Float  to cause Number to be Float.
Note that quite a few conversions to and from Float still need to be 
addressed in order for this to be used smoothly.
Fixed JFXC-2476 : Make vague the meaning of "Number"
in the Language Reference.
Redux JFXC-24762 : Lazy binding: Syntax
reverse word order:
   def y = bind lazy f(x);
Fixed JFXC-2475 : Handling of numeric types in TreeMaker
Fixed JFXC-2481 : Support for bound comorehension of new types
   var fs : Float[];
   var y = bind for (xi in fs) xi;
Fixed JFXC-2479 : Arithmetic operations on Duration by new numerics
When Number is 32-bit, operations on Duration break.  This fixes so it works 
regardless.
Fixed JFXC-2486 : Conversion of bound numerics
Create a more generalized Location conversion mechanism.
Remove old mechanism.
Create conversion wrappers for the cross-product of all numeric types.
Change bound translation to interface to these wrappers.
Add test of cross-product (test crashed in back-end attribution before this 
change).
Fix JFXC-2217: On assignment, object literal init, or initial value, convert 
(non-literal) nullable value
This fixes some but not all of this.  See also JFXC-2489, JFXC-2243
Add regress test for jfxc2218, which was fixed by the fix for jfxc2217
Make 'bind lazy' work - at least for the simple case in the
included test-case.
This hopefully fixes JFXC-2465 "Lazy Binding: Function call -- runtime".
Fixed JFXC-2477 : Correct conversion problems that show-up when Number=Float
fix conversion issue.
add cross-product tests for conversions between numeric types in a variety of 
situations.
Verify Fixed JFXC-2464 : Lazy Binding: Instanciation - runtime
Fixed JFXC-2466 : Lazy Binding: Operators -- runtime
implement lazy/eager switching on operators.
cross-product tests for lazily bound operator and operand type.
Add currently-failing test for JFXC-2442 : Runtime: conversions between 
numeric sequences
Add currently-failing test for JFXC-2492 : Runtime: conversions between bound 
numeric sequences
Fixed JFXC-1331:  untyped empty sequence is translated to Object
Added empty sequence symbol to JavafxSymtab; adjusted attribution and 
translation of empty sequence literals accordingly.
Fixed JFXC-2482:  Missing forward reference warning
Adjusted forward reference detection algorithm
added framerate to Timeline
Implementation for JFXC-942 "Compiler should emit warning when source
instantiates a thread or calls Thread.start()".
JFXC-2442: Runtime support for sequence conversions.  Add 
Sequences.convertNumberSequence to convert between arbitrary numeric 
sequences; add NumericTypeInfo and update various uses of numeric TypeInfo 
objects to support all the primitives, including pointer.
As requested, add Compiler Architecture slides to repo.
Add currently-failing test for JFXC-2498 : Duration arithmetic bugs
Fixed JFXC-2443 - Get rid of all the assumptions in attribution about
the numeric types.

-- in "partial" commits for this fix, I had changed Number->Double in 
javafxdoc
code. Changed that to use "Number" depending on choice of Number type in
compiler invocation (-XDNumber=...)

Also, while cleaning up all "TODO:NUMERIC" stuff, I ended up adding 
translation
support for conversion between numeric sequences. Hence, this change fixes
JFXC-2442 as well.

Fixed JFXC-2442 - Runtime: conversions between numeric sequences.
Fixed JFXC-851:  Compilation error when using for loop to iterate thru java 
array
Problem not reproducible - added regression test
JFXC-2492 -- conversion between bound numeric sequences.  New method 
BoundSequences.convertNumberSequence() works just like the unbound version.
New static method asNonSharedArraySequence.
Use it a bunch of places.
jfxc-922 : a non-GUI test case
JFXC-2494 -- make "lazy" parameter explicit on unary bind methods (those that 
take only another Location).  Obviates need for isLazilyBound() on Location, 
as compiler is now passing lazy status all the time, so that is removed. 
Translation changes from Robert.
Fixed JFXC-2510 : Translation: conversion between bound numeric sequences
use new runtime conversion.
factor-out common code with unbound case.

Enable test for JFXC-2492   Runtime: conversion between bound numeric 
sequences
since it is now being used.
Progress JFXC-2412 : Method resolution for numeric types
fixes the problem, however, causes jfxc915a.fx to fail (warnings about 
Long->Integer conversion are not reported).
so, the code in JavafxTypes has been commented out (the code below should be 
removed).
passing it back to Sundar.
test code in bug report.
Fixed JFXC-2507 : NullPointerException in syntactic analysis when using
"at (Duration.valueOf(someNumber)".
In revision r4780, I accidentally changed the word "error" in a comment to 
"f".
Changing it back to "error".
JFXC-2408: add bound if and bound select for floats.
Eliminate UOE on set operations on numeric-to-numeric conversion wrappers.  
This fixes JFXC-2519.
Progress JFXC-2499; reduce footprint by eliminating redundant code
Progress JFXC-2530: Acceptance test for lazy bind.  So far, validated simple 
lazy bind, lazy-behind-eager (eager bind undoes laziness), and binding to 
equality expressions.
This fixes JFXC-2511 "Allow access to the static members of built-in types".
We also move the search for builtin typenames so the search is done
as part of the findType searching.
Progress JFXC-2530: Feature test for lazy bind.  Eager behind lazy, lazy if.
Progress JFXC-2530: Feature tests for lazy bind.  Lazy behind lazy, object 
literals, object literal initializers, class members.
Progress JFXC-2530: Feature tests for lazy bind.  Sequence tests.  Fix 
laziness propagation in IndirectXxx classes.
No longer allows 'new Integer(x)'.
Progress JFXC-2530: Feature tests for lazy bind.  Test for lazy bind to 
function call.
Additional tests on lazy binding.  Sequence lazy binding not working yet.
Flip the switch -- Number=Float
Leap towards JFXC-2493 :  Switch Number to be Float
this breaks the build -- badly -- but we have decided that this is the best 
way foward.

Also, allow, for now, all numeric conversions.
Fix: JFXC-2529 by not giving errors on import java.lang.Double, etc.
JFXC-2525 -- switch NumberRangeSequence to be float, not double.
Fixed JFXC-2515 : Number->Float: regress test jfxc2269.fx fails in 
translation "mul(float) in javafx.lang.Duration cannot be applied to (double)"
jfxc2269.fx now works
Present for Brian.
use to turn off dumps: -XDDumpOnFail=no
Fixed JFXC-2451 : assignops fall over on new numerics
operation type forByte and Short is Integer.
Fixed JFXC-2413 : Number->Float: jfxc1100.fx fails in translation - no 
such method method 
bind(boolean,com.sun.javafx.runtime.location.ObjectLocation<jav 
a.lang.Float>) in FloatVariable
test now passes, I'm now getting 25 failures
change converter to handle FloatLocation instead of DoubleLocation.
also needed to change hard-coded use in a test.
new bug, JFXC-2537, created to handle other numeric sequences.
Fixed JFXC-2539 : Number->Float: range sequences crash for new numerics
test now passes, I'm now getting 24 failures

then fix a couple of .EXPECTED files:
Progress JFXC-2527 : Number->Float: regress/jfxc1779.fx fails at runtime - 
output does not match expected output
defaultseq.fx
jfxc1779.fx
Fixed JFXC-2541 : Number->Float: bound range sequences crash for new 
numerics
test now passes, I'm now getting 22 failures
Add LONG_LITERAL, and fix typo in JFXLiteral.getJavaFXKind.
Update JFXSequenceRange attribution for double->float change.
By default, floating-point literals are now float,
but they're double in a context that requires double.

Likewise, but slightly differently: integer literals are now by
default int, but they're long if they don't fit into int.

This fixes JFXC-2474 "Auto sizing of numeric constants" and
JFXC-2538 "Number->Float: change the default for floating-point
literals to Float".
Fix thinko.
Allow long literals.  Adjust error message accordingly.

Add test-case for JFXC-2474.
Generalize unbox to handle arbitrary FXPrimitiveValue.
Various fixes to handle all the "other" primitive types.
Rename them: JavaByte to Byte and so on, since they're now "first-class".
Plus Number is now float, rather than double.
asNonSharedArraySequence does not need to be public.
Progress JFXC-2542 : Proper literal conversions
When no type context is provided, auto-size floating-point numbers.
failure count: 26 (down from 29 after literal commit)
Change "Integer/long number too xxx" back to "Integer number too xxx",
at least for now.
Update expected output.
Fix bugs in test JFXC1392range.fx; add additional tests for exclusive as well 
as non-exclusive ranges.
Be smarter about auto-typing of literals, and converting them appropriately.
Pass through expected type of block-expression as
expected type of final expression.

Allow double as well as float for ranges.
Fix: JFXC-2545 by tweaking the EXPECTED output
Add LONG_LITERAL to list.
Allow combination of boxing/unboxing with numeric widening conversions.
For example this allows converting a Number to a java.lang.Double.
Fixed JFXC-2547 : Number->Float: FAILED F7-multiple-module/Main.fx
Fxed  JFXC-2546 : Number->Float: FAILED F14-sequence-creation/Main.fx
Switched to using 2^-n numbers.
2 failures down, failure count = 11
Fixed JFXC-2549 : Number->Float: FAILED regress/jfxc2542dbl.fx
changed to more Float-centric algorithm.
removed the float overrun which should be an error
1 failure down, failure count = 10
failure count = 5 (1 bug fixed, 1 test fixed, 1 punt, 2 fixes uncovered)
and more, see below

Fixed JFXC-2559 : Disparate numeric types in bound explicit sequence cause 
crash
fix translation of bound explicit sequence
add regression test

Fixed JFXC-2551 : Number->Float: FAILED regress/jfxc848boundLiteral.fx
fixed by above, plus test using Double in order to get expected results

Progress on JFXC-2560 : Attribution does not propagate expected type in bound 
explicit sequence numeric conversion
singleton bound explicit numeric sequences -- attribution fixed, translation 
still needs fix (but not a regression, so save for later)
currently-failing test added

Fixed JFXC-2557 : Number->Float:  FAILED operators/Operators3.fx
test should be Double, so changed to that.
output was thousands of characters per line and not comparable, changed to 
twenty numbers per line

Punt on JFXC-2552 : Number->Float: FAILED regress/jfxc915a.fx
This error is a missing loss of precision error on Long->Integer, so not a 
show-stopper
moved test to currently-failing

Close JFXC-2556 : Number->Float: FAILEDAccessModifiers/Derived1.fx
Close JFXC-2558 : Number->Float: FAILED should-fail/AccessModifiersTest.fx
no longer reproducible
failure count = 4 (1 expected file fixed)

Fixed JFXC-2553 : Number->Float: FAILED should-fail/jfxc1200.fx
Tweak  JFXC-2557 : Number->Float:  FAILED operators/Operators3.fx
always give final line-end in hopes that will make Hudson happy
failure count = 2 (2 bugs fixed)

Fixed JFXC-2542 :  Proper literal conversions
check for oversized Byte, Short, Integer, Float literals.
handle sign bit on octal and hex.
move conversion out of the lexer.
fix non-internationizable error.
change expected output on four should-fail tests.
add positive and negative tests.

Fixed JFXC-2555 : Number->Float: FAILED should-fail/maxint.fx
above plus change to expected file fixes this.

Fixed JFXC-2553 : Number->Float: FAILED should-fail/jfxc1200.fx
above plus change to expected file fixes this.
Fix JFXC-2548: FAILED regress/jfxc1066.fx
   - update EXPECTED file per new output

Fix JFXC-2550: FAILED regress/jfxc660.fx
   - update EXPECTED file per new output

[junit] Tests run: 721, Failures: 0, Errors: 0, Time elapsed: 1,781.111 sec
add basic numerics tests
Improve documentation for ArraySequence.
Make 'shared' field private.
Add some assertions.
Added JarAnalyzer tool.
Added a build target named staticsizes that calls the JarAnalyzer and 
produces data for the Plot plugin of Hudson.
Fixed "staticsizes" build target dependency (depends on "jar" target instead 
of "compile" one).
Method overloading and numeric types.
Testing numeric types in variables: declaration
Progress on JFXC-2325 : Language Reference
assorted work on reference.
esp., section on sequences.
written during down-time at yesterday's meeting.
Fixed JFXC-2416 : Parser and tree generation: mixin keyword for classes
lexer and parser support for 'mixin' modifier.
basic attribution tests for incorrect use (instanciation of mixin class, 
bogus use: on variables, etc)
positive and negative tests.
Fixed JFXC-2564 : BrickBreaker sample won't compile
Proper handling of block-expression with-in a sequence context.
regression test is boiled-down reported case.
correct typos in regression test headers
Fixed JFXC-2456 : Language Reference -- add keyword list
appendix A.
Numerics and methods (overloading, overriding, inheritance)
Long value grater than integer as a parameter to function (issue 2571)

Testing boundary values of new numeric types and operations with these types.
Testcases for corresponding issues.
Method returns and numerics
Various small fixes and improvements.
Testing convertions of numeric types used in variables
Testing sequences containing elements of new numeric types.
Fixed: JFXC-2471 javafxc -version in 1.0.1 b01

Details:
1. Refactored build scheme, such that each of the launcher's version
   can be set separately, using its own resource file.
2. Added system property "javafx.runtime.version" which holds the equivalent
   of -fullversion.
3. Modified the javafx, javafxdoc launchers to print -version and 
-fullversion.
4. Set the version [1.1 (Franca)] for the runtime and the launchers.
5. Added test to verify all of the above.
Fixed JFXC-1952 : public-read allows subclass to override var
Fixed JFXC-2137 : def allows subclass to override var
and thus
Fixed  JFXC-2293 :  Umbrella: variable override restrictions
error messages generated for these attempted overrides.
should-fail test verifies.
Add EXPECTED file missing from below commit --
Fixed JFXC-1952 : public-read allows subclass to override var
Fixed JFXC-2137 : def allows subclass to override var
and thus
Fixed  JFXC-2293 :  Umbrella: variable override restrictions
error messages generated for these attempted overrides.
should-fail test verifies.
Progress JFXC-2592 : KeyFrame/Value retranslation hack blocks elision
restructure InstanciateTranslator so that the new super-class can be used 
directly by KeyFrame/Value.
Progress JFXC-2592 : KeyFrame/Value retranslation hack blocks elision
fix InterpolateValue to KeyValue translation
Progress JFXC-2592 : KeyFrame/Value retranslation hack blocks elision
fix JFXKeyFrameLiteral to KeyFrame translation
Fix JFXC-2592 : KeyFrame/Value retranslation hack blocks elision
complete removal of retransformation hack.
unify Instanciation translation with new KeyFrame/Value translation.
remove final retransformation in Instanciation -- sequence upcast.

Note that above also fixes --
Fix JFXC-1087 : NPE in bind for
re-enable test and move to regression tests.

Also, clean-up in parser support.
More testing of "sequence sharing" (lazy-copying), specifically
that when we take a slaice of a sequence and then modify either
the slice or the original that the other (original or slice)
isn't changed.
JFXC-2323 Do not throw FXExit from RuntimeProvider.exit() Reviewed & 
Approved by Brian G
Fix JFXC-2026 : Elide unassigned and externally unassignable member vars
Fix JFXC-2103 : Elide object literal inited and public-init initable member 
vars
optimization -- don't turn things into Locations that don't need to be.
largely enabling previous work, but also required tracking usage with 
KeyValue.

Fix JFXC-2591 : Crash -- zero checking of target of KeyValue
verify that the target of a "target => val" is a variable reference.
Fixed JFXC-2544 : Animation: Zero frame not setup correctly
Fix JFXC-2602 : Overriding a protected var in a different package fails
JFXC-2500 and JFXC-2503 -- static footprint reduction.  Eliminate some unused 
classes (CartesianProduct and friends); reduce size of numeric locaion 
conversion wrappers; eliminate unmodifiableXxx() location wrappers.

This appears to shave ~200K off the static size of the javafxrt.jar, though 
that may not be an apples-apples comparison.
JFXC-2607 -- further consolidation in BoundOperators.
Fixed JFXC-1151:  "x is already defined" is detected too late
Changed block attribution code,  added regression test
Fixed JFXC-1151:  "x is already defined" is detected too late
Changed block attribution code,  added regression test
JFXC-2393 Documentaion updates for isSameObject and isInitialized
JFXC-2501 -- consolidate equality operators.
Fix JFXC-2606 :  Compiler error returing an if expr that has a throw in the 
else part
caused by bollixed-up translation state. fixed by the below reorg. test added

Fix JFXC-2610 : Regularize and localize state transitions in translation
the biggest mess remaining in translation was the handling of global state 
(Location vs Value, Expression vs Statement, and target type) which really 
should not be global state at all.
they are now passed as parameters, and the visitor methods retrieve them at 
the boundary.
considerable code deletion and simplification.
Fix JFXC-2613 : protected access not properly analyzed in the face of 
multiple inheritance
this also required fixing subtype testing for generic classes.
these fixes fix the additional failing case for JFXC-2602 : Overriding a 
protected var in a different package fails
a regression test has been added for each.
and EXPECTED file that included incorrect failures has also been corrected.
Fix JFXC-2603 : javadump generated for binding XX[] to XX
more generally, deal with all conversions from bound object to bound sequence.
with regression test.
Progress JFXC-2458 -- apply Jan Sterba's patch to SimpleInterpolator, 
enabling getting rid of Numerics class, and instead relying on downstream 
Number mangling.
msg
Fix JFXC-2620 : Translation: Cannot find Sequence.bindFromLiteral
Fix JFXC-2616 : Incorrect error message: 'var' overrides member 
main(java.lang.String[])
by-pass synthetic main method when reading FX class files, but allow calls to 
Java main methods.
test both cases.
Fixed JFXC-2623:  Recent trunk changes (after 4861 I think) failure on: var 
types:Class[] = { Class.forName("java.awt.Image") };
Fixed translation,  added regression test
(just to fix a message for previous commit 4875)
JFXC-2408 Adding tests on numeric types:
- binary operators on different types operands
- conversion for parameters and return values
- conversion and union of sequences of different types
- indexing sequence using different type of indexes
- overloaded functions
RT-2889 SystemProperties uses String.split(String) which is not avaialbale on 
CLDC.
Reviewers: Riaz A. Saul W.
Fix JFXC-2628 : Assigning an object to a sequence fails inside a bind
issue was automatic upcasting to sequence of an instance initializer in a 
bound object literal.
Adding tests for the following issues:
JFXC-2600
JFXC-2604
JFXC-2605
JFXC-2614
JFXC-2615
RT-1425: Add __PROFILE__ metavariable that specifies the environment that the 
script is executing in
RT-2637 Missing @profile indications
Eliminate references to svnstat tool
Fixing recently added tests.
RT-2637 Another missing @profile
Fix jfxc-2621: Call new runtime routines instead of doing casts
Cleanup the test for jfxc-2621
Rewriting the test from @test/fxunit format to @run/fail.
Adding regression tests for issues JFXC-2582, JFXC-2583, JFXC-2584
Adding regression tests for issues JFXC-2586, JFXC-2588
test jfxc2621.fx: Remove unprintables
Fix JFXC-2642 : Precedence of and/or is wrong
and fix dup JFXC-2641 Precedence issue with logical and, logical or operators
changed precedence of and/or to match convention, Java, and most languages.
updated Language Reference to match.
removed reference to old doc which has this (now) wrong.
added regression test.
updated functional test.
Fix JFXC-2646 : Franca: CutePlayer2 compilation failed (Regression)
fix select of a member instance variable when the selected variable is elided.

Thanks Jim Holmlund for all the help!
Fix JFXC-2649 : Cute2Player doesn't compile - regression - in nested for loop 
in a bind
propagate the type conversion target to a nested sequence in a bound for-loop.

Thanks again Jim Holmlund.
Fix JFXC-833:  single object not equal to sequence of single object
Fixed fx attribution and translation,  added two regression tests
Progress JFXC-2667 -- Merge bound comprehension classes into one.  This 
putback creates a single MakeBoundComprehension method that can be used for 
all types of input sequence; now we have to provide translation support.  We 
can then remove the XxxBoundComprehension classes and eliminate the one 
remaining subclass of AbstractBoundComprehension, rolling it into its parent.
Fixed JFXC-2509: unsigned localized application throws security exception
reviewed by Masayoshi Okutsu.
JFXC-2667 and JFXC-2669 -- merge XxxBoundComprehensions classes into a single 
class.
Fix JFXC-2668 : Regression: crash: no automatic type conversion for some 
bound constructs
previously called: Regression: Compilation failed on PhotoFlockr 
(franca-integration #202)
and fixes duplicate:  JFXC-2639   Bind in Group.transforms causes compiler 
crash
and fixes several related bugs not yet reported.
Add regression tests for the original and each of these lurking issues.
centralize responsibility for type conversion of the body of the generated 
computeValue() method into BindingExpressionClosureTranslator.
Verify fixed JFXC-2565 : bind on sequence of KeyValueTargets fails
Fix JFXC-2651:  fix for JFXC-833 crashes compiler on test of incomparable 
types
Fixed the 'incomparable types' test in fx attribution, added impl for fx cast 
conversion rules,  added negative/positive regression tests
Fix JFXC-2645 : package name = file name causes javadump
allow scripts to be named the same as the package they are in.
this also opens up a mechanism (not the most beautiful, but it is narrow) for 
communication to back-end attribution.
Add missing test folder ---
Fix JFXC-2645 : package name = file name causes javadump
allow scripts to be named the same as the package they are in.
this also opens up a mechanism (not the most beautiful, but it is narrow) for 
communication to back-end attribution.
test test/regress/jfxc2651.fx:  forgot to add @run
Document that this class is primarily a support class.
follow-on to JFXC-2326 : implement shared-unshared sequence optimization
only generate noteShared for sequences.
this improves code size and fixes an issue with type conversion
micro-fix for improperly boxed type in bound for comprehensions (blocking 
Brian)
Fix JFXC-2578 : Unary ++/-- on instance variable of type Short causes 
compilation failure
JFXC-2683 and JFXC-2684 -- merge all XxxBindingExpression classes into one.  
Runtime and compiler changes.  Eliminate additional inner classes from 
BoundOperators.  Roll up inner classes from IndirectXxxLocation into one.

Thanks Robert for quick fix on comprehension translation.
JFXC-2683 and JFXC-2684 -- merge all XxxBindingExpression classes into one.  
Runtime and compiler changes.  Eliminate additional inner classes from 
BoundOperators.  Roll up inner classes from IndirectXxxLocation into one.

Thanks Robert for quick fix on comprehension translation.
JFXC-2683 and JFXC-2684 -- merge all XxxBindingExpression classes into one.  
Runtime and compiler changes.  Eliminate additional inner classes from 
BoundOperators.  Roll up inner classes from IndirectXxxLocation into one.

Thanks Robert for quick fix on comprehension translation.
Fix two holes in JFXIndexOf support in the tree API used by IDEs.
This fixes JFXC-2609 "IndexofTree not attributed".
Fix JFXC-2582 : Inconvertible elements of sequences
handle type conversion to/from boxed types while also converting numeric type.
match translated type of indexed sequence element to its expected type.
move regression test from currently-failing.
uncomment failing parts of feature tests.
Fix JFXC-2498 : bound Duration arithmetic not implemented
implement Duration artithmetic in bound contexts.
move existing test to regress.
add exhaustive test.
Partial JFXC-2687 and JFXC-2607 -- eliminate IndirectXxxExpression, provide 
implementation for bound if/select for all numeric types.  Several failures 
with respect to pointers because the IXE classes implemented 
DynamicViewLocation.  Need to roll SVE/DVE up into Location.
Rest of JFXC-2687 and JFXC-2607 -- eliminate IndirectXxxExpression, provide 
implementation for bound if/select for all numeric types.  Get rid of 
Static/DynamicViewLocation; roll this functionality into Location.  Fix 
pointer bugs and remaining bugs from the refactor.
Rest of JFXC-2687 and JFXC-2607 -- eliminate IndirectXxxExpression, provide 
implementation for bound if/select for all numeric types.  Get rid of 
Static/DynamicViewLocation; roll this functionality into Location.  Fix 
pointer bugs and remaining bugs from the refactor; plus merge of Robert's 
changes (hope I didn't clobber these.)
Merge
Remove files no longer needed from last commit
Remove files no longer needed from last commit
Add missing test file
Added nbproject/private.
Improve attribute of 'LITERAL as TYPE'.
This means Long/Double/Float get handled better.
Partial fix for JFXC-2571 and JFXC-2474.
This broke some existing tests that had to be fixed.
Revert duplicate change.
Further JFXC-2607: eliminate IndirectSequenceExpression, simplify transition 
from closures to binding expressions in translation of bound if and select
Handle "raw" com.sun.javafx.runtime.sequence.Sequence class.
I.e. without type parameters.  This is strongly discouraged,
but it used to crash the compiler, which is bad ...  Instead,
make it ask like Sequence<Object>.
This fixes JFXC-2585 "Sequence compile NPE".
jfxc2717- functional test for sequence compare by index
jfxc2717- functional test for sequence compare by index
jfxc2717- add to functional test for sequence compare by index
JFXC-2448: Language reference -- string translation
Reviewed by Per Bothner.
Check for two object literal parts with the same name.
This fixes JFXC-2665 "Duplicate set of a var during creation of an
'object literal' is not detected and handled by the compiler."
Fixed JFXC-2003 : Internal Error if print method invoked with either zero or 
more than one argument
A bug in method resolution caused a wrong error message to be displayed 
during FX attribution
Fixed JFXC-2003 : Internal Error if print method invoked with either zero or 
more than one argument
Updated fix to deal with both variable and method resolution
Add test-case for (currently OK) JFXC-1476
  "Broken symbol causes additional spurious errors."
JFXC-1476 isn't really fixed yet - I misread the error message.
Testcase for now-working JFXC-2035.
"JavaFX Compiler throws error "cannot find symbol: class java."
for a valid method call."
Updated per the move of the repo to Mercurial on kenai.com
JFXC-2735: hack to expose hasDependencies() for locations.  For internal use 
only, subject to change, blah blah blah.
JFXC-2473 -- combine XxxChangeListener classes into a single 
PrimitiveChangeListener class
JFXC-2473 -- combine XxxChangeListener classes into a single 
PrimitiveChangeListener class
JFXC-2473 -- missing files
Merge
Fix JFXC-2712 : Lazy binding thwarted by some constructs
introduce unbound lazy concept to handling lazy recomputation of unbound 
instance variable inits in a bound object literal.
Add support for __SOURCE_FILE__.
Also when searching if the pseudo-variables are used do so more efficiently.
(Not that it matters, but using 1-element arrays was too ugly for my taste.)
Partial fix for JFXC-2746 "add __SOURCE_FILE attribute in addition to 
__FILE__".
New test-vase for currently-working) JFXC-1767 " NPE casting null to Number".
Ccheck in test-case for (passing) JFXC-2177.
"Type inference errors dealing with null in sequence literals".
Fix JFXC-2745 : bind translation cannot always convert from non-sequence to 
sequence
Fix JFXC-2560 : Attribution does not propagate expected type in bound 
explicit sequence numeric conversion
Re-do scripting support (in the JSR-223) to support read-eval-print loop.
Specifically, so that definitions in one command are preseved for
future commands.
See JFXC-2597 "JavafxScriptEngine doesn't remember definitions - prevents 
repl".
In addition, separated out the core functionality is it doesn't
depend on javax.script.
Fix JFXC-2737 : Latest Marina compiler workspace fails to compile Marina 
Node.fx file
fix binding expressions with more than two inputs which need reference to the 
receiver
Fix JFXC-2747 : non-bind translation cannot always convert from non-sequence 
to sequence
remove double layered conversion to sequence for if-expression
Added a ScriptShell - a real-eval-print-loop application.
This resolves JFXC-2597 "JavafxScriptEngine doesn't remember definitions
- prevents repl".  (Though it still some issues.)
Fix for RT-3338
Fix for JFXC-2755
Added URL content to plot sizes
JFXC-2725 Added jar file counts/compressed/uncompressed file sizes and fixed 
html for readability
Minor fixes to staticsize reports and builds script
Progress JFXC-2607 : Reduce number of classes in BoundOperators
generalize the argument type for binding expressions.
write translation code for bound if that uses binding expressions -- 
currently disabled.
Fix JFXC-2758 : Bad test for alternate radix long literals
Fix JFXC-2567 : Cannot assign min long to variable
Fix JFXC-2571 : Unable to pass long value to a function
Fix JFXC-2576 : Legal Long is reported being out of range

Your see, sir, it all started with trying to fix a one character typo 
detected by FindBugs.
But, then, sir, I couldn't write a test, because, well, Integer/Long literal 
processing, was, well, all messed up.
The fixes are at the lexical, parsing, and attribution levels.

Testing:
Positive and negative for initial bug.
Move two currently failing bugs to regress.
Uncomment test in features as, nicely, pointed out in currently-failing test.
Add new test for 2567.
Correct test with bad expected file.
Enhance most of above tests.
Fix JFXC-2759 : Fix all FindBugs warnings Feb 9, 2009
Follow-on fix JFXC-2759 : Fix com.sun.tools.javafx.comp.* FindBugs warnings 
Feb 9, 2009
the fix uncovered one more
New testcase for JFXC-2044, which now works.
"Javafx throws ClassCastException at runtime if Number sequence is
reassigned with integer range sequence."
Progress JFXC-2607 : Reduce number of classes in BoundOperators
Partial JFXC-2607 : Reduce number of classes in BoundOperators
remove extra classes and methods for Function1 approach now that member 
select is converted
Fixed JFXC-2775 : Collapse bound member select accesses into the single 
per-scipt BindingExpression
redesign bound member select translation to use the single per-scipt 
BindingExpression
JFXC-2738; fix bug introduced in refactor of IndirectSequenceExpression which 
was allowing the helper location in indirect sequence expressions to be 
garbage collected, creating erroneous results.  This fixes the failures in 
bind01.fx.
Allow things like 'exp instanceof ptype', where ptume is a "primitive type."
Treat as the boxed type - i.e. 'x instanceof Integer' is treated as
'x instanceof java.lang.Integer'.
This fixes JFXC-103 "Naming conflict between Boolean/Number and
java.lang.Boolean/Number."
Fixed JFXC-2729 : Implement sequence type overhaul
Updated type-checking rules so that T[] subtype of Object
Fixed JFXC-2729 : Implement sequence type overhaul
Updated type-checking rules so that T[] subtype of Object
Fix some minor problems with ScriptShell.
Some static methods should be non-static and protected.
Make it easier to override the input Reader.
Remove a System.exit call.
These changes were inspired by findbugs - this is a work-in-progress.
Fixed JFXC-2781 : Determine rules and enforce numeric equality with values 
statically typed as Object
Fixed JFXC-2713 : Problem with comparing two Numbers
fixed by virtue of adding a regression test that shows the fix JFXC-2781 also 
fixed this
Currently-failing test for JFXC-2779 : crash: nested for-loops with same 
index name that use indexof generate conflicting indexof$x variable
Remove unused runtime classes MapSequence and SequenceMapper.
This fixesJFXC-2789.
Revert unintened check-in "0.004" vs "0.0040".
I haven't determined which is "correct" according to the Float.toString spec;
the "0.004" is the output from:
IcedTea6 1.4 (fedora-10.b14.fc11-x86_64) Runtime Environment (build 
1.6.0_0-b14)
OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode)
Fix JFXC-2783 : Parse array declarations
parse type declarations of the form "nativearray of <type>".
also, fix ambiguity in negative integer literal parsing.
note "of" is not a reserved word, though "nativearray" is as this seemed 
safest.

Fix JFXC-2781 : Arrays: AST, visitors, implementation stubs, etc
AST node and API trees for array types.
AST and API visitor support.
AST visitors --
  full implementation: copier, scanner, pretty printer, translation(error)
  basic visitor: attribution (interaction with out tree and correct 
array/sequence attribution not implemented))
Test: AllTrees.

Support is sufficient to compile and generate correct bytecode for the 
declaration --
  var x : nativearray of Integer;

Full attribution work can now be started.
Some translation work might be possible at this point, but it would be more 
efficient  to wait for the attribution work
add getMixins()
include mixins in the class visitation
array support
add mixin class for tags
array support
array support
array support
array support
simplify isSubClass for mixins
excise compound class with mixins
tag support for mixins
excise compound class with mixins
special handling of mixins in analyze
array support, checks for mixins
checks for mixins
reader support for mixins
simplify class construction for mixins
move mixin classes to separate list
make scripts public for reflection
first pass at making mixins work with binding
simplify class construction for mixins
adjust for mixins
handle mixins
add mixin error messages
move mixin classes to separate list
print annotations on inner classes
dump classes only once
add mixin error messages
mixin support in reflection
mixin support in reflection
test modified for mixins
Fix the failure of jfxc1196 in the mixin repo caused by the need for access 
to super in  BindingExpressions.
In this special case, generate the BindingExpression class in-line.
This code should be tightened-up but the changes would be more extensive and 
should wait until this is merged with main.
used to mark mixin classes
More appropriate way to mark  mixin classes
More appropriate way to mark  mixin classes
mixin workaround for load from .class issues
clarify meaning
remove main from mixin
move test out of way
clean ups after review
merge master
set on the java public flag
set on the java public flag
fix tests to use mixins
JFXC-2822 - Triggers need to work from mixins
test for jfxc-2822
missing test indicators
fix for mixins
clarify the meaning of immediateInterfaceNames
merge of master tip
JFXC-2656 - Mixin translation: use direct field access for access to ordinary 
class vars
JFXC-2831 - Mixins should be abstract.
JFXC-2815 - new expressions should report an error when trying to instantiate 
a mixin class.
test for JFXC-2815 : new expressions should report an error when trying to 
instantiate a mixin class.
JFXC-2658 - Mixin translation: generate correct instanceof / cast idiom based 
on mixin/non-mixin status (as per 4.3 of mixin doc)
not needed
first part of JFXC-2663
Backed out changeset 464a27aa9c06 need to get a webrev
JFXC-2837 - Mixins: script-private vars no longer hidden -- var with same 
name as var in subclass, but with different type fails
JFXC-2849 - Mixins: Change the on mixin interface from Intf to Mixin
merge of master tip
JFXC-2868 - Mixins: JavafxTypes.superType is complex and likely wrong.
JFXC-2841 - Mixins: Cannot find firePropertyChange method in SwingComboBox.fx
merge master tip
test for jfxc2841
JFXC-2851 - samples/SpringAnimation gets an NPE at 
com.sun.scenario.scenegraph.fx.FXNode.setTransformMatrix(FXNode.java:388)
Test for JFCX-2851
missing subtest flag
JFXC-2661 - Handling of MixinClassName.foo() method calls (as per 4.4.4)
test for JFXC-2661
JFXC-2820 - Reorder the supertypes during attribution
linearizing vars part 1
merge master tip
Linearization part 2
fix test
workarounds to fix tests
test changes for mixin effort
merge master tip
add test for JFXC-2837
regression on JFXC-2837
regression on JFXC-1019
add test back
Mixins: made javafx/animation/Interpolatable.fx be a mixin
Merging marina-master into marina-mixins
fix for JFXC-2924
fix for JFXC-2924
changeset:   4766:b8c49a2ecc06 accidently revert the change, fix for 
JFXC-2924 only happen with this commit
remove all of the explicit dependence on awt and swing as examplified  by 
JFXC-2924
Merge new changesets from kenai
Merging changes from kenai marina-master
Merging latest Listener changes from kenai master
Merge kenai master and changes from forest master
Disabled  test/functional/animation/fx/Timeline_TS005_01.fx; see  RT-3743
Re-fix Timeline_TS005_01; it passed with ant test-single and failed with ant 
test
JFXC-2855 - Direct variable access, removing getters and setters
Fixed JFXC-3002 :  on-replace triggers should not be allowed inside bind.

Test:

* Ran compiler tests on Ubuntu 8.10.
jfxc2999: mixin version of ToDouble.fx test
JFXC-3005: remove unnecessary import for compatibility testing
JFXC-3006 please correct malformed test name : test/regress/jfxc-2822.fx to 
test/regress/jfxc2822.fx
JFXC-3007:the directory name bind, witch is not acceptable to be a package 
name for compatibilty tests;  JFXC-3006: lease correct malformed test name : 
test/regress/jfxc-2822.fx to test/regressf
Fixed: JFXC-2986 : Provide localization support for javafx launcher
Summary:
* added resource bundles for javafx launcher's error messages and help
* added some tests.
Reviewed-by:  Sundar, Naoko
Fixed: JFXC-3000: Recent launcher changes seem to have caused   
java.lang.RuntimeException: Unable to getInterpolatorFactory
Summary:  backed out the property change to load javafxrt.jar from the 
bootclasspath loader until the issues can be resolved.
Reviewed-by: self
Progress on JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
unification of ChangeListener construction.
Progress on JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
generalize the script support class building mechanism.
Fixed JFXC-3003 : FXObjectValue.initVar(String, FXValue) fails
with ClassCastException with sequence typed value.

Test:

* Ran compiler tests on Ubuntu 8.10.
Progress on JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
push the shared/sharable translator classes up into a new base class 
JavafxAbstractTranslation so the translators needed are available.
Fixed: JFXC-3013 Typing javafx should provide javafx -help
* Fixed error check and display the usage message
Reviewed-by: ksrini
Progress on JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
infrastructure for the OnReplaceClosureTranslator
Update the build.xml to provide verbose output from the
antlr build tool as prior to version 3.1.3, which we now use,
this was the default and there seems no good reason to leave it
silent given that ant is already verbose anyway.
Fixed JFXC-2677
Sequences and other similar ',' delimited items are now required to
have a comma separator and are allowed to have a single trailing ','
after the last exression in the sequence (as an aid for code generators)

To whit, existing tests that had incorrect syntax are now corrected, and
the expected output is updated. Additionally, new should-fail tests are
added to ensure that incorrect sequences are detected. These tests also
cover correct sequence specifications such as traling delimiter.
Fixed JFXC-2608

String expressions always insert an imaginary string format node
into the tree for STRING_EXPRESSION. However, the node was being
marked up as if it were a single character string as far as the IDE
was concerned, when in fact it was a zero length string in terms of
the extant source code that the IDE deals with. This change therefore
marks the string formatting node as being an empty string source code
wise. The code genrator knows to ignore this empty string already and we
need it so that we can easily process multi expression STRING_EXPRESSIONs
by being able to rely on a consistent number of elements in the expression
collection that the code generator will eventually process.

After this change, the IDE can process STRING_EXPRESSION trees in the same
consistent manner as the code generator and can detect that the format
string is imaginary by noticing that the start and end positions are
the same.
Fixed: JFXC-2294

When the name of a function was left out of a feunction declaration
we will get 2 errors. One says that the identifier is missing and the
second says that the function should have a valid name. However, the
second error message was being reported in an incorrect position and
so was confusing. We now get one error message saying the identifier
is missing and a second, more specific message saying that declared
functions must be named (against the correct part of the source code).
Improved: JFXC-2677

Prior to this change, missing ',' delimiters in sequences and similar would
give a message that was OK, but not great, about how it was looking for a
sequene expression but found 'identifier' or something similar. This
modification improves the error message to specifically state that a comma
delimiter is required or that perhaps the programmer has a mal-formed 
expression
which should siginificantly reduce confusion about what the compiler is
expecting.
Fixed JFXC-1086: Failed to provide a warning when the usage of
bind with inverse cannot satisfy the bidirectional binding

Test:

* Added should-fail test for covering cases of
bind..with inverse. Fixed existing tests to avoid
the new warning for those tests.

* Ran compiler tests on Ubuntu 8.10.
Fixed JFXC-1086: Failed to provide a warning when the usage of
bind with inverse cannot satisfy the bidirectional binding

Forgot to add should-fail tests.
Fixed JFXC-3012: crash in backend: simple code with bind..with
inverse crashes in backend.
Fixed JFXC-2046: Compiler does not report error for a anonymous Void (return 
type ) function with only one return statement
Description: Fixed function declaration attribution
Added regression test
Fixed JFXC-2375: Compiler internal error with the script "this"
Description: Fixed field resolution so that static errors are reported when 
'this' acessed from static context
Added regression test
Fixed JFXC-2384: Compiler should disallow function selection by class name in 
some cases
Description: Fixed attribution so that selection of non-direct superclass 
member field/functions is disallowed
Added regression test
Reviewed-by: rfield
Fixed JFXC-2773: superfluous "illegal forward reference" warning
Description: Fixed the way in which attribution detects self-references
Added regression test
Reviewed-by: rfield
Fixed JFXC-2865: For a ref to an undefined function, the error message calls 
it a variable instead of a function.
Description: Refined diagnostics so that function is displayed instead of 
method/variable (where applicable)
Fixed JFXC-2898: Same variable name in nested for loops internal compiler 
error
Description: Changed attribution so that the compiler enforces new 
scoping/shadowing rules for locals
Added regression test
Reviewed-by: rfield
test for JFXC-3018 - Mixins: Forest build failure -- underlying cause: 
Overridden vars are cloned in subclass
test for JFXC-3018 - Binding chain isn't updated when initialized
JFXC-3024 - Mixins: Forest build failure -- underlying cause: Overridden vars 
are cloned in subclass
Fixed: JFXC-3027: Should also measure the actual classes loaded for a typical 
application
Reviewed-by: self
* Added code to plot the data
* modified hudson to do the plots
Fix on JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
instead of each on-replace generating an anonymous inner class,
the closure is folded into the per-script class (same class as
used for BindingExpressions).
this should result in a substancial reduction in the static size
of the UI runtime and most applications.
this is the culmination of several "progress" commits.
this particular commit:
      generates the type-specific onChange methods
      handles the rare case where the class must be generated in-line 
(on-replace within anonymous class generated by a function-extended object 
literal)
      handles renaming of the receiver, local variable references, and method 
parameters
      changes the point of time when the on-replace is translated to 
correspond to its structural location so that the translation context is 
correct
      adds comments
      updates VarInfo to hold the whole generated listener call
      moves several definitions to JavafxDefs where they belong and can be 
shared
      fixes the sequencing of non-bound defs relative to on-replace bodies
      simplifies the creation of local variable triggers
      fixes the walking order of tree-scanning for on-replace nodes
Test for JFXC-2825 : Collapse all the on-replace closures to one generated 
class per script
Fix JFXC-3010 : Regression: else of if is evaluated even if the if expression 
is true
the underlying cause was that lazy binding of element access wasn't making 
the initial index evaluation lazy.
added regression tests for both the reported problem and the underlying 
problem
Workaround for JFXC-3040 - Compile failure building 
runtime/javafx-ui-controls/javafx/scene/control/Button.fx
merging tip
JFXC-751 - init of superclass called too many times when indirectly inherited 
twice
test for JFXC-751 - init of superclass called too many times when indirectly 
inherited twice
Fix JFXC-3046: Regression: recursion error compiling ScreenshotMaker sample
make addTriggers$ to being an instance method unless it is in a mixin.
Fix JFXC-3049: WeatherWidget sample causes a javadump
when looking for local access within a closure collect the variable 
declarations within the closure first as an access may proceed the declaration
Merged timeline change
Fixed RT-3925 : Animation rate no longer matches screen refresh rate in Marina
JFXC-2700: Need DateTime API in FX
merge
merge
Automated merge with 
ssh://cyang@...//javafx/marina/scrum/graphics/jfx/openjfx-compiler
RT-4050 : remove javafx.screen.width and javafx.screen.height FX properties 
after RT-3500 is resolved
Automated merge with ssh://kcr@...//javafx/marina/MASTER/jfx/openjfx-compiler
Automated merge with 
ssh://cyang@...//javafx/marina/scrum/graphics/jfx/openjfx-compiler
Added javafx.date to javafxdoc.packages.
Fixed RT-2787 : Timeline value starts with first keyFrame value not with 
Timeline.time value when set
Restore .hgignore file
Automated merge with ssh://kcr@...//javafx/marina/MASTER/jfx/openjfx-compiler
JFXC-3101: Fatal error: duplicate symbol when compiling the ROM-ized mobile 
emulator
Add code to make sure codebase ends in '/'
CR: RT-3917
Reviewer: Riaz Aimandi <Riaz.Aimandi@...>
Merge with appdeploy repository
Merge kenai master with changes from forest MASTER
Merging in fix to FXTestCase
Add test for assertEquals(String, Number, Number). Fix typos in SequencesTest.
Affects test code only.
Automated merge with ssh://kcr@...//javafx/marina/MASTER/jfx/openjfx-compiler
Fix jfxc-3162
Merge
Merge
Fixed JFXC-1904: Misleading error messages when a run() function is present
Description: Fixed compiler diagnostic, added regression test
Reviewed-by: rfield
Fixed JFXC-3152: NPE when binding with Timeline
Description: Fixed JavaFXAttr so that keyframe literals in binding context 
are not allowed
Reviewed-by: rfield
Fix jfxc-2801, jfxc-507, jfxc-3169
Merge kenai master
Merge with Kevn's change
Merge JFXC-3084 changes
Merge fix for reducing number of applyDefault funcs
merge with fix for RT-4368
Remove jfxc507.fx and .EXPECTED: comparing for / or \ in paths fails
JFXC-3196 "enhance ExpandXxxTemplate processor to create single output file"

The ExpandXxxTemplate build-time tool is used to expand (for example)
XxxVariable.st to multiple output files: BooleanVariable.java,
ByteVariable.java, and so on for each "primitive" type. I.e. we
create a separate class for each "primitive" type.

For the planned implementation of boxed sequences we sometimes want to
expand a template method into multiple methods, one for each primitive
type, but all in a single class and thus a single output Java file.

This requires some changes to ExpandXxxTemplate.java, as well as the
generate-templates target in the top-level build.xml.

In addition, SequenceVariable.java, AbstractSequence.java,
and Sequences.java are renamed/converted to template .st files,
in preharation for actual changes in a subsequent patch.
'default' HG: added
src/share/classes/com/sun/javafx/runtime/location/SequenceVariable.st
src/share/classes/com/sun/javafx/runtime/sequence/AbstractSequence.st
src/share/classes/com/sun/javafx/runtime/sequence/Sequences.st HG:
changed build.xml HG: changed
buildtools/src/com/sun/javafx/tools/stringtemplate/ExpandXxxTemplate.java
src/share/classes/com/sun/javafx/runtime/location/SequenceVariable.java
src/share/classes/com/sun/javafx/runtime/sequence/AbstractSequence.java
src/share/classes/com/sun/javafx/runtime/sequence/Sequences.java
JFXC-2695 (partial) "sequences of primitive types without boxing"

Partial support for unboxed sequences.

Add gasAsint, getAsLong, etc and various writeTo (array) methods
in Sequence interface, and default implementation in AbstractSequence.
Also getAsInt/... implementations for ranges and slice.
(SubSequence now directly extends AbstractSequence.)

Also add some compiler support to call getAsInt/...
JFXC-3199 "inline scanning through dependencies"
Optimize/inline the logic for iterating through dependencies of a Location.
This makes the code faster and with a smaller (non-measured) static footprint.
Merge JFXC-2963
Merge
Automated merge with 
ssh://ra210236@...//javafx/marina/scrum/appdeploy/jfx/openjfx-compiler
Merging mixins
Merging jfxc-3200 fix
Fix JFXC-3171 : memory leak in build #416 marina-graphics-scrum
Fix memory leaks in bound if-expressions and bound member select expressions.
Investigation work by Kumar Srinivasan, A. Sundararajan, Maurizio Cimadamore, 
Brian Goetz and Jim Holmlund
Fix to bound-if by Brian Goetz.
Bound-select reverted to kenai#3818, with an alternate fix to JFXC-2808 by 
Robert Field.
Reviewed by Robert Field and Brian Goetz.
Tested by Kumar Srinivasan.
Approved by bug court.
Fix JFXC-3218 : Compiler throws internal error when compiling the UI control 
code
Fix handling of assignment to static variables.
Problem pin-pointed by Maurizio Cimadamore.
Fix by Robert Field.
Test by Maurizio Cimadamore.
Fix reviewed by Jim Laskey and Maurizio Cimadamore.
Approved by bug court.
Fix for JFXC-3221 - NPE in AbstractBoundSequence.hasDependencies.
Progress on JFXC-3089 : Collapse on-replace triggers into setter
Switch type morpher to allow slacker or no-Location option for member vars 
with on-replace.
Add onReplaceAsInline() to VarInfo classes.
Translate the on-replace into a in-lined setter compatible form (too).
JFXC-3089 - Collapse on-replace triggers into setter
merge tip
revision of JFXC-3089 - Collapse on-replace triggers into setter

Revisions:
----------
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576