INNER CODE UNIT · Java

injectAttrValueMethod1

xiaojinzi123/Component · ComponentCompiler/src/main/java/com/xiaojinzi/component/AutowireProcessor.java:264

    private MethodSpec injectAttrValueMethod1(TypeElement targetClass) {
        MethodSpec.Builder methodBuilder = MethodSpec
                .methodBuilder("injectAttrValue")
                .addJavadoc("属性注入\n")
                .addParameter(
                        ParameterSpec
                                .builder(TypeName.get(targetClass.asType()), "target")
                                .build()
                )
                .addModifiers(Modifier.PUBLIC);
        // 如果是 Activity
        if (mTypes.isSubtype(targetClass.asType(), activityTypeMirror)) {
            methodBuilder.addStatement("injectAttrValue(target, target.getIntent().getExtras())");
        } else if (mTypes.isSubtype(targetClass.asType(), fragmentTypeMirror)) { // 如果是 Fragment
            methodBuilder.addStatement("injectAttrValue(target, target.getArguments())");
        }
        return methodBuilder.build();
    }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…