public PackageNode getPackage() { return getModule() == null ? null : getModule().getPackage(); }
@Override public void call(final SourceUnit source, final GeneratorContext context, final ClassNode classNode) throws CompilationFailedException { final ModuleNode ast = source.getAST(); if (!isPackageAllowed && ast.getPackage() != null) { throw new SecurityException("Package definitions are not allowed");
private static boolean isOnPackageNode(AstPath path, BaseDocument doc, int caret) { ModuleNode moduleNode = getCurrentModuleNode(path); if (moduleNode == null || moduleNode.getPackage() == null) { return false; } if (isCaretOnPackageStatement(moduleNode.getPackage(), doc, caret)) { return true; } return false; }
private AnnotatedNode getAnnotatedNode(ModuleNode node) { PackageNode packageNode = node.getPackage(); if (packageNode != null && !packageNode.getAnnotations(BOM).isEmpty()) { return packageNode; } if (!node.getClasses().isEmpty()) { return node.getClasses().get(0); } return packageNode; }
public PackageNode getPackage() { return getModule() == null ? null : getModule().getPackage(); }
private void init() { synchronized (initializationLock) { if (!initialized) { ModuleNode ast = source.getAst(); if (ast != null) { suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getPackage())); suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getImports())); suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getStarImports())); suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getStaticImports().values())); suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getStaticStarImports().values())); // if it is the only class in the file, then a @SuppressWarnings applies to everything if (ast.getClasses() != null && ast.getClasses().size() == 1) { suppressedRuleNames.addAll(getSuppressedRuleNames(ast.getClasses())); } // build up suppressions by line number suppressionsByLineNumber.putAll(getSuppressionsByLineNumber(ast)); } initialized = true; } } }
@Override public void visit(ASTNode[] nodes, SourceUnit source) { if (nodes.length != 1 || !(nodes[0] instanceof ModuleNode)) { return; } ModuleNode moduleNode = (ModuleNode) nodes[0]; initialize(moduleNode); if (disabled) { return; } String mainClassName = moduleNode.getMainClassName(); PackageNode modulePackage = moduleNode.getPackage(); List<AnnotationNode> packageAnnotations = modulePackage != null ? modulePackage.getAnnotations() : new ArrayList<AnnotationNode>(); for (ClassNode classNode : moduleNode.getClasses()) { if (classNode.isDerivedFrom(ClassHelper.SCRIPT_TYPE) && mainClassName.equals(classNode.getName()) && !packageAnnotations.isEmpty()) { process(classNode, packageAnnotations, moduleNode); continue; } List<AnnotationNode> annotations = classNode.getAnnotations(getAnnotationClassNode()); if (annotations.isEmpty()) { continue; } process(classNode, annotations, moduleNode); } }
@Override public void visit(ASTNode[] nodes, SourceUnit source) { this.sourceUnit = source; List<AnnotationNode> annotationNodes = new ArrayList<>(); ClassVisitor classVisitor = new ClassVisitor(source, annotationNodes); for (ASTNode node : nodes) { if (node instanceof ModuleNode) { ModuleNode module = (ModuleNode) node; visitAnnotatedNode(module.getPackage(), annotationNodes); for (ImportNode importNode : module.getImports()) { visitAnnotatedNode(importNode, annotationNodes); } for (ImportNode importNode : module.getStarImports()) { visitAnnotatedNode(importNode, annotationNodes); } module.getStaticImports().forEach((name, importNode) -> visitAnnotatedNode(importNode, annotationNodes)); module.getStaticStarImports().forEach((name, importNode) -> visitAnnotatedNode(importNode, annotationNodes)); for (ClassNode classNode : module.getClasses()) { visitAnnotatedNode(classNode, annotationNodes); classNode.visitContents(classVisitor); } } } processAnnotationNodes(annotationNodes); }
@Override public void call(final SourceUnit source, final GeneratorContext context, final ClassNode classNode) throws CompilationFailedException { final ModuleNode ast = source.getAST(); if (!isPackageAllowed && ast.getPackage() != null) { throw new SecurityException("Package definitions are not allowed");
return getCurrentModuleNode(path).getPackage();