]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/FindAllowedChars.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / FindAllowedChars.java
index 1e4078670f9275adbb8c2d07cfe59531db1219b7..7d8f1dbab958f6698b0acf641f02a6e3903b6b15 100644 (file)
@@ -1,66 +1,66 @@
-package org.simantics.scl.compiler.tests;\r
-\r
-import java.lang.reflect.Method;\r
-\r
-import org.objectweb.asm.ClassWriter;\r
-import org.objectweb.asm.MethodVisitor;\r
-import org.objectweb.asm.Opcodes;\r
-\r
-public class FindAllowedChars {\r
-    public static class MyClassLoader extends ClassLoader {\r
-        final String className;\r
-        final byte[] classBytes;\r
-        \r
-        public MyClassLoader(ClassLoader parent, String className, byte[] classBytes) {\r
-            super(parent);\r
-            this.className = className;\r
-            this.classBytes = classBytes;\r
-        }\r
-        \r
-        public MyClassLoader(String className, byte[] classBytes) {\r
-            this.className = className;\r
-            this.classBytes = classBytes;\r
-        }\r
-\r
-        @Override\r
-        protected Class<?> findClass(String name) throws ClassNotFoundException {\r
-            if(name.equals(name))\r
-                return defineClass(name, classBytes, 0, classBytes.length);\r
-            else\r
-                return super.findClass(name);\r
-        }\r
-    }\r
-    \r
-    public static void test(String className, String methodName) throws Exception {\r
-        ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS);\r
-        classWriter.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC, className, null, "java/lang/Object", null);\r
-        \r
-        MethodVisitor methodVisitor = classWriter.visitMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, methodName, "()V", null, null);\r
-        /*methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");\r
-        methodVisitor.visitLdcInsn("Hello world!");\r
-        methodVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false);*/\r
-        methodVisitor.visitInsn(Opcodes.RETURN);\r
-        methodVisitor.visitMaxs(0, 0);\r
-        methodVisitor.visitEnd();\r
-        classWriter.visitEnd();\r
\r
-        ClassLoader loader = new MyClassLoader(className, classWriter.toByteArray());\r
-        Class<?> clazz = loader.loadClass(className);\r
-        Method method = clazz.getMethod(methodName);\r
-        method.invoke(null);\r
-    }\r
-    \r
-    public static void main(String[] args) throws Exception {\r
-        for(int a=Character.MIN_VALUE;a<Character.MAX_VALUE;++a) {\r
-            //for(char b=0;b<256;++b) {\r
-                String name = new String(new char[] {(char)a});\r
-                try {\r
-                    test(name, "test");\r
-                } catch(Throwable e) {\r
-                    System.out.println(name + " (" + a + ")");\r
-                }\r
-            //}   \r
-        }\r
-        System.out.println((int)Character.MAX_VALUE);\r
-    }\r
-}\r
+package org.simantics.scl.compiler.tests;
+
+import java.lang.reflect.Method;
+
+import org.objectweb.asm.ClassWriter;
+import org.objectweb.asm.MethodVisitor;
+import org.objectweb.asm.Opcodes;
+
+public class FindAllowedChars {
+    public static class MyClassLoader extends ClassLoader {
+        final String className;
+        final byte[] classBytes;
+        
+        public MyClassLoader(ClassLoader parent, String className, byte[] classBytes) {
+            super(parent);
+            this.className = className;
+            this.classBytes = classBytes;
+        }
+        
+        public MyClassLoader(String className, byte[] classBytes) {
+            this.className = className;
+            this.classBytes = classBytes;
+        }
+
+        @Override
+        protected Class<?> findClass(String name) throws ClassNotFoundException {
+            if(name.equals(name))
+                return defineClass(name, classBytes, 0, classBytes.length);
+            else
+                return super.findClass(name);
+        }
+    }
+    
+    public static void test(String className, String methodName) throws Exception {
+        ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_MAXS);
+        classWriter.visit(Opcodes.V1_5, Opcodes.ACC_PUBLIC, className, null, "java/lang/Object", null);
+        
+        MethodVisitor methodVisitor = classWriter.visitMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC, methodName, "()V", null, null);
+        /*methodVisitor.visitFieldInsn(Opcodes.GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;");
+        methodVisitor.visitLdcInsn("Hello world!");
+        methodVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "java/io/PrintStream", "println", "(Ljava/lang/String;)V", false);*/
+        methodVisitor.visitInsn(Opcodes.RETURN);
+        methodVisitor.visitMaxs(0, 0);
+        methodVisitor.visitEnd();
+        classWriter.visitEnd();
+        ClassLoader loader = new MyClassLoader(className, classWriter.toByteArray());
+        Class<?> clazz = loader.loadClass(className);
+        Method method = clazz.getMethod(methodName);
+        method.invoke(null);
+    }
+    
+    public static void main(String[] args) throws Exception {
+        for(int a=Character.MIN_VALUE;a<Character.MAX_VALUE;++a) {
+            //for(char b=0;b<256;++b) {
+                String name = new String(new char[] {(char)a});
+                try {
+                    test(name, "test");
+                } catch(Throwable e) {
+                    System.out.println(name + " (" + a + ")");
+                }
+            //}   
+        }
+        System.out.println((int)Character.MAX_VALUE);
+    }
+}