private String calcDescriptor()

in javac-ast-extension/src/org/jetbrains/jps/javac/ast/api/JavacRef.java [380:417]


    private String calcDescriptor(TypeMirror type) {
      return new SimpleTypeVisitor6<String, Void>(null) {
        @Override
        public String visitPrimitive(PrimitiveType t, Void aVoid) {
          switch(t.getKind()) {
            case BYTE: return "B";
            case CHAR: return "C";
            case DOUBLE: return "D";
            case FLOAT: return "F";
            case INT: return "I";
            case LONG:return "J";
            case SHORT: return "S";
            case BOOLEAN: return "Z";
          }
          return null;
        }

        @Override
        public String visitArray(ArrayType t, Void aVoid) {
          return "[" + visit(t.getComponentType());
        }

        @Override
        public String visitDeclared(DeclaredType t, Void aVoid) {
          return "L" + myNameTableCache.parseBinaryName(t.asElement()).replace('.', '/') + ";";
        }

        @Override
        public String visitTypeVariable(TypeVariable t, Void unused) {
          return visit(t.getUpperBound());
        }

        @Override
        public String visitUnknown(TypeMirror t, Void param) {
          return null;
        }
      }.visit(type);
    }