本文整理汇总了Java中org.jf.util.IndentingWriter.deindent方法的典型用法代码示例。如果您正苦于以下问题:Java IndentingWriter.deindent方法的具体用法?Java IndentingWriter.deindent怎么用?Java IndentingWriter.deindent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jf.util.IndentingWriter
的用法示例。
在下文中一共展示了IndentingWriter.deindent方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeTo(@Nonnull IndentingWriter writer,
@Nonnull ArrayEncodedValue arrayEncodedValue,
@Nullable String containingClass) throws IOException {
writer.write('{');
Collection<? extends EncodedValue> values = arrayEncodedValue.getValue();
if (values.size() == 0) {
writer.write('}');
return;
}
writer.write('\n');
writer.indent(4);
boolean first = true;
for (EncodedValue encodedValue: values) {
if (!first) {
writer.write(",\n");
}
first = false;
EncodedValueAdaptor.writeTo(writer, encodedValue, containingClass);
}
writer.deindent(4);
writer.write("\n}");
}
示例2: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
@Override
public boolean writeTo(IndentingWriter writer) throws IOException {
if (commentedOut) {
writer = new CommentingIndentingWriter(writer);
}
writer.write(".packed-switch ");
IntegerRenderer.writeTo(writer, firstKey);
writer.indent(4);
writer.write('\n');
int key = firstKey;
for (PackedSwitchTarget target: targets) {
target.writeTargetTo(writer);
writeCommentIfResourceId(writer, key);
writer.write('\n');
key++;
}
writer.deindent(4);
writer.write(".end packed-switch");
return true;
}
示例3: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
@Override
public boolean writeTo(IndentingWriter writer) throws IOException {
if (commentedOut) {
writer = new CommentingIndentingWriter(writer);
}
writer.write(".sparse-switch\n");
writer.indent(4);
for (SparseSwitchTarget target: targets) {
IntegerRenderer.writeTo(writer, target.getKey());
writer.write(" -> ");
target.writeTargetTo(writer);
writeCommentIfResourceId(writer, target.getKey());
writer.write('\n');
}
writer.deindent(4);
writer.write(".end sparse-switch");
return true;
}
示例4: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeTo(IndentingWriter writer, ArrayEncodedValue arrayEncodedValue) throws IOException {
writer.write('{');
Collection<? extends EncodedValue> values = arrayEncodedValue.getValue();
if (values.size() == 0) {
writer.write('}');
return;
}
writer.write('\n');
writer.indent(4);
boolean first = true;
for (EncodedValue encodedValue: values) {
if (!first) {
writer.write(",\n");
}
first = false;
EncodedValueAdaptor.writeTo(writer, encodedValue);
}
writer.deindent(4);
writer.write("\n}");
}
示例5: writeEmptyMethodTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeEmptyMethodTo(IndentingWriter writer, Method method,
baksmaliOptions options) throws IOException {
writer.write(".method ");
writeAccessFlags(writer, method.getAccessFlags());
writer.write(method.getName());
writer.write("(");
ImmutableList<MethodParameter> methodParameters = ImmutableList.copyOf(method.getParameters());
for (MethodParameter parameter: methodParameters) {
writer.write(parameter.getType());
}
writer.write(")");
writer.write(method.getReturnType());
writer.write('\n');
writer.indent(4);
writeParameters(writer, method, methodParameters, options);
AnnotationFormatter.writeTo(writer, method.getAnnotations());
writer.deindent(4);
writer.write(".end method\n");
}
示例6: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
@Override
public boolean writeTo(IndentingWriter writer) throws IOException {
writer.write(".packed-switch ");
IntegerRenderer.writeTo(writer, firstKey);
writer.indent(4);
writer.write('\n');
int key = firstKey;
for (PackedSwitchTarget target: targets) {
target.writeTargetTo(writer);
writeResourceId(writer, key);
writer.write('\n');
key++;
}
writer.deindent(4);
writer.write(".end packed-switch");
return true;
}
示例7: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeTo(IndentingWriter writer, ArrayEncodedValue encodedArray) throws IOException {
writer.write('{');
EncodedValue[] values = encodedArray.values;
if (values == null || values.length == 0) {
writer.write('}');
return;
}
writer.write('\n');
writer.indent(4);
boolean first = true;
for (EncodedValue encodedValue: encodedArray.values) {
if (!first) {
writer.write(",\n");
}
first = false;
EncodedValueAdaptor.writeTo(writer, encodedValue);
}
writer.deindent(4);
writer.write("\n}");
}
示例8: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public boolean writeTo(IndentingWriter writer) throws IOException {
writer.write(".array-data 0x");
writer.printLongAsHex(instruction.getElementWidth());
writer.write('\n');
writer.indent(4);
Iterator<ArrayDataPseudoInstruction.ArrayElement> iterator = instruction.getElements();
while (iterator.hasNext()) {
ArrayDataPseudoInstruction.ArrayElement element = iterator.next();
for (int i=0; i<element.elementWidth; i++) {
if (i!=0) {
writer.write(' ');
}
ByteRenderer.writeUnsignedTo(writer, element.buffer[element.bufferIndex+i]);
}
writer.write('\n');
}
writer.deindent(4);
writer.write(".end array-data");
return true;
}
示例9: writeElementsTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeElementsTo(@Nonnull IndentingWriter writer,
@Nonnull Collection<? extends AnnotationElement> annotationElements,
@Nullable String containingClass) throws IOException {
writer.indent(4);
for (AnnotationElement annotationElement: annotationElements) {
writer.write(annotationElement.getName());
writer.write(" = ");
EncodedValueAdaptor.writeTo(writer, annotationElement.getValue(), containingClass);
writer.write('\n');
}
writer.deindent(4);
}
示例10: writeEmptyMethodTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeEmptyMethodTo(IndentingWriter writer, Method method,
baksmaliOptions options) throws IOException {
writer.write(".method ");
writeAccessFlags(writer, method.getAccessFlags());
writer.write(method.getName());
writer.write("(");
ImmutableList<MethodParameter> methodParameters = ImmutableList.copyOf(method.getParameters());
for (MethodParameter parameter : methodParameters) {
writer.write(parameter.getType());
}
writer.write(")");
writer.write(method.getReturnType());
writer.write('\n');
writer.indent(4);
writeParameters(writer, method, methodParameters, options);
String containingClass = null;
if (options.useImplicitReferences) {
containingClass = method.getDefiningClass();
}
//如果是修改的方法,需要添加ReplaceAnnotation
if (DexDiffInfo.modifiedMethods.contains(method)) {
MethodReplaceAnnotation replaceAnnotation = new MethodReplaceAnnotation(method.getDefiningClass(), method.getName());
AnnotationFormatter.writeTo(writer, method.getAnnotations(), containingClass, replaceAnnotation);
} else {
AnnotationFormatter.writeTo(writer, method.getAnnotations(), containingClass);
}
writer.deindent(4);
writer.write(".end method\n");
}
示例11: writeParameters
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
private static void writeParameters(IndentingWriter writer, Method method,
List<? extends MethodParameter> parameters,
baksmaliOptions options) throws IOException {
boolean isStatic = AccessFlags.STATIC.isSet(method.getAccessFlags());
int registerNumber = isStatic ? 0 : 1;
for (MethodParameter parameter : parameters) {
String parameterType = parameter.getType();
String parameterName = parameter.getName();
Collection<? extends Annotation> annotations = parameter.getAnnotations();
if (parameterName != null || annotations.size() != 0) {
writer.write(".param p");
writer.printSignedIntAsDec(registerNumber);
if (parameterName != null && options.outputDebugInfo) {
writer.write(", ");
ReferenceFormatter.writeStringReference(writer, parameterName);
}
writer.write(" # ");
writer.write(parameterType);
writer.write("\n");
if (annotations.size() > 0) {
writer.indent(4);
String containingClass = null;
if (options.useImplicitReferences) {
containingClass = method.getDefiningClass();
}
AnnotationFormatter.writeTo(writer, annotations, containingClass);
writer.deindent(4);
writer.write(".end param\n");
}
}
registerNumber++;
if (TypeUtils.isWideType(parameterType)) {
registerNumber++;
}
}
}
示例12: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public boolean writeTo(IndentingWriter writer) throws IOException {
int elementWidth = instruction.getElementWidth();
writer.write(".array-data ");
writer.printSignedIntAsDec(instruction.getElementWidth());
writer.write('\n');
writer.indent(4);
List<Number> elements = instruction.getArrayElements();
String suffix = "";
switch (elementWidth) {
case 1:
suffix = "t";
break;
case 2:
suffix = "s";
break;
}
for (Number number: elements) {
LongRenderer.writeSignedIntOrLongTo(writer, number.longValue());
writer.write(suffix);
if (elementWidth == 8) {
writeCommentIfLikelyDouble(writer, number.longValue());
} else if (elementWidth == 4) {
int value = number.intValue();
boolean isResourceId = writeCommentIfResourceId(writer, value);
if (!isResourceId) writeCommentIfLikelyFloat(writer, value);
}
writer.write("\n");
}
writer.deindent(4);
writer.write(".end array-data");
return true;
}
示例13: writeElementsTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public static void writeElementsTo(IndentingWriter writer,
Collection<? extends AnnotationElement> annotationElements) throws IOException {
writer.indent(4);
for (AnnotationElement annotationElement: annotationElements) {
writer.write(annotationElement.getName());
writer.write(" = ");
EncodedValueAdaptor.writeTo(writer, annotationElement.getValue());
writer.write('\n');
}
writer.deindent(4);
}
示例14: writeParameters
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
private static void writeParameters(IndentingWriter writer, Method method,
List<? extends MethodParameter> parameters,
baksmaliOptions options) throws IOException {
boolean isStatic = AccessFlags.STATIC.isSet(method.getAccessFlags());
int registerNumber = isStatic?0:1;
for (MethodParameter parameter: parameters) {
String parameterType = parameter.getType();
String parameterName = parameter.getName();
Collection<? extends Annotation> annotations = parameter.getAnnotations();
if (parameterName != null || annotations.size() != 0) {
writer.write(".param p");
writer.printSignedIntAsDec(registerNumber);
if (parameterName != null && options.outputDebugInfo) {
writer.write(", ");
ReferenceFormatter.writeStringReference(writer, parameterName);
}
writer.write(" # ");
writer.write(parameterType);
writer.write("\n");
if (annotations.size() > 0) {
writer.indent(4);
AnnotationFormatter.writeTo(writer, annotations);
writer.deindent(4);
writer.write(".end param\n");
}
}
registerNumber++;
if (TypeUtils.isWideType(parameterType)) {
registerNumber++;
}
}
}
示例15: writeTo
import org.jf.util.IndentingWriter; //导入方法依赖的package包/类
public boolean writeTo(IndentingWriter writer) throws IOException {
int elementWidth = instruction.getElementWidth();
writer.write(".array-data ");
writer.printSignedIntAsDec(instruction.getElementWidth());
writer.write('\n');
writer.indent(4);
List<Number> elements = instruction.getArrayElements();
String suffix = "";
switch (elementWidth) {
case 1:
suffix = "t";
break;
case 2:
suffix = "s";
break;
}
for (Number number: elements) {
LongRenderer.writeSignedIntOrLongTo(writer, number.longValue());
writer.write(suffix);
if (elementWidth == 4)
writeResourceId(writer, number.intValue());
writer.write("\n");
}
writer.deindent(4);
writer.write(".end array-data");
return true;
}