本文整理汇总了Java中jdk.nashorn.internal.codegen.types.Type.getDescriptor方法的典型用法代码示例。如果您正苦于以下问题:Java Type.getDescriptor方法的具体用法?Java Type.getDescriptor怎么用?Java Type.getDescriptor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jdk.nashorn.internal.codegen.types.Type
的用法示例。
在下文中一共展示了Type.getDescriptor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: optimisticTypeToString
import jdk.nashorn.internal.codegen.types.Type; //导入方法依赖的package包/类
void optimisticTypeToString(final StringBuilder sb, final boolean optimistic) {
sb.append('{');
final Type type = getType();
final String desc = type == Type.UNDEFINED ? "U" : type.getDescriptor();
sb.append(desc.charAt(desc.length() - 1) == ';' ? "O" : desc);
if (isOptimistic() && optimistic) {
sb.append(OPT_IDENTIFIER);
final int pp = ((Optimistic)this).getProgramPoint();
if (UnwarrantedOptimismException.isValid(pp)) {
sb.append('_').append(pp);
}
}
sb.append('}');
}
示例2: debug
import jdk.nashorn.internal.codegen.types.Type; //导入方法依赖的package包/类
private void debug(final int padConstant, final Object... args) {
if (debug) {
final StringBuilder sb = new StringBuilder();
int pad;
sb.append('#');
sb.append(++linePrefix);
pad = 5 - sb.length();
while (pad > 0) {
sb.append(' ');
pad--;
}
if (isReachable() && !stack.isEmpty()) {
sb.append("{");
sb.append(stack.size());
sb.append(":");
for (int pos = 0; pos < stack.size(); pos++) {
final Type t = stack.peek(pos);
if (t == Type.SCOPE) {
sb.append("scope");
} else if (t == Type.THIS) {
sb.append("this");
} else if (t.isObject()) {
String desc = t.getDescriptor();
int i;
for (i = 0; desc.charAt(i) == '[' && i < desc.length(); i++) {
sb.append('[');
}
desc = desc.substring(i);
final int slash = desc.lastIndexOf('/');
if (slash != -1) {
desc = desc.substring(slash + 1, desc.length() - 1);
}
if ("Object".equals(desc)) {
sb.append('O');
} else {
sb.append(desc);
}
} else {
sb.append(t.getDescriptor());
}
final int loadIndex = stack.localLoads[stack.sp - 1 - pos];
if(loadIndex != Label.Stack.NON_LOAD) {
sb.append('(').append(loadIndex).append(')');
}
if (pos + 1 < stack.size()) {
sb.append(' ');
}
}
sb.append('}');
sb.append(' ');
}
pad = padConstant - sb.length();
while (pad > 0) {
sb.append(' ');
pad--;
}
for (final Object arg : args) {
sb.append(arg);
sb.append(' ');
}
if (context.getEnv() != null) { //early bootstrap code doesn't have inited context yet
log.info(sb);
if (DEBUG_TRACE_LINE == linePrefix) {
new Throwable().printStackTrace(log.getOutputStream());
}
}
}
}