private boolean isPrivate(@Nullable JSDocInfo docInfo) { if (docInfo == null) { return false; } // Closure Compiler has @package visibility, which makes symbols accessible to code in the same // package. ES6 modules do not have this concept at all, as there are no packages to begin with. // As TypeScript code can never be in the same package as JavaScript code, because TS code is in // no package at all, Clutz considers @package visible fields to be private. return docInfo.getVisibility() == Visibility.PRIVATE || docInfo.getVisibility() == Visibility.PACKAGE; }
/** * Returns the original visibility of an overridden property. */ private static Visibility getOverriddenPropertyVisibility( ObjectType objectType, String propertyName) { return objectType != null ? objectType.getOwnPropertyJSDocInfo(propertyName).getVisibility() : Visibility.INHERITED; }
/** Generate defaults when certain parameters are not specified. */ private static void populateDefaults(JSDocInfo info) { if (info.getVisibility() == null) { info.setVisibility(Visibility.INHERITED); } }
/** Returns the original visibility of an overridden property. */ static Visibility getOverriddenPropertyVisibility(ObjectType objectType, String propertyName) { return objectType != null ? objectType.getOwnPropertyJSDocInfo(propertyName).getVisibility() : Visibility.INHERITED; }
@Override public boolean matches(Node node, NodeMetadata metadata) { JSDocInfo jsDoc = NodeUtil.getBestJSDocInfo(node); if (jsDoc != null) { return jsDoc.getVisibility() == Visibility.PRIVATE; } return false; } };
private boolean isPrivatePropDecl(Node n) { // TODO(johnlenz): add support private by convention property definitions without JSDoc. // TODO(johnlenz): add support for checking protected properties in final classes // TODO(johnlenz): add support for checking "package" properties when checking an entire // library. JSDocInfo info = NodeUtil.getBestJSDocInfo(n); return (info != null && info.getVisibility() == Visibility.PRIVATE); }
private boolean isPrivatePropDecl(Node n) { // TODO(johnlenz): add support private by convention property definitions without JSDoc. // TODO(johnlenz): add support for checking protected properties in final classes // TODO(johnlenz): add support for checking "package" properties when checking an entire // library. JSDocInfo info = NodeUtil.getBestJSDocInfo(n); return (info != null && info.getVisibility() == Visibility.PRIVATE); }
/** Generate defaults when certain parameters are not specified. */ private static void populateDefaults(JSDocInfo info) { if (info.getVisibility() == null) { info.setVisibility(Visibility.INHERITED); } }
private void visit(Node scriptNode) { JSDocInfo jsDocInfo = scriptNode.getJSDocInfo(); if (jsDocInfo == null) { return; } Visibility v = jsDocInfo.getVisibility(); if (v == null) { return; } builder.put(scriptNode.getStaticSourceFile(), v); }
@Nullable private static Visibility getOverridingPropertyVisibility(PropertyReference propRef) { JSDocInfo overridingInfo = propRef.getJSDocInfo(); return overridingInfo == null || !overridingInfo.isOverride() ? null : overridingInfo.getVisibility(); }
private void visit(Node scriptNode) { JSDocInfo jsDocInfo = scriptNode.getJSDocInfo(); if (jsDocInfo == null) { return; } Visibility v = jsDocInfo.getVisibility(); if (v == null) { return; } builder.put(scriptNode.getStaticSourceFile(), v); }
@Nullable private static Visibility getOverridingPropertyVisibility(Node parent) { JSDocInfo overridingInfo = parent.getJSDocInfo(); return overridingInfo == null || !overridingInfo.isOverride() ? null : overridingInfo.getVisibility(); }
/** Moves the access modifier from the original declaration to the constructor parameter */ void moveAccessModifier(ClassMemberDeclaration declaration, Node param) { if (Visibility.PRIVATE.equals(declaration.jsDoc.getVisibility())) { param.putProp(Node.ACCESS_MODIFIER, Visibility.PRIVATE); } else if (Visibility.PROTECTED.equals(declaration.jsDoc.getVisibility())) { param.putProp(Node.ACCESS_MODIFIER, Visibility.PROTECTED); } else { param.putProp(Node.ACCESS_MODIFIER, Visibility.PUBLIC); } }
private static boolean propertyIsDeclaredButNotPrivate(PropertyReference propRef) { if (!propRef.isDocumentedDeclaration() && !propRef.isOverride()) { return false; } Visibility declaredVisibility = propRef.getJSDocInfo().getVisibility(); if (declaredVisibility == Visibility.PRIVATE || declaredVisibility == Visibility.INHERITED) { return false; } return true; }
public static JSDocInfoBuilder copyFrom(JSDocInfo info) { JSDocInfo clone = info.clone(); if (clone.getVisibility() == Visibility.INHERITED) { clone.setVisibility(null); } return new JSDocInfoBuilder(clone, info.isDocumentationIncluded(), true); }
public static JSDocInfoBuilder copyFrom(JSDocInfo info) { JSDocInfo clone = info.clone(); if (clone.getVisibility() == Visibility.INHERITED) { clone.setVisibility(null); } return new JSDocInfoBuilder(clone, info.isDocumentationIncluded(), true); }
private boolean isPrivate(Node classOrFn) { JSDocInfo info = NodeUtil.getBestJSDocInfo(classOrFn); if (info != null && info.getVisibility().equals(JSDocInfo.Visibility.PRIVATE)) { return true; } return compiler.getCodingConvention().isPrivate(NodeUtil.getName(classOrFn)); }
private boolean isPrivate(Node classOrFn) { JSDocInfo info = NodeUtil.getBestJSDocInfo(classOrFn); if (info != null && info.getVisibility().equals(JSDocInfo.Visibility.PRIVATE)) { return true; } return compiler.getCodingConvention().isPrivate(NodeUtil.getName(classOrFn)); }
private boolean isPrivate(Node nameNode) { if (nameNode.isQualifiedName() && compiler.getCodingConvention().isPrivate(nameNode.getQualifiedName())) { return true; } JSDocInfo info = NodeUtil.getBestJSDocInfo(nameNode); return info != null && info.getVisibility().equals(Visibility.PRIVATE); } }
private boolean isPrivate(Node nameNode) { if (nameNode.isQualifiedName() && compiler.getCodingConvention().isPrivate(nameNode.getQualifiedName())) { return true; } JSDocInfo info = NodeUtil.getBestJSDocInfo(nameNode); return info != null && info.getVisibility().equals(Visibility.PRIVATE); } }