Examples of AClass


Examples of cn.wensiqun.asmsupport.clazz.AClass

        factor.asArgument();
    }

    @Override
    protected void afterInitProperties() {
        AClass fatCls = factor.getParamterizedType();
        resultClass = AClassUtils.getPrimitiveAClass(fatCls);
    }
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

        }
    }

    @Override
    protected void factorsToStack() {
        AClass ftrCls1 = factor1.getParamterizedType();
        AClass ftrCls2 = factor2.getParamterizedType();
       
        if(ftrCls1.isPrimitive() || ftrCls2.isPrimitive()){
           
            log.debug("push the first factor to stack");
            factor1.loadToStack(block);
           
            if(!ftrCls1.isPrimitive()){
                log.debug("unbox " + ftrCls1);
                insnHelper.unbox(ftrCls1.getType());
            }
           
            boolean isNumerical = (targetClass.getCastOrder() >= AClass.BYTE_ACLASS.getCastOrder() &&
                       targetClass.getCastOrder() <= AClass.DOUBLE_ACLASS.getCastOrder());
           
            if(isNumerical){
                if(!ftrCls1.equals(targetClass) &&
                   targetClass.getCastOrder() > AClass.INT_ACLASS.getCastOrder()){
                    log.debug("cast from " + ftrCls1 + " to " + targetClass);
                    insnHelper.cast(ftrCls1.getType(), targetClass.getType());
                }
            }

            log.debug("push the second factor to stack");
            factor2.loadToStack(block);
           
            if(!ftrCls2.isPrimitive()){
                log.debug("unbox " + ftrCls1);
                insnHelper.unbox(ftrCls2.getType());
            }
           
            if(isNumerical){
                if(!ftrCls2.equals(targetClass) &&
                   targetClass.getCastOrder() > AClass.INT_ACLASS.getCastOrder()){
                    log.debug("cast from " + ftrCls2 + " to " + targetClass);
                    insnHelper.cast(ftrCls2.getType(), targetClass.getType());
                }
            }
        }else{
            log.debug("push the first factor to stack");
            factor1.loadToStack(block);
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

    block.addException(exception.getParamterizedType());
  }

  @Override
    protected void verifyArgument() {
        AClass excAcls = exception.getParamterizedType();
        if(!excAcls.isChildOrEqual(AClass.THROWABLE_ACLASS)){
            throw new ASMSupportException("the throw type " + excAcls + " is not assign from java.lang.Throwable.class");
        }
    }
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

            }else{
                a = new AClass[]{AClass.OBJECT_ACLASS};
            }
        } else if (as.isArray()) {
            ArrayClass ac = (ArrayClass) as;
            AClass rootType = ac.getRootComponentClass();
           
            if(rootType.isPrimitive()){
                a = new AClass[2];
                a[0] = AClass.CLONEABLE_ACLASS;
                a[1] = AClass.SERIALIZABLE_ACLASS;
            }else{
                AClass[] rootSupers = getDirectSuperType(rootType);
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

        }else if (owner instanceof ProductClass) {
            reallyClass = ((ProductClass) owner).getReallyClass();
        }
       
        Class<?> actuallyMethodOwner = reallyClass;
        AClass invoked = AClassFactory.getProductClass(reallyClass);
        //ACC_VARARGS
        List<MethodEntity> methods = new ArrayList<MethodEntity>();
        java.lang.reflect.Method[] mes;
        for (; actuallyMethodOwner != null; actuallyMethodOwner = actuallyMethodOwner.getSuperclass()) {
            mes = actuallyMethodOwner.getDeclaredMethods();
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

      }
    }

    if (!hasExist) {
      for (int i = 0; i < allThrowExceptions.size();) {
        AClass thrExc = allThrowExceptions.get(i);
        if (thrExc.isChildOrEqual(e)) {
          allThrowExceptions.remove(i);
        } else {
          i++;
        }
      }
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

public abstract class AbstractDecrement extends AbstractCrement {

    protected AbstractDecrement(ProgramBlock block, Crementable factor) {
        super(block, factor);
        operator = Operators.DECREMENT;
        AClass ftrcls = factor.getParamterizedType();
        if(factor instanceof GlobalVariable ||
          ((ftrcls.getCastOrder() <= AClass.BOOLEAN_ACLASS.getCastOrder() ||
           ftrcls.getCastOrder() > AClass.INT_ACLASS.getCastOrder()) &&
           factor instanceof LocalVariable)){
            AbstractArithmetic arithOperator = OperatorFactory.newOperator(Subtraction.class,
                new Class<?>[]{ProgramBlock.class, Parameterized.class, Parameterized.class},
                block, factor, getValue());
           
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

    assert o != null;
    if (!(o instanceof AClass)) {
      return false;
    }
    for (int i = 0; i < size(); i++) {
      AClass thrExc = allThrowExceptions.get(i);
      if (thrExc.equals(o)) {
        allThrowExceptions.remove(i);
        return true;
      }
    }
    return false;
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

        this.factor = factor;
    }
   
    @Override
    protected void verifyArgument() {
        AClass ftrCls = factor.getParamterizedType();
        checkFactor(ftrCls);
    }
View Full Code Here

Examples of cn.wensiqun.asmsupport.clazz.AClass

        factor.asArgument();
    }

    @Override
    protected void afterInitProperties() {
        AClass ftrCls = factor.getParamterizedType();
        resultClass = AClassUtils.getPrimitiveAClass(ftrCls);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.