public boolean visit(Include include) throws Exception { // special case for include statements; we need to cache this // information in order to access it quickly: if (include.getExpr() instanceof Scalar) { Scalar filePath = (Scalar) include.getExpr(); modifyReference( include, new ReferenceInfo( IModelElement.METHOD, filePath.sourceStart(), filePath.sourceEnd() - filePath.sourceStart(), "include", Integer //$NON-NLS-1$ .toString(1), null)); String fullPath = ASTUtils.stripQuotes(((Scalar) filePath).getValue()); int idx = Math.max(fullPath.lastIndexOf('/'), fullPath.lastIndexOf('\\')); String lastSegment = fullPath; if (idx != -1) { lastSegment = lastSegment.substring(idx + 1); } modifyDeclaration( include, new DeclarationInfo( IModelElement.IMPORT_DECLARATION, 0, include.sourceStart(), include.sourceEnd() - include.sourceStart(), filePath.sourceStart(), filePath.sourceEnd() - filePath.sourceStart(), lastSegment, fullPath, null, null, null)); } return visitGeneral(include); }
public boolean visit(Include include) throws Exception { // special case for include statements; we need to cache this // information in order to access it quickly: if (include.getExpr() instanceof Scalar) { Scalar filePath = (Scalar) include.getExpr(); fRequestor.acceptMethodReference( "include", 0, //$NON-NLS-1$ filePath.sourceStart(), filePath.sourceEnd()); } return true; }