Skip to content

Commit 68a2dd3

Browse files
hansonrhansonr
authored andcommitted
Class.getFields() broken; not giving static fields
1 parent fbb6d63 commit 68a2dd3

File tree

1 file changed

+11
-6
lines changed
  • sources/net.sf.j2s.java.core/src/java/lang

1 file changed

+11
-6
lines changed

sources/net.sf.j2s.java.core/src/java/lang/Class.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1565,11 +1565,10 @@ public Field[] getFields() throws SecurityException {
15651565
if (fields != null)
15661566
return fields;
15671567
fields = new Field[0];
1568-
int _static = Modifier.STATIC;
1569-
Object cl = /** @j2sNative this.$clazz$ || */null;
1568+
Object cl = /** @j2sNative this.$clazz$ || */null;
15701569
Object proto = /** @j2sNative cl.prototype || */null;
15711570
addFields(proto, this.fields, 0);
1572-
addFields(cl, this.fields, _static);
1571+
addFields(cl, this.fields, Modifier.STATIC);
15731572
return fields;
15741573
}
15751574

@@ -1741,12 +1740,12 @@ private void addFields(Object c, Field[] f, int modifiers) {
17411740
* @j2sNative
17421741
*
17431742
* for (m in c) {
1744-
* if (!modifiers && this.$clazz$[m])
1743+
* if (!!modifiers != !!this.$clazz$[m])
17451744
* continue;
17461745
* if (this.excludeField$S(m)) continue;
17471746
* var o = c[m];
17481747
* switch (typeof o) {
1749-
* case "object": if (o && o.__CLASS_NAME__) continue;
1748+
* case "object": if (o && !o.__CLASS_NAME__) continue;
17501749
* case "number": case "boolean": case "string":
17511750
*/
17521751

@@ -1762,7 +1761,13 @@ private void addFields(Object c, Field[] f, int modifiers) {
17621761
}
17631762

17641763
boolean excludeField(String name) {
1765-
return (name == "prototype" || name.startsWith("__"));
1764+
return (name == "prototype"
1765+
|| name.startsWith("__")
1766+
|| name == "$isInterface"
1767+
|| name == "$isEnum"
1768+
|| name == "implementz"
1769+
|| name == "$init$"
1770+
|| name == "$init0$");
17661771
}
17671772

17681773
private void addField(Field[] fields, String m, int modifiers) {

0 commit comments

Comments
 (0)