MCPcopy Index your code
hub / github.com/clojure/clojure / getAbstractTypeFromApiFormat

Method getAbstractTypeFromApiFormat

src/jvm/clojure/asm/Frame.java:241–251  ·  view source on GitHub ↗

Returns the abstract type corresponding to the given public API frame element type. @param symbolTable the type table to use to lookup and store type Symbol. @param type a frame element type described using the same format as in MethodVisitor#visitFrame, i.e. either {@link Opcod

(final SymbolTable symbolTable, final Object type)

Source from the content-addressed store, hash-verified

239 * @return the abstract type corresponding to the given frame element type.
240 */
241 static int getAbstractTypeFromApiFormat(final SymbolTable symbolTable, final Object type) {
242 if (type instanceof Integer) {
243 return CONSTANT_KIND | ((Integer) type).intValue();
244 } else if (type instanceof String) {
245 String descriptor = Type.getObjectType((String) type).getDescriptor();
246 return getAbstractTypeFromDescriptor(symbolTable, descriptor, 0);
247 } else {
248 return UNINITIALIZED_KIND
249 | symbolTable.addUninitializedType("", ((Label) type).bytecodeOffset);
250 }
251 }
252
253 /**
254 * Returns the abstract type corresponding to the internal name of a class.

Callers 2

visitFrameMethod · 0.95

Calls 5

getObjectTypeMethod · 0.95
addUninitializedTypeMethod · 0.80
intValueMethod · 0.45
getDescriptorMethod · 0.45

Tested by

no test coverage detected