List of usage examples for org.eclipse.jdt.internal.compiler ISourceElementRequestor exitField
void exitField(int initializationStart, int declarationEnd, int declarationSourceEnd);
From source file:lombok.eclipse.agent.PatchConstructorAndDataEclipse.java
License:Open Source License
public static void onSourceElementRequestor_exitField(ISourceElementRequestor requestor, int initializationStart, int declarationEnd, int declarationSourceEnd, FieldDeclaration fieldDeclaration, TypeDeclaration typeDeclaration) throws Exception { if (requestor instanceof CompilationUnitStructureRequestor) { boolean isAnnotatedWithConstructorOrData = false; if (typeDeclaration.annotations != null) for (Annotation annotation : typeDeclaration.annotations) { TypeReference annotationType = annotation.type; if (annotationType == null) continue; String type = new String(annotationType.getLastToken()); if (type.equals("Data") || type.equals("AllArgsConstructor") || type.equals("NoArgsConstructor") || type.equals("RequiredArgsConstructor")) { isAnnotatedWithConstructorOrData = true; break; }// w w w. j a v a 2 s.com } if (isAnnotatedWithConstructorOrData) { if (fieldDeclaration.initialization != null) initializationStart = fieldDeclaration.initialization.sourceStart; if (initializationStart != -1) { CompilationUnitStructureRequestor cusRequestor = (CompilationUnitStructureRequestor) requestor; JavaElement handle = (JavaElement) getHandleStack(cusRequestor).peek(); requestor.exitField(initializationStart, declarationEnd, declarationSourceEnd); SourceFieldElementInfo info = (SourceFieldElementInfo) getNewElements(cusRequestor).get(handle); int length = declarationEnd - initializationStart; if (length > 0) { char[] initializer = new char[length]; System.arraycopy(getParser(cusRequestor).scanner.source, initializationStart, initializer, 0, length); setInitializationSource(info, initializer); } return; } } } requestor.exitField(initializationStart, declarationEnd, declarationSourceEnd); }