@Override public SignatureVisitor visitInterface() { if (type != CLASS_SIGNATURE || !VISIT_INTERFACE_STATES.contains(state)) { throw new IllegalStateException(); } return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitInterface()); }
@Override public void visitClassType(final String name) { if (type != TYPE_SIGNATURE || state != State.EMPTY) { throw new IllegalStateException(); } checkClassName(name, "class name"); state = State.CLASS_TYPE; if (signatureVisitor != null) { signatureVisitor.visitClassType(name); } }
@Override public void visitTypeVariable(final String name) { if (type != TYPE_SIGNATURE || state != State.EMPTY) { throw new IllegalStateException(); } checkIdentifier(name, "type variable"); state = State.SIMPLE_TYPE; if (signatureVisitor != null) { signatureVisitor.visitTypeVariable(name); } }
@Override public SignatureVisitor visitParameterType() { if (type != METHOD_SIGNATURE || !VISIT_PARAMETER_TYPE_STATES.contains(state)) { throw new IllegalArgumentException(); } state = State.PARAM; return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitParameterType()); }
@Override public void visitFormalTypeParameter(final String name) { if (type == TYPE_SIGNATURE || !VISIT_FORMAL_TYPE_PARAMETER_STATES.contains(state)) { throw new IllegalStateException(); } checkIdentifier(name, "formal type parameter"); state = State.FORMAL; if (signatureVisitor != null) { signatureVisitor.visitFormalTypeParameter(name); } }
@Override public void visitClassType(final String name) { if (type != TYPE_SIGNATURE || state != State.EMPTY) { throw new IllegalStateException(); } checkClassName(name, "class name"); state = State.CLASS_TYPE; if (signatureVisitor != null) { signatureVisitor.visitClassType(name); } }
@Override public SignatureVisitor visitTypeArgument(final char wildcard) { if (state != State.CLASS_TYPE) { throw new IllegalStateException(); } if ("+-=".indexOf(wildcard) == -1) { throw new IllegalArgumentException(); } return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitTypeArgument(wildcard)); }
@Override public void visitTypeVariable(final String name) { if (type != TYPE_SIGNATURE || state != State.EMPTY) { throw new IllegalStateException(); } checkIdentifier(name, "type variable"); state = State.SIMPLE_TYPE; if (signatureVisitor != null) { signatureVisitor.visitTypeVariable(name); } }
@Override public SignatureVisitor visitInterfaceBound() { if (type == TYPE_SIGNATURE || !VISIT_INTERFACE_BOUND_STATES.contains(state)) { throw new IllegalArgumentException(); } return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitInterfaceBound()); }
@Override public void visitFormalTypeParameter(final String name) { if (type == TYPE_SIGNATURE || !VISIT_FORMAL_TYPE_PARAMETER_STATES.contains(state)) { throw new IllegalStateException(); } checkIdentifier(name, "formal type parameter"); state = State.FORMAL; if (signatureVisitor != null) { signatureVisitor.visitFormalTypeParameter(name); } }
@Override public SignatureVisitor visitInterface() { if (type != CLASS_SIGNATURE || !VISIT_INTERFACE_STATES.contains(state)) { throw new IllegalStateException(); } return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitInterface()); }
@Override public void visitInnerClassType(final String name) { if (state != State.CLASS_TYPE) { throw new IllegalStateException(); } checkIdentifier(name, "inner class name"); if (signatureVisitor != null) { signatureVisitor.visitInnerClassType(name); } }
@Override public SignatureVisitor visitExceptionType() { if (type != METHOD_SIGNATURE || !VISIT_EXCEPTION_TYPE_STATES.contains(state)) { throw new IllegalStateException(); } return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitExceptionType()); }
@Override public void visitInnerClassType(final String name) { if (state != State.CLASS_TYPE) { throw new IllegalStateException(); } checkIdentifier(name, "inner class name"); if (signatureVisitor != null) { signatureVisitor.visitInnerClassType(name); } }
@Override public SignatureVisitor visitArrayType() { if (type != TYPE_SIGNATURE || state != State.EMPTY) { throw new IllegalStateException(); } state = State.SIMPLE_TYPE; return new CheckSignatureAdapter( TYPE_SIGNATURE, signatureVisitor == null ? null : signatureVisitor.visitArrayType()); }
@Override public SignatureVisitor visitExceptionType() { if (state != RETURN) { throw new IllegalStateException(); } SignatureVisitor v = sv == null ? null : sv.visitExceptionType(); return new CheckSignatureAdapter(TYPE_SIGNATURE, v); }
@Override public SignatureVisitor visitTypeArgument(final char wildcard) { if (state != CLASS_TYPE) { throw new IllegalStateException(); } if ("+-=".indexOf(wildcard) == -1) { throw new IllegalArgumentException(); } SignatureVisitor v = sv == null ? null : sv.visitTypeArgument(wildcard); return new CheckSignatureAdapter(TYPE_SIGNATURE, v); }
@Override public SignatureVisitor visitClassBound() { if (state != FORMAL) { throw new IllegalStateException(); } state = BOUND; SignatureVisitor v = sv == null ? null : sv.visitClassBound(); return new CheckSignatureAdapter(TYPE_SIGNATURE, v); }
@Override public SignatureVisitor visitInterface() { if (state != SUPER) { throw new IllegalStateException(); } SignatureVisitor v = sv == null ? null : sv.visitInterface(); return new CheckSignatureAdapter(TYPE_SIGNATURE, v); }
@Override public SignatureVisitor visitParameterType() { if (type != METHOD_SIGNATURE || (state & (EMPTY | FORMAL | BOUND | PARAM)) == 0) { throw new IllegalArgumentException(); } state = PARAM; SignatureVisitor v = sv == null ? null : sv.visitParameterType(); return new CheckSignatureAdapter(TYPE_SIGNATURE, v); }