From c0b7d7c005367a638507e7bedb3db1f4d4c7e0b2 Mon Sep 17 00:00:00 2001 From: melvin Date: Tue, 7 Jun 2011 18:25:27 +0800 Subject: [PATCH] only access public fields of companion class --- src/magic/data/CardDefinitions.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/magic/data/CardDefinitions.java b/src/magic/data/CardDefinitions.java index 551cd72883..89daa85b19 100644 --- a/src/magic/data/CardDefinitions.java +++ b/src/magic/data/CardDefinitions.java @@ -9,6 +9,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.lang.reflect.Field; +import java.lang.reflect.Modifier; import magic.model.MagicAbility; import magic.model.MagicCardDefinition; @@ -133,7 +134,7 @@ public class CardDefinitions { Class c = Class.forName("magic.card." + cname); Field[] fields = c.getDeclaredFields(); for (final Field field : fields) { - final Object obj = field.get(null); + final Object obj = Modifier.isPublic(field.getModifiers()) ? field.get(null) : ""; if (obj instanceof MagicSpellCardEvent) { final MagicSpellCardEvent cevent = (MagicSpellCardEvent)obj; cardDefinition.setCardEvent(cevent); @@ -151,7 +152,7 @@ public class CardDefinitions { } } } catch (Exception err) { - //System.err.println("No companion obj for " + cname); + //System.err.println("No companion class for " + fname); } }