Skip to content

Commit 5420ebc

Browse files
committed
fix for package name variables
local names (var x) must not have the names of base package names (java, javax, sun, etc.)
1 parent 1878218 commit 5420ebc

File tree

7 files changed

+76
-206
lines changed

7 files changed

+76
-206
lines changed

sources/net.sf.j2s.core/src/net/sf/j2s/core/astvisitors/ASTJ2SMapVisitor.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ String getJ2SName(SimpleName node) {
4646
return getJ2SName((IVariableBinding) binding);
4747
}
4848
if (binding instanceof IMethodBinding) {
49-
return getJ2SName((IMethodBinding) binding);
49+
return getJ2SMethodName((IMethodBinding) binding);
5050
}
5151
String nameID = node.getIdentifier();
5252
return nameID;
@@ -73,7 +73,7 @@ String getJ2SName(IVariableBinding binding) {
7373
return nameID;
7474
}
7575

76-
private String getJ2SName(IMethodBinding binding) {
76+
private String getJ2SMethodName(IMethodBinding binding) {
7777
String nameID = binding.getName();
7878
// BH deprecated
7979
// if (maps != null && maps.size() > 0) {
@@ -107,7 +107,7 @@ public boolean checkSameName(ITypeBinding binding, String name) {
107107
if (binding != null) {
108108
IMethodBinding[] declaredMethods = binding.getDeclaredMethods();
109109
for (int i = 0; i < declaredMethods.length; i++) {
110-
String methodName = getJ2SName(declaredMethods[i]);
110+
String methodName = getJ2SMethodName(declaredMethods[i]);
111111
if (name.equals(methodName)) {
112112
return true;
113113
}

sources/net.sf.j2s.core/src/net/sf/j2s/core/astvisitors/ASTKeywordVisitor.java

Lines changed: 29 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -278,33 +278,11 @@ public boolean visit(Assignment node) {
278278
}
279279
}
280280
if (supportsObjectStaticFields) {
281-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
282-
buffer.append(".prototype.");
283-
if (left instanceof QualifiedName) {
284-
QualifiedName leftName = (QualifiedName) left;
285-
leftName.getName().accept(this);
286-
} else if (left instanceof FieldAccess) {
287-
FieldAccess leftAccess = (FieldAccess) left;
288-
leftAccess.getName().accept(this);
289-
} else {
290-
Name leftName = (Name) left;
291-
leftName.accept(this);
292-
}
281+
addFieldName(varBinding, left, true);
293282
buffer.append(" = ");
294283
}
295284

296-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
297-
buffer.append('.');
298-
if (left instanceof QualifiedName) {
299-
QualifiedName leftName = (QualifiedName) left;
300-
leftName.getName().accept(this);
301-
} else if (left instanceof FieldAccess) {
302-
FieldAccess leftAccess = (FieldAccess) left;
303-
leftAccess.getName().accept(this);
304-
} else {
305-
Name leftName = (Name) left;
306-
leftName.accept(this);
307-
}
285+
addFieldName(varBinding, left, false);
308286
buffer.append(' ');
309287
boolean isMixedOp = op.trim().length() > 1;
310288
ITypeBinding leftTypeBinding = left.resolveTypeBinding();
@@ -322,19 +300,7 @@ public boolean visit(Assignment node) {
322300
}
323301
} else {
324302
buffer.append("= String.fromCharCode (");
325-
buffer.append(
326-
assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
327-
buffer.append('.');
328-
if (left instanceof QualifiedName) {
329-
QualifiedName leftName = (QualifiedName) left;
330-
leftName.getName().accept(this);
331-
} else if (left instanceof FieldAccess) {
332-
FieldAccess leftAccess = (FieldAccess) left;
333-
leftAccess.getName().accept(this);
334-
} else {
335-
Name leftName = (Name) left;
336-
leftName.accept(this);
337-
}
303+
addFieldName(varBinding, left, false);
338304
buffer.append(".charCodeAt (0) ");
339305
buffer.append(op.charAt(0));
340306
buffer.append(' ');
@@ -354,18 +320,7 @@ public boolean visit(Assignment node) {
354320
} else if (leftTypeBinding != null && "/=".equals(op)
355321
&& ((ASTTypeVisitor) getAdaptable(ASTTypeVisitor.class)).isIntegerType(leftTypeBinding.getName())) {
356322
buffer.append(" = Clazz.doubleToInt (");
357-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
358-
buffer.append('.');
359-
if (left instanceof QualifiedName) {
360-
QualifiedName leftName = (QualifiedName) left;
361-
leftName.getName().accept(this);
362-
} else if (left instanceof FieldAccess) {
363-
FieldAccess leftAccess = (FieldAccess) left;
364-
leftAccess.getName().accept(this);
365-
} else {
366-
Name leftName = (Name) left;
367-
leftName.accept(this);
368-
}
323+
addFieldName(varBinding, left, false);
369324
buffer.append(" / ");
370325
boxingNode(right);
371326
buffer.append(')');
@@ -807,7 +762,7 @@ public boolean visit(PackageDeclaration node) {
807762
return false;
808763
}
809764
}
810-
buffer.append("Clazz.declarePackage (\"");
765+
buffer.append("Clazz.declarePackage(\"");
811766
node.getName().accept(this);
812767
buffer.append("\");\r\n");
813768
return false;
@@ -902,95 +857,26 @@ public boolean visit(PostfixExpression node) {
902857
String op = node.getOperator().toString();
903858
if (staticCharType) {
904859
if (!(parent instanceof Statement)) {
905-
buffer.append(
906-
assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
907-
buffer.append('.');
908-
if (left instanceof QualifiedName) {
909-
QualifiedName leftName = (QualifiedName) left;
910-
leftName.getName().accept(this);
911-
} else if (left instanceof FieldAccess) {
912-
FieldAccess leftAccess = (FieldAccess) left;
913-
leftAccess.getName().accept(this);
914-
} else {
915-
Name leftName = (Name) left;
916-
leftName.accept(this);
917-
}
860+
addFieldName(varBinding, left, false);
918861
buffer.append(", ");
919862
}
920-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
921-
buffer.append('.');
922-
if (left instanceof QualifiedName) {
923-
QualifiedName leftName = (QualifiedName) left;
924-
leftName.getName().accept(this);
925-
} else if (left instanceof FieldAccess) {
926-
FieldAccess leftAccess = (FieldAccess) left;
927-
leftAccess.getName().accept(this);
928-
} else {
929-
Name leftName = (Name) left;
930-
leftName.accept(this);
931-
}
863+
addFieldName(varBinding, left, false);
932864
buffer.append(" = String.fromCharCode (");
933-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
934-
buffer.append('.');
935-
if (left instanceof QualifiedName) {
936-
QualifiedName leftName = (QualifiedName) left;
937-
leftName.getName().accept(this);
938-
} else if (left instanceof FieldAccess) {
939-
FieldAccess leftAccess = (FieldAccess) left;
940-
leftAccess.getName().accept(this);
941-
} else {
942-
Name leftName = (Name) left;
943-
leftName.accept(this);
944-
}
865+
addFieldName(varBinding, left, false);
945866
if ("++".equals(op)) {
946867
buffer.append(".charCodeAt (0) + 1)");
947868
} else {
948869
buffer.append(".charCodeAt (0) - 1)");
949870
}
950871
} else {
951-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
952-
buffer.append('.');
953-
if (left instanceof QualifiedName) {
954-
QualifiedName leftName = (QualifiedName) left;
955-
leftName.getName().accept(this);
956-
} else if (left instanceof FieldAccess) {
957-
FieldAccess leftAccess = (FieldAccess) left;
958-
leftAccess.getName().accept(this);
959-
} else {
960-
Name leftName = (Name) left;
961-
leftName.accept(this);
962-
}
963-
// buffer.append(' ');
872+
addFieldName(varBinding, left, false);
964873
buffer.append(op);
965874
}
966-
967875
if (supportsObjectStaticFields) {
968876
buffer.append(", ");
969-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
970-
buffer.append(".prototype.");
971-
if (left instanceof QualifiedName) {
972-
QualifiedName leftName = (QualifiedName) left;
973-
leftName.getName().accept(this);
974-
} else if (left instanceof FieldAccess) {
975-
FieldAccess leftAccess = (FieldAccess) left;
976-
leftAccess.getName().accept(this);
977-
} else {
978-
Name leftName = (Name) left;
979-
leftName.accept(this);
980-
}
877+
addFieldName(varBinding, left, true);
981878
buffer.append(" = ");
982-
buffer.append(assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
983-
buffer.append('.');
984-
if (left instanceof QualifiedName) {
985-
QualifiedName leftName = (QualifiedName) left;
986-
leftName.getName().accept(this);
987-
} else if (left instanceof FieldAccess) {
988-
FieldAccess leftAccess = (FieldAccess) left;
989-
leftAccess.getName().accept(this);
990-
} else {
991-
Name leftName = (Name) left;
992-
leftName.accept(this);
993-
}
879+
addFieldName(varBinding, left, false);
994880
}
995881
if ((supportsObjectStaticFields || staticCharType) && !(parent instanceof Statement)) {
996882
buffer.append(", $t$");
@@ -1034,6 +920,24 @@ public boolean visit(PostfixExpression node) {
1034920
// return super.visit(node);
1035921
}
1036922

923+
private void addFieldName(IVariableBinding varBinding, Expression left, boolean isPrototype) {
924+
buffer.append(
925+
assureQualifiedName(removeJavaLang(varBinding.getDeclaringClass().getQualifiedName())));
926+
buffer.append('.');
927+
if (isPrototype)
928+
buffer.append("prototype.");
929+
if (left instanceof QualifiedName) {
930+
QualifiedName leftName = (QualifiedName) left;
931+
leftName.getName().accept(this);
932+
} else if (left instanceof FieldAccess) {
933+
FieldAccess leftAccess = (FieldAccess) left;
934+
leftAccess.getName().accept(this);
935+
} else {
936+
Name leftName = (Name) left;
937+
leftName.accept(this);
938+
}
939+
}
940+
1037941
@SuppressWarnings("null")
1038942
public boolean visit(PrefixExpression node) {
1039943
String constValue = checkConstantValue(node);

0 commit comments

Comments
 (0)