jodd-proxetta/src/main/java/jodd/asm7/Frame.java
private void push(final SymbolTable symbolTable, final String descriptor) {
    int typeDescriptorOffset = descriptor.charAt(0) == '(' ? descriptor.indexOf(')') + 1 : 0;
    int abstractType = getAbstractTypeFromDescriptor(symbolTable, descriptor, typeDescriptorOffset);
    if (abstractType != 0) {
      push(abstractType);
      if (abstractType == LONG || abstractType == DOUBLE) {
        push(TOP);
      }
    }
  }
private void push(final SymbolTable symbolTable, final String descriptor) {
    int typeDescriptorOffset = descriptor.charAt(0) == '(' ? descriptor.indexOf(')') + 1 : 0;
    int abstractType = getAbstractTypeFromDescriptor(symbolTable, descriptor, typeDescriptorOffset);
    if (abstractType != 0) {
      push(abstractType);
      if (abstractType == LONG || abstractType == DOUBLE) {
        push(TOP);
      }
    }
  }
Pushes the abstract type corresponding to the given descriptor on the output frame stack.

@param symbolTable the type table to use to lookup and store type {@link Symbol}.
@param descriptor a type or method descriptor (in which case its return type is pushed).