Example usage for org.objectweb.asm.signature SignatureVisitor INSTANCEOF

List of usage examples for org.objectweb.asm.signature SignatureVisitor INSTANCEOF

Introduction

In this page you can find the example usage for org.objectweb.asm.signature SignatureVisitor INSTANCEOF.

Prototype

char INSTANCEOF

To view the source code for org.objectweb.asm.signature SignatureVisitor INSTANCEOF.

Click Source Link

Document

Wildcard for a normal type argument.

Usage

From source file:co.cask.cdap.internal.asm.Signatures.java

License:Apache License

public static String getClassSignature(TypeToken<?> interfaceType) {
    SignatureWriter signWriter = new SignatureWriter();
    SignatureVisitor sv = signWriter.visitSuperclass();
    sv.visitClassType(Type.getInternalName(Object.class));
    sv.visitEnd();// w  w  w .j  av a 2 s. co  m

    SignatureVisitor interfaceVisitor = sv.visitInterface();
    interfaceVisitor.visitClassType(Type.getInternalName(interfaceType.getRawType()));

    if (interfaceType.getType() instanceof ParameterizedType) {
        for (java.lang.reflect.Type paramType : ((ParameterizedType) interfaceType.getType())
                .getActualTypeArguments()) {
            interfaceVisitor.visitTypeArgument(SignatureVisitor.INSTANCEOF);
            visitTypeSignature(interfaceType.resolveType(paramType), interfaceVisitor);
        }
    }

    sv.visitEnd();
    return signWriter.toString();
}

From source file:co.cask.cdap.internal.asm.Signatures.java

License:Apache License

public static String getFieldSignature(TypeToken<?> fieldType) {
    SignatureWriter signWriter = new SignatureWriter();
    signWriter.visitClassType(Type.getInternalName(fieldType.getRawType()));

    if (fieldType.getType() instanceof ParameterizedType) {
        for (java.lang.reflect.Type paramType : ((ParameterizedType) fieldType.getType())
                .getActualTypeArguments()) {
            signWriter.visitTypeArgument(SignatureVisitor.INSTANCEOF);
            visitTypeSignature(fieldType.resolveType(paramType), signWriter);
        }/*from w w w  . j av  a2  s . c  o  m*/
    }
    signWriter.visitEnd();
    return signWriter.toString();
}

From source file:co.cask.cdap.internal.asm.Signatures.java

License:Apache License

public static void visitTypeSignature(TypeToken<?> type, SignatureVisitor visitor) {
    Class<?> rawType = type.getRawType();
    if (rawType.isPrimitive()) {
        visitor.visitBaseType(Type.getType(rawType).toString().charAt(0));
        return;// www . j  av  a  2s.  co m
    } else if (rawType.isArray()) {
        visitTypeSignature(type.getComponentType(), visitor.visitArrayType());
        return;
    } else {
        visitor.visitClassType(Type.getInternalName(rawType));
    }

    java.lang.reflect.Type visitType = type.getType();
    if (visitType instanceof ParameterizedType) {
        for (java.lang.reflect.Type argType : ((ParameterizedType) visitType).getActualTypeArguments()) {
            visitTypeSignature(TypeToken.of(argType), visitor.visitTypeArgument(SignatureVisitor.INSTANCEOF));
        }
    }

    visitor.visitEnd();
}

From source file:com.datatorrent.stram.webapp.asm.BaseSignatureVisitor.java

License:Apache License

@Override
public SignatureVisitor visitTypeArgument(char typeArg) {
    TypeNode t = (TypeNode) visitingStack.pop();
    if (t instanceof ParameterizedTypeNode) {
        visitingStack.push(t);//from w  w w  . j  a  v  a  2 s  .c  o m
    } else {
        ParameterizedTypeNode pt = new ParameterizedTypeNode();
        pt.setObjByteCode(t.getObjByteCode());
        visitingStack.push(pt);
    }

    if (typeArg == SignatureVisitor.INSTANCEOF) {
        return this;
    }
    WildcardTypeNode wtn = new WildcardTypeNode();
    wtn.boundChar = typeArg;
    visitingStack.push(wtn);

    //System.out.print("visitTypeArgument:'" + typeArg + "'  ,  ");
    return this;
}

From source file:com.masetta.spann.metadata.reader.asm3_2.AsmClassReaderAdapter.java

License:Apache License

/** {@inheritDoc} */
public GenericCapture resolveCapture(char wildcard) {
    switch (wildcard) {
    case SignatureVisitor.EXTENDS:
        return GenericCapture.EXTENDS;
    case SignatureVisitor.INSTANCEOF:
        return GenericCapture.IS;
    case SignatureVisitor.SUPER:
        return GenericCapture.SUPER_OF;
    }//from ww  w.  jav a2s.c om
    throw new IllegalArgumentException("Unknwon wildcard: " + wildcard);
}

From source file:com.pongasoft.kiwidoc.builder.serializer.type.TypeEncoder.java

License:Apache License

private void buildGenericType(SignatureVisitor sv, Type type) {
    if (type instanceof GenericUnboundedWildcardType) {
        sv.visitTypeArgument();//from www  .j a va2  s  .  co m
        return;
    }

    if (type instanceof GenericBoundedWildcardType) {
        GenericBoundedWildcardType gbwt = (GenericBoundedWildcardType) type;
        sv = sv.visitTypeArgument(gbwt.isSuperKind() ? SignatureVisitor.SUPER : SignatureVisitor.EXTENDS);
        buildType(sv, gbwt.getBound());
        return;
    }

    buildType(sv.visitTypeArgument(SignatureVisitor.INSTANCEOF), type);
}

From source file:org.eclipse.pde.api.tools.internal.comparator.SignatureDecoder.java

License:Open Source License

@Override
public SignatureVisitor visitTypeArgument(char wildcard) {
    switch (wildcard) {
    case SignatureVisitor.EXTENDS:
        this.mode = EXTENDS_TYPE_ARGUMENT;
        break;/*from w  w w .j  a va  2s.  c  om*/
    case SignatureVisitor.SUPER:
        this.mode = SUPER_TYPE_ARGUMENT;
        break;
    case SignatureVisitor.INSTANCEOF:
        this.mode = NORMAL_TYPE_ARGUMENT;
        break;
    default:
        break;
    }
    return this;
}