Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4905118

Browse files
author
zhourenjian
committed
Fixing bug for such a class
class A {class B () {}static class C extends A {}}In generated *.js , A.B should be declared before A.C: c$.$A$B$ = function () ... c$.Clazz.decorateAsClass ( ...
1 parenteae578c commit4905118

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

‎sources/net.sf.j2s.core/src/net/sf/j2s/core/astvisitors/ASTScriptVisitor.java‎

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2492,13 +2492,14 @@ public void endVisit(TypeDeclaration node) {
24922492
}
24932493
buffer.append(");\r\n");
24942494

2495-
buffer.append(laterBuffer);
2495+
StringBufferlaterBufferBackup =laterBuffer;
2496+
//buffer.append(laterBuffer);
24962497
laterBuffer =newStringBuffer();
24972498
// Enum is considered as static member!
24982499

24992500
ListbodyDeclarations =node.bodyDeclarations();
25002501
StringBuffertmpBuffer =buffer;
2501-
StringBuffertmpLaterBuffer =laterBuffer;
2502+
//StringBuffer tmpLaterBuffer = laterBuffer;
25022503
//StringBuffer tmpMethodBuffer = methodBuffer;
25032504
//buffer = new StringBuffer();
25042505
//laterBuffer = new StringBuffer();
@@ -2599,7 +2600,7 @@ public void endVisit(TypeDeclaration node) {
25992600
buffer.append(laterBuffer);
26002601

26012602
tmpBuffer =buffer;
2602-
tmpLaterBuffer =laterBuffer;
2603+
StringBuffertmpLaterBuffer =laterBuffer;
26032604
buffer =newStringBuffer();
26042605
laterBuffer =newStringBuffer();
26052606
/* Testing class declarations in initializers */
@@ -2655,6 +2656,21 @@ public void endVisit(TypeDeclaration node) {
26552656
buffer.append(methodBuffer);
26562657
methodBuffer =newStringBuffer();
26572658
}
2659+
// method first
2660+
/*
2661+
* Fixing bug for such class
2662+
* class A {
2663+
* class B () {
2664+
* }
2665+
* static class C extends A {
2666+
* }
2667+
* }
2668+
* A.B should be declared before A.C:
2669+
* c$.$A$B$ = function () ...
2670+
* c$.Clazz.decorateAsClass ( ...
2671+
*/
2672+
buffer.append(laterBufferBackup);
2673+
26582674
for (Iteratoriter =bodyDeclarations.iterator();iter.hasNext();) {
26592675
ASTNodeelement = (ASTNode)iter.next();
26602676
if (elementinstanceofTypeDeclaration) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp