result.addWarning("A type enclosed in type " + type.getElementName() + " declares a native method");
result.addWarning("A type enclosed in type " + type.getElementName() + " declares a native method. Renaming will cause UnsatisfiedLinkError on runtime.");
	private static RefactoringStatus analyseEnclosedLocalTypes(final IType type, final String newName) throws JavaModelException{		CompilationUnit cu= (CompilationUnit) (JavaCore.create(getResource(type)));		final RefactoringStatus result= new RefactoringStatus();		cu.accept(new AbstractSyntaxTreeVisitorAdapter(){			public boolean visit(TypeDeclaration typeDeclaration, ClassScope scope) {				if ( new String(typeDeclaration.name).equals(newName)					&& isInType(type.getElementName(), scope))						result.addError("A local type enclosed in type " + type.getElementName() + " is already named " + newName);				if (typeDeclaration.methods != null){					for (int i=0; i < typeDeclaration.methods.length; i++){						if (typeDeclaration.methods[i].isNative())							result.addWarning("A local type enclosed in type " + type.getElementName() + " declares a native method");					}					}					return true;			}						public boolean visit(TypeDeclaration typeDeclaration, BlockScope scope) {				if (new String(typeDeclaration.name).equals(newName)				    && isInType(type.getElementName(), scope))						result.addError("A type enclosed in type " + type.getElementName() + " is already named " + newName);				if (typeDeclaration.methods != null){					for (int i=0; i < typeDeclaration.methods.length; i++){						if (typeDeclaration.methods[i].isNative())							result.addWarning("A type enclosed in type " + type.getElementName() + " declares a native method");					}					}					return true;			}		});		return result;	}