当前位置: 首页>>代码示例>>Java>>正文


Java IndentingWriter.deindent方法代码示例

本文整理汇总了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}");
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:25,代码来源:ArrayEncodedValueAdaptor.java

示例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;
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:21,代码来源:PackedSwitchMethodItem.java

示例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;
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:20,代码来源:SparseSwitchMethodItem.java

示例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}");
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:23,代码来源:ArrayEncodedValueAdaptor.java

示例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");
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:21,代码来源:MethodDefinition.java

示例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;
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:18,代码来源:PackedSwitchMethodItem.java

示例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}");
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:23,代码来源:ArrayEncodedValueAdaptor.java

示例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;
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:23,代码来源:ArrayDataMethodItem.java

示例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);
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:13,代码来源:AnnotationEncodedValueAdaptor.java

示例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");
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:32,代码来源:MethodDefinition.java

示例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++;
        }
    }
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:40,代码来源:MethodDefinition.java

示例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;
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:38,代码来源:ArrayDataMethodItem.java

示例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);
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:12,代码来源:AnnotationEncodedValueAdaptor.java

示例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++;
        }
    }
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:35,代码来源:MethodDefinition.java

示例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;
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:33,代码来源:ArrayDataMethodItem.java


注:本文中的org.jf.util.IndentingWriter.deindent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。