/** * Tells if the given type declaration contains some method declarations. */ public static boolean containsMethods(JCClassDecl classDeclaration) { for (JCTree member : classDeclaration.getMembers()) { if (member instanceof JCMethodDecl) { JCMethodDecl method = (JCMethodDecl) member; if (method.pos == classDeclaration.pos) { continue; } return true; // if (method.body != null) { // return true; // } } else if (member instanceof JCVariableDecl) { if (((JCVariableDecl) member).mods.getFlags().contains(Modifier.STATIC)) { return true; } } } return false; }
boolean printed = false; if (localClass || (getScope().anonymousClasses.contains(newClass.def) && !newClass.def.getModifiers().getFlags().contains(Modifier.STATIC))) { print("this"); if (!newClass.args.isEmpty()) {
@Override public Description matchMethod(MethodTree method, VisitorState state) { if (!CAN_BE_A_BINDS_METHOD.matches(method, state)) { return NO_MATCH; } JCClassDecl enclosingClass = ASTHelpers.findEnclosingNode(state.getPath(), JCClassDecl.class); // Dagger 1 modules don't support @Binds. if (!IS_DAGGER_2_MODULE.matches(enclosingClass, state)) { return NO_MATCH; } if (enclosingClass.getExtendsClause() != null) { return fixByDelegating(); } for (Tree member : enclosingClass.getMembers()) { if (member.getKind().equals(Tree.Kind.METHOD) && !getSymbol(member).isConstructor()) { MethodTree siblingMethod = (MethodTree) member; Set<Modifier> siblingFlags = siblingMethod.getModifiers().getFlags(); if (!(siblingFlags.contains(Modifier.STATIC) || siblingFlags.contains(Modifier.ABSTRACT)) && !CAN_BE_A_BINDS_METHOD.matches(siblingMethod, state)) { return fixByDelegating(); } } } return fixByModifyingMethod(state, enclosingClass, method); }
EstimatorFactory.implementz(oldT.getImplementsClause(), newT.getImplementsClause(), diffContext) : EstimatorFactory.extendz(oldT.getImplementsClause(), newT.getImplementsClause(), diffContext); if (!newT.implementing.isEmpty()) copyTo(localPointer, insertHint); boolean firstDiff = false; boolean oldEnum = constMissing; boolean xxx = (newT.mods.flags & Flags.ENUM) != 0 && filteredOldTDefs.isEmpty() && !filteredNewTDefs.isEmpty() && !isEnum(filteredNewTDefs.get(0)) && !newT.getSimpleName().isEmpty(); if (constMissing) { firstDiff = !isEnum(filteredNewTDefs.get(0)); firstDiff = (oldEnum = isEnum(filteredOldTDefs.get(0))) != isEnum(filteredNewTDefs.get(0)); if (firstDiff && !newT.getSimpleName().isEmpty()) { if (oldEnum) { printer.blankline();
@Override public void visitClassDef(JCClassDecl node) { long flags = node.mods.flags; String name = node.getSimpleName().toString(); TypeDeclaration typeDecl; Map<FlagKey, Object> flagKeyMap = Maps.newHashMap(); if (init.getClassBody() != null) { NormalTypeBody constantBody = setPos(init, new NormalTypeBody()); fillList(init.getClassBody().getMembers(), constantBody.rawMembers()); ec.astBody(constantBody);
@Override public void visitClassDef(JCClassDecl node) { long flags = node.mods.flags; String name = node.getSimpleName().toString(); TypeDeclaration typeDecl; Map<FlagKey, Object> flagKeyMap = Maps.newHashMap(); if (init.getClassBody() != null) { NormalTypeBody constantBody = setPos(init, new NormalTypeBody()); fillList(init.getClassBody().getMembers(), constantBody.rawMembers()); ec.astBody(constantBody);
@Override public void visitClassDef(JCClassDecl node) { long flags = node.mods.flags; String name = node.getSimpleName().toString(); TypeDeclaration typeDecl; Map<FlagKey, Object> flagKeyMap = Maps.newHashMap(); if (init.getClassBody() != null) { NormalTypeBody constantBody = setPos(init, new NormalTypeBody()); fillList(init.getClassBody().getMembers(), constantBody.rawMembers()); ec.astBody(constantBody);
if ((cls.getModifiers().flags & ENUM) != 0) {
JCTree.JCVariableDecl field = (JCTree.JCVariableDecl)tree.getMembers().get( 0 ); return field.getInitializer();
Name simpleName = classDecl.getSimpleName(); JCTree.JCModifiers modifiers = classDecl.getModifiers(); int modPos = modifiers.pos; int modEndPos = context.endPosTable.getEndPos(modifiers); analyzeParsedTree(context, classDecl.getExtendsClause()); analyzeSimpleExpressions(context, classDecl.getImplementsClause()); Tree.Kind kind = classDecl.getKind(); boolean isInterface = kind.equals(Tree.Kind.INTERFACE); boolean isEnum = kind.equals(Tree.Kind.ENUM); log.trace("maybe inner class={}", classScope); parent.startClass(classScope); for (final JCTree memberTree : classDecl.getMembers()) { analyzeParsedTree(context, memberTree);
List.<Type>nil()); JCClassDecl containerDef = classDef(container); make_at(containerDef.pos()); JCExpression notStatus = makeUnary(NOT, make.App(make.Select( classOfType(types.erasure(outermostClass.type), containerDef.pos()), desiredAssertionStatusSym))); JCVariableDecl assertDisabledDef = make.VarDef(assertDisabledSym, make_at(currentClassDef.pos()); JCStatement dummy = make.If(make.QualIdent(assertDisabledSym), make.Skip(), null); JCBlock clinit = make.Block(STATIC, List.<JCStatement>of(dummy));
results.add(file); } catch (IOException ex) { log.error(cdef.pos(), "class.cant.write", cdef.sym, ex.getMessage()); return;
List.<Type>nil()); JCClassDecl containerDef = classDef(container); make_at(containerDef.pos()); JCExpression notStatus = makeUnary(JCTree.NOT, make.App(make.Select( classOfType(types.erasure(outermostClass.type), containerDef.pos()), desiredAssertionStatusSym))); JCVariableDecl assertDisabledDef = make.VarDef(assertDisabledSym,
results.append(file); } catch (IOException ex) { log.error(cdef.pos(), "class.cant.write", cdef.sym, ex.getMessage()); return;
attribClass(tree.pos(), c); result = tree.type = c.type;
List.<Type>nil()); JCClassDecl containerDef = classDef(container); make_at(containerDef.pos()); JCExpression notStatus = makeUnary(JCTree.NOT, make.App(make.Select( classOfType(types.erasure(outermostClass.type), containerDef.pos()), desiredAssertionStatusSym))); JCVariableDecl assertDisabledDef = make.VarDef(assertDisabledSym,
ListBuffer<JCTree> bridges = new ListBuffer<JCTree>(); if ((tree.sym.flags() & INTERFACE) == 0) addBridges(tree.pos(), tree.sym, bridges); tree.defs = bridges.toList().prependList(tree.defs);
remainder = null; if( cls.getSimpleName().toString().equals( name ) ) for( JCTree m: cls.getMembers() )
EndPosTable endPosTable = context.endPosTable; Tree.Kind classDeclKind = classDecl.getKind(); int startPos = classDecl.getPreferredPosition(); int endPos = classDecl.getEndPosition(endPosTable); JCTree.JCModifiers modifiers = classDecl.getModifiers(); List<JCTree.JCAnnotation> annotations = modifiers.getAnnotations(); analyzeParsedTree(context, classDecl.getExtendsClause()); analyzeSimpleExpressions(context, classDecl.getImplementsClause()); Name simpleName = classDecl.getSimpleName(); Range range = Range.create(src, startPos + 1, endPos); for (JCTree tree : classDecl.getMembers()) { analyzeParsedTree(context, tree);
ListBuffer<JCTree> bridges = new ListBuffer<JCTree>(); if ((tree.sym.flags() & INTERFACE) == 0) addBridges(tree.pos(), tree.sym, bridges); tree.defs = bridges.toList().prependList(tree.defs);