private static void printImports(PrintWriter out, ClassNode classNode) { List<String> imports = new ArrayList<String>(); ModuleNode moduleNode = classNode.getModule(); for (ImportNode importNode : moduleNode.getStarImports()) { imports.add(importNode.getPackageName()); } for (ImportNode imp : moduleNode.getImports()) { if (imp.getAlias() == null) imports.add(imp.getType().getName()); } imports.addAll(Arrays.asList(ResolveVisitor.DEFAULT_IMPORTS)); for (Map.Entry<String, ImportNode> entry : moduleNode.getStaticImports().entrySet()) { if (entry.getKey().equals(entry.getValue().getFieldName())) imports.add("static "+entry.getValue().getType().getName()+"."+entry.getKey()); } for (Map.Entry<String, ImportNode> entry : moduleNode.getStaticStarImports().entrySet()) { imports.add("static "+entry.getValue().getType().getName()+"."); } for (String imp : imports) { String s = ("import " + imp + ((imp.charAt(imp.length() - 1) == '.') ? "*;" : ";")) .replace('$', '.'); out.println(s); } out.println(); }
for (ImportNode importNode : module.getStaticStarImports().values()) { ClassNode node = importNode.getType(); expression = findStaticPropertyAccessor(node, name);
public void visitImports(ModuleNode node) { if (node != null) { for (ImportNode importNode : node.getImports()) { visitAnnotations(importNode); importNode.visit(this); } for (ImportNode importStarNode : node.getStarImports()) { visitAnnotations(importStarNode); importStarNode.visit(this); } for (ImportNode importStaticNode : node.getStaticImports().values()) { visitAnnotations(importStaticNode); importStaticNode.visit(this); } for (ImportNode importStaticStarNode : node.getStaticStarImports().values()) { visitAnnotations(importStaticStarNode); importStaticStarNode.visit(this); } } }
assertStaticImportIsAllowed(entry.getKey(), className); for (Map.Entry<String, ImportNode> entry : ast.getStaticStarImports().entrySet()) { final String className = entry.getValue().getClassName(); assertStaticImportIsAllowed(entry.getKey(), className);
Map<String, ImportNode> starImports = module.getStaticStarImports(); ClassNode starImportType; if (currentClass.isEnum() && starImports.containsKey(currentClass.getName())) {
addError("unable to resolve class " + type.getName(), type); for (ImportNode importNode : module.getStaticStarImports().values()) { ClassNode type = importNode.getType(); if (resolve(type, false, false, true)) continue; addError("unable to resolve class " + type.getName(), type); for (ImportNode importNode : module.getStaticStarImports().values()) { ClassNode type = importNode.getType(); if (resolve(type, true, true, true)) continue;
public void visitModuleNode(ModuleNode moduleNode) { //visit imports like import java.io.File and import java.io.File as MyFile for (ImportNode importNode : moduleNode.getImports()) { visitNode(importNode.getType()); } //visit static imports like import java.lang.Math.* for (ImportNode importNode : moduleNode.getStaticStarImports().values()) { visitNode(importNode.getType()); } //visit static imports like import java.lang.Math.cos for (ImportNode importNode : moduleNode.getStaticImports().values()) { visitNode(importNode.getType()); } for (ClassNode classNode : moduleNode.getClasses()) { if (!classNode.isScript()) { visitClass(classNode); } else { for (MethodNode method : moduleNode.getMethods()) { visitMethod(method); } } } //visit Statements that are not inside a class if (!moduleNode.getStatementBlock().isEmpty()) { visitBlockStatement(moduleNode.getStatementBlock()); } }
for (ImportNode importNode : module.getStaticStarImports().values()) { ClassNode tmp = new ConstructedNestedClass(importNode.getType(), name); if (resolve(tmp, false, false, true)) {
public void visit(ASTNode[] nodes, final SourceUnit source) { log.log(Level.FINE, "Transforming source to add default import package"); for (Class<?> defaultImport : defaultImports) { log.log(Level.FINE, "Adding default import for class " + defaultImport.getName()); if (source.getAST().getImport(defaultImport.getSimpleName()) == null) { source.getAST().addImport(defaultImport.getSimpleName(), ClassHelper.make(defaultImport)); } } for (Class<?> defaultStaticImport : defaultStaticImports) { log.log(Level.FINE, "Adding default static import for class " + defaultStaticImport.getName()); if (!source.getAST().getStaticStarImports().containsKey(defaultStaticImport.getSimpleName())) { source.getAST().addStaticStarImport(defaultStaticImport.getSimpleName(), ClassHelper.make(defaultStaticImport)); } } } }
private List<ImportNode> getImportNodes(ModuleNode ast) { List<ImportNode> importNodes = new ArrayList<ImportNode>(); importNodes.addAll(ast.getImports()); importNodes.addAll(ast.getStarImports()); importNodes.addAll(ast.getStaticImports().values()); importNodes.addAll(ast.getStaticStarImports().values()); return importNodes; }
public void visit(ASTNode[] nodes, final SourceUnit source) { log.log(Level.FINE, "Transforming source to add default import package"); for (Class<?> defaultImport : defaultImports) { log.log(Level.FINE, "Adding default import for class " + defaultImport.getName()); if (source.getAST().getImport(defaultImport.getSimpleName()) == null) { source.getAST().addImport(defaultImport.getSimpleName(), ClassHelper.make(defaultImport)); } } for (Class<?> defaultStaticImport : defaultStaticImports) { log.log(Level.FINE, "Adding default static import for class " + defaultStaticImport.getName()); if (!source.getAST().getStaticStarImports().containsKey(defaultStaticImport.getSimpleName())) { source.getAST().addStaticStarImport(defaultStaticImport.getSimpleName(), ClassHelper.make(defaultStaticImport)); } } } }
public void visit(ASTNode[] nodes, final SourceUnit source) { log.log(Level.FINE, "Transforming source to add default import package"); for (Class<?> defaultImport : defaultImports) { log.log(Level.FINE, "Adding default import for class " + defaultImport.getName()); if (source.getAST().getImport(defaultImport.getSimpleName()) == null) { source.getAST().addImport(defaultImport.getSimpleName(), ClassHelper.make(defaultImport)); } } for (Class<?> defaultStaticImport : defaultStaticImports) { log.log(Level.FINE, "Adding default static import for class " + defaultStaticImport.getName()); if (!source.getAST().getStaticStarImports().containsKey(defaultStaticImport.getSimpleName())) { source.getAST().addStaticStarImport(defaultStaticImport.getSimpleName(), ClassHelper.make(defaultStaticImport)); } } } }
public void visit(ASTNode[] nodes, final SourceUnit source) { log.log(Level.FINE, "Transforming source to add default import package"); for (Class<?> defaultImport : defaultImports) { log.log(Level.FINE, "Adding default import for class " + defaultImport.getName()); if (source.getAST().getImport(defaultImport.getSimpleName()) == null) { source.getAST().addImport(defaultImport.getSimpleName(), ClassHelper.make(defaultImport)); } } for (Class<?> defaultStaticImport : defaultStaticImports) { log.log(Level.FINE, "Adding default static import for class " + defaultStaticImport.getName()); if (!source.getAST().getStaticStarImports().containsKey(defaultStaticImport.getSimpleName())) { source.getAST().addStaticStarImport(defaultStaticImport.getSimpleName(), ClassHelper.make(defaultStaticImport)); } } } }
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; } } }
iter = source.getAST().getStaticStarImports().values().iterator(); while (iter.hasNext()) { ImportNode importedClass = iter.next();
public void visitImports(ModuleNode node) { if (node != null) { for (ImportNode importNode : node.getImports()) { visitAnnotations(importNode); importNode.visit(this); } for (ImportNode importStarNode : node.getStarImports()) { visitAnnotations(importStarNode); importStarNode.visit(this); } for (ImportNode importStaticNode : node.getStaticImports().values()) { visitAnnotations(importStaticNode); importStaticNode.visit(this); } for (ImportNode importStaticStarNode : node.getStaticStarImports().values()) { visitAnnotations(importStaticStarNode); importStaticStarNode.visit(this); } } }
@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); }
for (ImportNode importNode : module.getStaticStarImports().values()) { ClassNode node = importNode.getType(); expression = findStaticPropertyAccessor(node, name);
assertStaticImportIsAllowed(entry.getKey(), className); for (Map.Entry<String, ImportNode> entry : ast.getStaticStarImports().entrySet()) { final String className = entry.getValue().getClassName(); assertStaticImportIsAllowed(entry.getKey(), className);
Map<String, ImportNode> starImports = module.getStaticStarImports(); ClassNode starImportType; if (currentClass.isEnum() && starImports.containsKey(currentClass.getName())) {