Changeset 2332


Ignore:
Timestamp:
Feb 5, 2007, 1:10:25 AM (14 years ago)
Author:
yura
Message:
  • Minor changes.
Location:
to-imperative/trunk/java/org/refal/plus/wrapgen
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/java/org/refal/plus/wrapgen/RFIFile.java

    r2331 r2332  
     1/* $Id$ */
     2/* vim: set ts=2 sw=2 : */
     3
    14package org.refal.plus.wrapgen;
    25
     
    1720        private ArrayList refalNames;
    1821        private HashMap refalFunctions;
    19        
     22
    2023        static class RefalFunction {
    2124                String name;
     
    3942                }
    4043        }
    41        
     44
    4245        RFIFile (String className) {
    4346                this.className = className;
     
    5457                } catch (Exception e) {}
    5558        }
    56        
     59
    5760        RefalFunction getRefalFuncion (boolean isStatic, String name, Type retType, Type[] argTypes) {
    5861                try {
     
    6770                }
    6871        }
    69        
     72
    7073        String getRefalConst (String name, int value) {
    7174                String intName = "int "+name;
     
    8992                }
    9093        }
    91        
     94
    9295        void writeClass (byte[] bytes) {
    9396                try {
     
    106109                return str+")";
    107110        }
    108        
     111
    109112        private RefalFunction getRefalFunction (boolean isStatic, String name, Type retType, Type[] argTypes) {
    110113                RefalFunction refFun = new RefalFunction();
     
    128131                for (int i = 0; i < argTypes.length; i++)
    129132                        refFun.argTypes[(isStatic?0:1)+i] = argTypes[i].getSort()==Type.ARRAY ? WrapGen.E : WrapGen.S;
    130                 return refFun;         
    131         }
    132        
    133         private RefalFunction findRefalFunction  (boolean isStatic, String name, Type retType, Type[] argTypes) {
     133                return refFun;
     134        }
     135
     136        private RefalFunction findRefalFunction (boolean isStatic, String name, Type retType, Type[] argTypes) {
    134137                return (RefalFunction)this.refalFunctions.get(getJavaDeclaration(isStatic, name, retType, argTypes));
    135138        }
     
    195198                        }
    196199                }
    197         }       
     200        }
    198201}
  • to-imperative/trunk/java/org/refal/plus/wrapgen/WrapGen.java

    r2330 r2332  
     1/* $Id$ */
     2/* vim: set ts=2 sw=2 : */
     3
    14package org.refal.plus.wrapgen;
    25
     
    1518import org.objectweb.asm.Type;
    1619
    17 public class WrapGen extends ClassAdapter
    18 {
     20public class WrapGen extends ClassAdapter {
    1921        static final int S = 0;
    2022        static final int E = 1;
     
    2426        private Type oldType;
    2527        private String newName;
    26         private boolean isInterface; 
     28        private boolean isInterface;
    2729        private HashMap constants;
    2830        private RFIFile rfiFile;
    29        
     31
    3032        public WrapGen () {
    3133                super(new ClassWriter(ClassWriter.COMPUTE_FRAMES+ClassWriter.COMPUTE_MAXS));
     
    3638                this.oldType = Type.getType("L"+name+";");
    3739                this.newName = "org/refal/plus/wrappers/"+this.oldName;
    38                 this.isInterface = (access & Opcodes.ACC_INTERFACE)!=0; 
     40                this.isInterface = (access & Opcodes.ACC_INTERFACE)!=0;
    3941                this.constants = new HashMap();
    4042                this.rfiFile = new RFIFile(this.newName);
     
    4547
    4648        public void visitOuterClass (String owner, String name, String desc) {}
    47        
     49
    4850        public AnnotationVisitor visitAnnotation (String desc, boolean visible) {
    4951                return null;
     
    5153
    5254        public void visitAttribute (Attribute attr) {}
    53        
     55
    5456        public void visitInnerClass (String name, String outerName, String innerName, int access) {}
    5557
     
    7274                Type retType = Type.getReturnType(desc);
    7375                Type[] argTypes = Type.getArgumentTypes(desc);
    74                 boolean isConstructor = name.equals("<init>"); 
     76                boolean isConstructor = name.equals("<init>");
    7577                boolean isStatic = (access & Opcodes.ACC_STATIC)!=0;
    7678                boolean isVoid = retType==Type.VOID_TYPE;
     
    110112        }
    111113
    112         public void visitEnd() {
     114        public void visitEnd () {
    113115                if (! this.constants.isEmpty()) {
    114116                        MethodVisitor mv = super.visitMethod(Opcodes.ACC_STATIC, "<clinit>", "()V", null, null);
     
    136138                mv.visitVarInsn(Opcodes.ALOAD, argNum);
    137139                switch (refTypes[argNum]) {
    138                 case WrapGen.S: 
     140                case WrapGen.S:
    139141                        mv.visitInsn(Opcodes.ICONST_0);
    140142                        mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "org/refal/plus/Expr", "at", "(I)Ljava/lang/Object;");
Note: See TracChangeset for help on using the changeset viewer.