@Override public TypeCastData create(TemplateMethod method, boolean invalid) { TypeMirror targetType = resolveCastOrCheck(method); TypeMirror sourceType = getContext().getType(Object.class); return new TypeCastData(method, sourceType, targetType); }
List<TypeCastData> casts = new TypeCastParser(context, typeSystem).parse(elements); List<TypeCheckData> checks = new TypeCheckParser(context, typeSystem).parse(elements);
@Override public MethodSpec createSpecification(ExecutableElement method, AnnotationMirror mirror) { TypeMirror targetTypeMirror = ElementUtils.getAnnotationValue(TypeMirror.class, mirror, "value"); ParameterSpec returnTypeSpec = new ParameterSpec("returnType", targetTypeMirror); returnTypeSpec.setAllowSubclasses(false); MethodSpec spec = new MethodSpec(returnTypeSpec); spec.addRequired(new ParameterSpec("value", getContext().getType(Object.class))); return spec; }
List<TypeCastData> casts = new TypeCastParser(context, typeSystem).parse(elements); List<TypeCheckData> checks = new TypeCheckParser(context, typeSystem).parse(elements);
@Override public MethodSpec createSpecification(ExecutableElement method, AnnotationMirror mirror) { TypeMirror targetTypeMirror = ElementUtils.getAnnotationValue(TypeMirror.class, mirror, "value"); ParameterSpec returnTypeSpec = new ParameterSpec("returnType", targetTypeMirror); returnTypeSpec.setAllowSubclasses(false); MethodSpec spec = new MethodSpec(returnTypeSpec); spec.addRequired(new ParameterSpec("value", getContext().getType(Object.class))); return spec; }
@Override public TypeCastData create(TemplateMethod method, boolean invalid) { TypeMirror targetType = resolveCastOrCheck(method); TypeMirror sourceType = getContext().getType(Object.class); return new TypeCastData(method, sourceType, targetType); }