Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2283 commits
Select commit Hold shift + click to select a range
f140d09
8024207: javac crash in Flow.AssignAnalyzer.visitIdent
Sep 14, 2013
ef6deeb
7047734: javac, the LVT is not generated correctly in several scenarios
Sep 14, 2013
3283070
Merge
Sep 14, 2013
f862a00
8021112: Spurious unchecked warning reported by javac
Sep 16, 2013
433e8db
Merge
Sep 17, 2013
e84c28c
8024538: -Xdoclint + -Xprefer:source + incremental compilation == FAIL
Sep 17, 2013
2919224
8024127: javac, Code_attribute.exception_table_langth should be Code_…
Sep 18, 2013
c3490dc
8015249: javadoc fails to document static final fields in annotation …
Sep 19, 2013
5a968c2
8024096: some javadoc tests may contain false positive results
Sep 19, 2013
b01e681
8017248: Compiler Diacritics Issue
Sep 19, 2013
92f4120
8022567: Javac Should Generate Warnings For Raw Array Type
Sep 19, 2013
a40bca8
8024609: sjavac assertion fails during call to BuildState.collectArti…
Sep 19, 2013
cbb7de4
Added tag jdk8-b108 for changeset 252f872b8a2f
Sep 19, 2013
4dcdcdc
8024437: Inferring the exception thrown: sometimes fails to compile
Sep 19, 2013
e45bfe7
8025110: TreeCopier does not correctly copy LabeledStatementTree
Sep 20, 2013
597dc78
8023835: TreeMaker.QualIdent() too leafy
Sep 20, 2013
38ef7a2
Merge
Sep 21, 2013
b8915ab
8024696: Missing null check in bound method reference capture
Sep 22, 2013
dc652e7
Merge
Sep 23, 2013
a2a389d
8024988: javac, LVT test harness should generate tests .class files i…
Sep 23, 2013
791c617
6386236: Please rename com.sun.tools.javac.util.ListBuffer.lb()
Sep 23, 2013
4a4989a
7154966: CRs found to be in Fixed state with no test and no noreg- ke…
Sep 23, 2013
d40ccc7
4881267: improve diagnostic for "instanceof T" for type parameter T
Sep 23, 2013
498b6b0
6499673: Assertion check for TypeVariable.getUpperBound() fails.
Sep 23, 2013
0772a8a
8025050: Doclint doesn't recognize <dfn> tag
Sep 24, 2013
e492481
8025246: [doclint] doclint is showing error on anchor already defined…
Sep 24, 2013
d38271e
8025272: doclint needs to check for valid usage of @value tag
Sep 24, 2013
9baa142
8002154: [doclint] doclint should check for issues which are errors i…
Sep 24, 2013
da56ddb
8025215: jdk8 l10n resource file translation update 4
Sep 24, 2013
f4983f7
Merge
Sep 24, 2013
2a2cb08
8016328: Regression : Javadoc i18n regression caused by fix for 8012375
Sep 24, 2013
76b17a1
Merge
Sep 25, 2013
4386288
8025407: TypeAnnotations does not use Context
Sep 25, 2013
18eafc9
8025411: JPRT to switch to the new Win platforms for JDK8 builds this…
Sep 25, 2013
10471ae
Merge
Sep 25, 2013
eacd45b
8025412: Add legal header and comments to test/tools/doclint/tidy/uti…
Sep 25, 2013
44cee0b
8004825: javadoc crash DocletAbortException
Sep 26, 2013
f912fd2
Added tag jdk8-b109 for changeset 985abf1cd327
Sep 26, 2013
40e2de4
8025491: Javac regression test tools/javac/T8003967/DetectMutableStat…
Sep 26, 2013
13960f5
8025139: javac patch for using bootstrap compiler for debugging is no…
Sep 26, 2013
0b0ade9
8011738: Write test to check for bootstrap attributes for lambda expr…
Sep 26, 2013
59df319
Merge
Sep 27, 2013
99c415f
8024497: crash returning this-referencing lambda from default method
Sep 27, 2013
eeb3bbe
8022765: Compiler crashes with exception on wrong usage of an annotat…
Sep 27, 2013
945c58f
6978886: javadoc shows stacktrace after print error resulting from di…
Sep 27, 2013
192f2f6
8025537: Convert 2 javac/enumdeclarations tests in jtreg for regressi…
Sep 27, 2013
c38f799
8024842: Define ABS_TEST_OUTPUT_DIR via TEST_OUTPUT_DIR
Sep 27, 2013
4364a31
8025548: langtools test tools/javac/lambda/methodReference/BridgeMeth…
Sep 27, 2013
5db38ae
8015073: c.s.t.javac.api.JavacTool.getTask() - more informative excep…
Sep 27, 2013
7cb7f68
Merge
Sep 28, 2013
8dd1cd7
8025413: NPE in Type.java due to recent change
Sep 28, 2013
b25c37e
7118749: NPE in CreateSymbols caused by bad diagnostic
Oct 1, 2013
33c7c14
8021339: Compile-time error during casting array to intersection
Oct 1, 2013
d45649c
8023679: Improve error message for '_' used as a lambda parameter name
Oct 2, 2013
27850bf
Added tag jdk8-b110 for changeset 41541097533a
Oct 2, 2013
1774397
Merge
Oct 3, 2013
aafe809
8025118: Annotation processing api returns default modifier for inter…
Oct 4, 2013
2bc74c4
7096170: should remove unused support for enabling javac logging
Oct 4, 2013
18b78b0
8025913: Rename jdk.Supported to jdk.Exported
Oct 4, 2013
7f29927
8008164: Invisible table captions in javadoc-generated html
Oct 4, 2013
6fb0def
8024756: method grouping tabs are not selectable
Oct 4, 2013
4c45ed0
8022163: javac exits with 0 status and no messages on error to constr…
Oct 4, 2013
0b66ab3
6525408: DiagnosticListener should receive MANDATORY_WARNING in stand…
Oct 4, 2013
4e5ca10
8025970: Spurious characters in JavaCompiler
Oct 4, 2013
d759c0a
8003537: javap use internal class name when printing bound of type va…
Oct 4, 2013
010a25a
8005542: jtreg test OverrideBridge.java contains @ignore
Oct 4, 2013
c21dfe3
8026017: Make history of AnnotatedConstruct methods in jx.l.m.e.Eleme…
Oct 7, 2013
02cbc63
8024415: Bug in javac Pretty: Wrong precedence in JCConditional trees
Oct 8, 2013
5b8d11d
Merge
Oct 8, 2013
778d7b5
8025141: java.lang.ClassFormatError: Illegal field modifiers in class…
Oct 9, 2013
9413671
8025087: Annotation processing api returns default modifier for inter…
Oct 9, 2013
7c97b02
8021237: clean up JavacAnnotatedConstruct
Oct 10, 2013
c115b21
8001931: The new build system whitespace cleanup
Oct 10, 2013
924ae8d
Added tag jdk8-b111 for changeset af6244ba81b6
Oct 10, 2013
e8f4ca6
8025633: Fix javadoc to generate valid anchor names
Oct 10, 2013
5f78ebb
8019461: Clean up javac diagnostics
Oct 10, 2013
fdacbb2
Merge
Oct 10, 2013
fbb8489
8008762: Type annotation on inner class in anonymous class show up as…
Oct 11, 2013
4ab5ceb
8026294: 8025633 breaks langtools/test/com/sun/javadoc/testRepeatedAn…
Oct 11, 2013
15b6cd8
Merge
Oct 11, 2013
abbf721
8012557: Implement lambda methods on interfaces as private
Oct 11, 2013
1eb9684
Merge
Oct 11, 2013
8f72928
6278240: Exception from AnnotationValue.getValue() should list the fo…
Oct 11, 2013
d0ae07c
Merge
Oct 11, 2013
88d97b1
Merge
Oct 12, 2013
0eea670
8026368: doclint does not report empty tags when tag closed implicitly
Oct 14, 2013
6c35eac
8014016: javac is too late detecting invalid annotation usage
Oct 14, 2013
e63ccc1
8026371: "tidy" issues in langtools/src/**/*.html files
Oct 14, 2013
3905a25
8025693: recent javadoc changes cause com/sun/javadoc/testLinkOption/…
Oct 15, 2013
ad103de
8025998: Missing LV table in lambda bodies
Oct 15, 2013
fecc60c
Merge
Oct 15, 2013
d569a2d
8026180: com.sun.source.tree.NewArrayTree refers to com.sun.tools.jav…
Oct 15, 2013
0ad61a8
8026370: javadoc creates empty <span class="italic"></span>
Oct 15, 2013
dcfb996
8025816: javac crash with method reference with a type variable as th…
Oct 15, 2013
eb8ade8
Merge
Oct 15, 2013
80e69fa
8024947: javac should issue the potentially ambiguous overload warnin…
Oct 15, 2013
ba05e4a
Merge
Oct 15, 2013
4e9b112
8026510: The name of com.sun.tools.javac.comp.Annotate.Annotator is c…
Oct 15, 2013
677d5f7
8026564: import changes from type-annotations forest
Oct 15, 2013
fa46e27
8026704: Build failure with --enable-debug
Oct 16, 2013
7e89fa9
Merge
Oct 16, 2013
be8a2ab
8026286: Improper locking of annotation queues causes assertion failu…
Oct 16, 2013
ebdd50e
8015372: Update tests for Method Parameter Reflection API to check wh…
Oct 17, 2013
be5f844
8008192: Better ordering checks needed in repeatingAnnotations/combo/…
Oct 17, 2013
b5fbab4
Added tag jdk8-b112 for changeset 954dd199d6ff
Oct 17, 2013
81abd5b
8015912: jdeps support to output in dot file format
Oct 17, 2013
239d18d
Merge
Oct 17, 2013
6be4c25
8026838: Fix new doclint issues in javax.annotation.processing
Oct 18, 2013
f06b2a5
8026749: Missing LV table in lambda bodies
Oct 18, 2013
decad38
8026567: Use meaningful style names for strong and italic styles.
Oct 18, 2013
912cd54
8024809: javac, some lambda programs are rejected by flow analysis
Oct 19, 2013
4a2ed57
8025109: Better encapsulation for AnnotatedType
Oct 20, 2013
fad9e07
8026791: wrong type_path encoded for method_return on an inner class …
Oct 20, 2013
280cc41
8026931: MethodParameters tests failing on Windows
Oct 20, 2013
696c6f7
8026956: test tools/javac/lambda/TargetType58.java is failing after a…
Oct 21, 2013
2e00150
8026984: Clarity intended use of jdk.Exported
Oct 21, 2013
2159f02
8026855: AnnoConstruct.getAnnotationsByType includes inherited indire…
Oct 22, 2013
fd2261e
8026758: Inefficient code in LambdaToMethod
Oct 22, 2013
2b77330
8026857: AnnoConstruct.getAnnotationsByType does not search supertype…
Oct 22, 2013
18bc05c
8025290: javac implicit versus explicit lambda compilation error
Oct 22, 2013
08f2eb0
8027039: [jprt] Remove 32-bit Solaris from jprt.properties files
Oct 22, 2013
48761b3
8023668: Desugar serializable lambda bodies using more robust naming …
Oct 22, 2013
5df8c21
8027119: Cleanup javadoc comments for taglet API
Oct 23, 2013
6842018
Merge
Oct 23, 2013
a4c2b9e
8026508: Invokedynamic instructions don't get line number table entries
Oct 23, 2013
461614a
Merge
Oct 23, 2013
b55fcd2
8022720: Method refeerences - private method should be accessible (ne…
Oct 23, 2013
1e98a4d
8026770: javadoc creates invalid HTML in profile summary pages
Oct 23, 2013
19df234
8027191: Fix for JDK-8026861 refers to an incorrect bug number
Oct 23, 2013
7f13bac
8026861: Wrong LineNumberTable for variable declarations in lambdas
Oct 23, 2013
3e1511c
8026936: Initialize LamdbaToMethod lazily and as required
Oct 23, 2013
f70a5ee
8006732: support correct bytecode storage of type annotations in mult…
Oct 24, 2013
de0c334
8023682: Incorrect attributes emitted for anonymous class declaration
Oct 24, 2013
deb45b6
Added tag jdk8-b113 for changeset 54150586ba78
Oct 24, 2013
843aa57
8006248: Since addition of -Xdoclint, javadoc ignores unknown tags
Oct 24, 2013
434229c
8027220: DefaultMethodsTest: Change test to match spec
Oct 24, 2013
8e413a3
Merge
Oct 28, 2013
fc7459e
8027481: jdeps to handle classes with the same package name and corre…
Oct 30, 2013
ee51d63
8027327: jar files related to test test/tools/javac/ExtDirs/ExtDirTes…
Oct 30, 2013
1950c26
8024930: Re-enable disabled bridging tests
Oct 30, 2013
8125043
Added tag jdk8-b114 for changeset 850d2602ae98
Oct 31, 2013
9e49d0a
Merge
Oct 31, 2013
2ce0c42
8027660: javac crash while creating LVT entry for a local variable de…
Nov 1, 2013
07018be
8027310: Annotation Processor crashes with NPE
Nov 1, 2013
f65e153
Merge
Nov 3, 2013
e03c852
8027566: Remove the old build system
Nov 4, 2013
7648a93
8025844: Need test to provide coverage for new DocumentationTool.Loca…
Nov 5, 2013
352bca7
8027411: javap tonga tests cleanup: write a java program to test inva…
Nov 5, 2013
9eb6d2b
8027530: javap tonga tests cleanup: test -public, -protected, -packag…
Nov 5, 2013
9898be1
8027281: Incorrect invokespecial generated for JCK lang EXPR/expr636/…
Nov 6, 2013
043f545
Added tag jdk8-b115 for changeset 6b4d6205366c
Nov 7, 2013
b506ce2
8027730: Fix release-8 type visitors to support intersection types
Nov 8, 2013
2d07b32
Merge
Nov 9, 2013
564ee57
8027142: Invokedynamic instructions don't get line number table entries
Nov 9, 2013
6e4595e
8027439: Compile-time error in the case of ((Integer[] & Serializable…
Nov 11, 2013
d7c6f67
8027375: javac asserts on nested erroneous annotations
Nov 11, 2013
854aae0
8025113: Convert 7 tools TryWithResources tests to jtreg format
Nov 14, 2013
4fc4bea
Added tag jdk8-b116 for changeset 3c040b04af05
Nov 14, 2013
62dcf80
8028282: Remove @ignore from test langtools/test/tools/javac/T7042623…
Nov 14, 2013
4023878
8026963: type annotations code crashes for code with erroneous trees
Nov 14, 2013
af72119
8025524: javadoc does not correctly locate constructors for nested cl…
Nov 14, 2013
fa4971f
8026231: Look at 'static' flag when checking method references
Nov 15, 2013
ff02ee9
Merge
Nov 15, 2013
25d9c65
6726154: javadoc generated with incorrect version in comment
Nov 19, 2013
1f5a691
8028504: javac generates LocalVariableTable even with -g:none
Nov 19, 2013
a2f6008
6557966: Multiple upper bounds of the TypeVariable
Nov 20, 2013
a54334b
8027977: javadoc dies on NumberFormat/DateFormat subclass
Nov 20, 2013
8b93cd5
Added tag jdk8-b117 for changeset 19de039a03a6
Nov 21, 2013
94d17c3
8028739: javac generates incorrect descriptor for MethodHandle::invoke
Nov 23, 2013
e42c1ac
Merge
Nov 25, 2013
6d78895
8028318: [doclint] doclint will reject existing user-written doc comm…
Nov 26, 2013
990eada
8028428: strictfp allowed as annotation element modifier
Nov 26, 2013
445ce7c
8026374: javac accepts void as a method parameter
Nov 26, 2013
afc2c02
8027789: Access method for Outer.super.m() references indirect superc…
Nov 26, 2013
4617c50
Added tag jdk8-b118 for changeset 4fd6a7ff8c06
Nov 28, 2013
18f3aae
Merge
Dec 3, 2013
66b97e2
8028699: Compiler crash during speculative attribution of annotated type
Dec 3, 2013
cad6b06
8029179: javac produces a compile error for valid boolean expressions
Dec 3, 2013
36ce377
Merge
Dec 3, 2013
b218560
8025416: doclet not substituting {@docRoot} in some cases
Dec 3, 2013
e7371e1
Merge
Dec 4, 2013
7731dbd
8029216: (jdeps) Provide a specific option to report JDK internal APIs
Dec 4, 2013
a2dabe0
Added tag jdk8-b119 for changeset 43a80d75d06e
Dec 5, 2013
41583cd
Merge
Dec 5, 2013
a9bda4f
Merge
Dec 5, 2013
4ec6e0f
8029504: Regression: TestDocRootLink test fails on Windows
Dec 6, 2013
b9995ad
8029569: internal javac cast exception when resolving varargs ambiguity
Dec 9, 2013
44bc838
8029558: java.lang.VerifyError: Bad return type when lambda's body is…
Dec 11, 2013
0b5f2e1
Added tag jdk8-b120 for changeset b3d7e86a0647
Dec 12, 2013
9c26d2b
Merge
Dec 13, 2013
f22a2cf
8029721: javac crash for annotated parameter type of lambda in a field
Dec 13, 2013
fe53ffb
Merge
Dec 13, 2013
1622668
8030080: Correct misstatement in JSR 269 MR (in javax.lang.model)
Dec 17, 2013
6c69767
8026741: jdk8 l10n resource file translation update 5
Dec 18, 2013
5893565
8016549: jdk7 javadocs are hard to read
Dec 19, 2013
edc78f2
Added tag jdk8-b121 for changeset afe63d41c699
Dec 20, 2013
86dd75e
Merge
Dec 20, 2013
b3e156a
Merge
Dec 23, 2013
ffc37c7
8029230: Update copyright year to match last edit in jdk8 langtools r…
Dec 24, 2013
ceffc12
Merge
Dec 25, 2013
88bb5f7
8029143: javadoc standard doclet should add Functional Interface blur…
Jan 2, 2014
0560702
Merge
Jan 2, 2014
2230244
Added tag jdk8-b122 for changeset 232b9cf6303a
Jan 3, 2014
f9b80b9
Merge
Jan 4, 2014
a6d7bc9
Merge
Jan 8, 2014
b7bf82e
Added tag jdk8-b123 for changeset a345cf28faca
Jan 10, 2014
ceda58b
7129980: Third Party License Readme update for JDK8
Jan 13, 2014
1a76c63
Merge
Jan 14, 2014
ff5f078
Merge
Jan 14, 2014
e2dd075
Merge
Jan 15, 2014
7eb359e
Added tag jdk8-b124 for changeset 436176151e85
Jan 17, 2014
4cfe748
Added tag jdk8-b125 for changeset 436176151e85
Jan 22, 2014
b63a51d
Merge
Jan 22, 2014
73e44fe
Added tag jdk8-b126 for changeset ba24b6304362
Jan 24, 2014
76c2981
8032816: THIRDPARTYREADME LittleCMS preamble missing JRE 8 & JDK 8
Jan 28, 2014
953e06a
Merge
Jan 29, 2014
18596d0
Added tag jdk8-b127 for changeset bb69217ed812
Jan 30, 2014
669a9b6
Added tag jdk8-b128 for changeset 09cdd3b493c0
Feb 2, 2014
93e3c2e
Added tag jdk8-b129 for changeset 8fe7202d3c38
Feb 7, 2014
be6152a
Added tag jdk8-b130 for changeset 9d81ae1c417a
Feb 28, 2014
a7390c6
Added tag jdk8-b131 for changeset 196ab3dcbd28
Feb 28, 2014
35477c4
Added tag jdk8-b132 for changeset c8a87a58eb3e
Mar 4, 2014
066e1bb
Updated to work with MaxJ
abryan-314 Aug 9, 2018
30a8104
Updated README
abryan-314 Aug 9, 2018
90712e8
Updated README
abryan-314 Aug 9, 2018
e2acb5e
Added .maxtest.yml, made slight modifications
abryan-314 Aug 13, 2018
e0c2911
Add clusterParameters
rdealmeida Sep 21, 2018
0eddbe6
Install maxjdoc
rdealmeida Sep 21, 2018
8d1c42a
Fix typo in sharedEnvironment
rdealmeida Sep 21, 2018
b6ebfd2
Merge branch '1130-javadoc-no-longer-included-in-release' into 'master'
Sep 26, 2018
0ab68e4
centos6 -> centos7
GaryRobinsonMax Oct 14, 2024
9177940
removing centos7 dep
Nov 9, 2024
509fd79
Edit .maxtest.yml
Feb 11, 2025
8e05289
setup nix env to build maxjdoc
nobradovic-groq Jun 20, 2025
495a9e3
Merge branch 'nobradovic/setup-nix-env' into 'master'
Jun 20, 2025
af30718
Add MAXJ syntax to jdk.compiler and jdk.javadoc
Aug 13, 2025
4e1c93c
Checkpoint - split between maxj and java
Aug 13, 2025
026755f
Resolve maxj file handling
Aug 14, 2025
4965b59
Add testing for javadoc
Aug 15, 2025
458d4fa
Add maxtest
Aug 22, 2025
845665a
Fix extension
mbazley2 Nov 4, 2025
e1bc7db
Follow instructions
mbazley2 Nov 4, 2025
999481f
Even newerer Java
mbazley2 Nov 4, 2025
894a1fc
Fix copy command
mbazley2 Nov 4, 2025
f70dd6b
That was not what that was supposed to do
mbazley2 Nov 4, 2025
1de1b6c
Oh fine then
mbazley2 Nov 4, 2025
9a3896a
Move exclude doclet in here (with bonus hacks, thanks Oracle)
mbazley2 Nov 4, 2025
f505f43
Add HTML imagemap support
mbazley2 Nov 5, 2025
450b963
Merge branch 'master' into spetrovic/maxj-syntax
mbazley2 Nov 10, 2025
a85b945
Merge remote-tracking branch 'origin/master' into spetrovic/maxj-syntax
mbazley2 Nov 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .maxtest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
suite: Maxjdoc
tests:
- name: build
tags:
- daily
commands:
- bash configure
- make jdk.javadoc
- mkdir -p ${MAXTEST_ROOT}/${BUILD_TAG}/
- cp -vR build/linux-x86_64-server-release ${MAXTEST_ROOT}/${BUILD_TAG}/maxjdoc
sharedEnvironment:
MAXJDOC: ${MAXTEST_ROOT}/${BUILD_TAG}/maxjdoc
localEnvironment:
JAVA_HOME: /network-raid/opt/java/jdk-25.0.1
clusterParameters:
cpus: 1.0
mem: 1024.0
rocky9: 1.0
75 changes: 75 additions & 0 deletions maxj/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# MaxJ Javadoc Support

This directory contains all MaxJ-related files for the JDK21-based javadoc tool with MaxJ syntax support.

## Directory Structure

```
maxj/
├── README.md # This file
├── TESTING.md # Comprehensive testing guide
└── testing/ # All testing-related files
├── test-simple.sh # Quick MaxJ syntax verification
├── test-javadoc.sh # Comprehensive test suite
├── test-operators.sh # MaxJ operator-specific tests
├── test-files/ # Test files for MaxJ syntax
│ ├── README.md # Detailed test file documentation
│ ├── *.maxj # MaxJ syntax test files
│ └── *.java # Java compatibility test files
└── output/ # Generated test documentation output
```

## Quick Start

### Run Simple Test
```bash
./maxj/testing/test-simple.sh
```

### Run Comprehensive Test Suite
```bash
./maxj/testing/test-javadoc.sh
```

### Manual Testing
```bash
# Test a single MaxJ file
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./maxj/testing/output/manual-test \
maxj/testing/test-files/ComprehensiveMaxJSyntaxTest.maxj
```

## MaxJ Syntax Support

This javadoc implementation supports:

### Keywords
- `SWITCH (expr) { ... }` - MaxJ switch statement
- `CASE (value) { ... }` - MaxJ case block
- `OTHERWISE { ... }` - MaxJ default case
- `IF (condition) { ... } ELSE { ... }` - MaxJ conditionals

### Operators
- `===` - MaxJ triple equality
- `#` - MaxJ concatenation
- `<==` - MaxJ connection/assignment

### Features
- ✅ Nested SWITCH/CASE structures
- ✅ Complex IF/ELSE chains
- ✅ Expression-based CASE values
- ✅ Mixed MaxJ and Java syntax
- ✅ Case-sensitive parsing (no conflicts with Java keywords)

## Documentation

- **[TESTING.md](TESTING.md)** - Complete testing guide with examples
- **[testing/test-files/README.md](testing/test-files/README.md)** - Detailed test file documentation

## File Extensions

- `.maxj` files - Use MaxJ syntax parsing
- `.java` files - Use standard Java syntax parsing

Both file types can be processed by the same javadoc tool without conflicts.
121 changes: 121 additions & 0 deletions maxj/TESTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# MaxJ Javadoc Testing Guide

## Quick Test

Run the simple test script:
```bash
./maxj/testing/test-simple.sh
```

## Comprehensive Test

Run the full test suite:
```bash
./maxj/testing/test-javadoc.sh
```

## Manual Testing Examples

### Test MaxJ Files (.maxj extension)
```bash
# Single MaxJ file
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./maxj/testing/output/single-maxj \
maxj/testing/test-files/ComprehensiveMaxJSyntaxTest.maxj

# Multiple MaxJ files
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./maxj/testing/output/multi-maxj \
maxj/testing/test-files/*.maxj

# Real MaxJ project (expect dependency errors but no syntax errors)
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./out/real-project \
../maxelercore/platforms/tests-it/src/tests/maxring/MaxRingNoCPULoopbackTest.maxj
```

### Test Java Files (.java extension)
```bash
# Single Java file
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./maxj/testing/output/single-java \
maxj/testing/test-files/StandardJavaSyntaxTest.java

# Multiple Java files
./build/macosx-aarch64-server-release/jdk/bin/javadoc \
-Xdoclint:none -quiet -private \
-d ./maxj/testing/output/multi-java \
maxj/testing/test-files/*.java
```

## MaxJ Syntax Elements Supported

### Keywords
- `SWITCH (expr) { ... }` - MaxJ switch statement
- `CASE (value) { ... }` - MaxJ case block
- `OTHERWISE { ... }` - MaxJ default case
- `IF (condition) { ... } ELSE { ... }` - MaxJ conditionals

### Operators
- `===` - MaxJ triple equality
- `#` - MaxJ concatenation
- `<==` - MaxJ connection/assignment

### Features
- ✅ Nested SWITCH/CASE structures
- ✅ Complex IF/ELSE chains
- ✅ Expression-based CASE values
- ✅ Mixed MaxJ and Java syntax
- ✅ Case-sensitive parsing (no conflicts with Java keywords)

## Expected Behavior

### ✅ Success Cases
- `.maxj` files with MaxJ syntax → Perfect parsing, docs generated
- `.java` files with Java syntax → Perfect parsing, docs generated
- Mixed usage → Both syntaxes work independently

### ⚠️ Expected Issues
- **Dependency errors** in real MaxJ projects (missing MaxJ compiler libraries)
- **HTML warnings** in javadoc comments containing `<==` (parsed as HTML)
- **Filename warnings** for public classes in `.maxj` files (expects `.java`)

### ❌ Should Not Happen
- Syntax errors on MaxJ keywords in `.maxj` files
- Syntax errors on Java keywords in `.java` files
- Keyword conflicts between MaxJ and Java syntax

## Verification Commands

Check that documentation was generated:
```bash
ls -la maxj/testing/output/
find maxj/testing/output/ -name "*.html" | wc -l
```

View generated documentation:
```bash
open maxj/testing/output/maxj/maxjtest/ComprehensiveMaxJSyntaxTest.html
open maxj/testing/output/java/javatest/StandardJavaSyntaxTest.html
```

## Test File Details

| File | Extension | Purpose | Key Features Tested |
|------|-----------|---------|-------------------|
| `ComprehensiveMaxJSyntaxTest.maxj` | `.maxj` | Complete MaxJ syntax | All keywords, operators, nesting |
| `MAXJSwitchEdgeCases.maxj` | `.maxj` | MaxJ edge cases | Complex switch scenarios |
| `StandardJavaSyntaxTest.java` | `.java` | Java compatibility | Modern Java features, operators |
| `KeywordConflictTest.java` | `.java` | Conflict testing | Case sensitivity, no collisions |

## Success Criteria

The MaxJ javadoc implementation is successful if:
1. All test scripts pass without syntax errors
2. Documentation is generated for both `.maxj` and `.java` files
3. MaxJ and Java syntax coexist without conflicts
4. Real MaxJ projects parse syntactically (dependencies may fail)
1 change: 1 addition & 0 deletions maxj/testing/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/output/
Loading
Loading