]> source.dussan.org Git - aspectj.git/commitdiff
349764
authoraclement <aclement>
Mon, 20 Jun 2011 17:10:01 +0000 (17:10 +0000)
committeraclement <aclement>
Mon, 20 Jun 2011 17:10:01 +0000 (17:10 +0000)
org.aspectj.matcher/src/org/aspectj/weaver/World.java

index f98dd6f943429a7840947f9ffa7c336fe4a46b68..bde4ae37f051d35cfc0adc363c5a5324b3a79763 100644 (file)
@@ -145,6 +145,7 @@ public abstract class World implements Dump.INode {
 
        private boolean completeBinaryTypes = false;
        private boolean overWeaving = false;
+       private static boolean systemPropertyOverWeaving = false;
        public boolean forDEBUG_structuralChangesCode = false;
        public boolean forDEBUG_bridgingCode = false;
        public boolean optimizedMatching = true;
@@ -163,6 +164,19 @@ public abstract class World implements Dump.INode {
         */
        private List<RuntimeException> dumpState_cantFindTypeExceptions = null;
 
+       static {
+               try {
+               String value = System.getProperty("aspectj.overweaving", "false");
+               if (value.equalsIgnoreCase("true")) {
+                       System.out.println("ASPECTJ: aspectj.overweaving=true: overweaving switched ON");
+                       systemPropertyOverWeaving = true;
+               }
+               } catch (Throwable t) {
+                       System.err.println("ASPECTJ: Unable to read system properties");
+                       t.printStackTrace();
+               }
+       }
+
        /**
         * Play God. On the first day, God created the primitive types and put them in the type map.
         */
@@ -1625,11 +1639,10 @@ public abstract class World implements Dump.INode {
 
                        }
                        try {
-                               String value = System.getProperty("aspectj.overweaving", "false");
-                               if (value.equalsIgnoreCase("true")) {
-                                       System.out.println("ASPECTJ: aspectj.overweaving=true: overweaving switched ON");
+                               if (systemPropertyOverWeaving) {
                                        overWeaving = true;
                                }
+                               String value = null;
                                value = System.getProperty("aspectj.typeDemotion", "false");
                                if (value.equalsIgnoreCase("true")) {
                                        System.out.println("ASPECTJ: aspectj.typeDemotion=true: type demotion switched ON");