Skip to content

Instantly share code, notes, and snippets.

View zskamljic's full-sized avatar

Žan Skamljič zskamljic

View GitHub Profile
messager.printMessage(Diagnostic.Kind.ERROR, message, element);
String providerName = enclosing.getSimpleName().toString() + "Provider";
PackageElement pkg = elementUtils.getPackageOf(enclosing);
String packageName = pkg.isUnnamed() ? "" : pkg.getQualifiedName().toString();
implementation 'com.squareup:javapoet:1.9.0'
TypeSpec.Builder classBuilder = TypeSpec.classBuilder(providerName)
.addModifiers(Modifier.PUBLIC, Modifier.FINAL);
MethodSpec.Builder provideFuncBuilder = MethodSpec.methodBuilder("provide")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC)
.addParameter(ClassName.get(enclosing.asType()),"dependant");
provideFuncBuilder.addParameter(ClassName.get(field.asType()), fieldName);
provideFuncBuilder.addStatement("dependant.$L = $L", fieldName, fieldName);
classBuilder.addMethod(provideFuncBuilder.build());
JavaFile.builder(packageName, classBuilder.build()).build().writeTo(filer);
annotationProcessor project(':processor')
MainActivityProvider.provide(this, "John Smith");