List of usage examples for org.eclipse.jdt.core.dom Modifier FINAL
int FINAL
To view the source code for org.eclipse.jdt.core.dom Modifier FINAL.
Click Source Link
From source file:astview.Binding.java
License:Open Source License
private static StringBuffer getModifiersString(int flags, boolean isMethod) { StringBuffer sb = new StringBuffer().append("0x").append(Integer.toHexString(flags)).append(" ("); int prologLen = sb.length(); int rest = flags; rest &= ~appendFlag(sb, flags, Modifier.PUBLIC, "public "); rest &= ~appendFlag(sb, flags, Modifier.PRIVATE, "private "); rest &= ~appendFlag(sb, flags, Modifier.PROTECTED, "protected "); rest &= ~appendFlag(sb, flags, Modifier.STATIC, "static "); rest &= ~appendFlag(sb, flags, Modifier.FINAL, "final "); if (isMethod) { rest &= ~appendFlag(sb, flags, Modifier.SYNCHRONIZED, "synchronized "); rest &= ~appendFlag(sb, flags, Modifier.DEFAULT, "default "); } else {// w ww . ja va 2 s . c o m rest &= ~appendFlag(sb, flags, Modifier.VOLATILE, "volatile "); rest &= ~appendFlag(sb, flags, Modifier.TRANSIENT, "transient "); } rest &= ~appendFlag(sb, flags, Modifier.NATIVE, "native "); rest &= ~appendFlag(sb, flags, Modifier.ABSTRACT, "abstract "); rest &= ~appendFlag(sb, flags, Modifier.STRICTFP, "strictfp "); if (rest != 0) sb.append("unknown:0x").append(Integer.toHexString(rest)).append(" "); int len = sb.length(); if (len != prologLen) sb.setLength(len - 1); sb.append(")"); return sb; }
From source file:cn.ieclipse.adt.ext.jdt.SourceGenerator.java
License:Apache License
private static void merge(CompilationUnit unit, String pkgName, String typeName, String auth, String dbName, List<String> tableCreators) { unit.recordModifications();/*from w w w. j a v a 2s . c o m*/ AST ast = unit.getAST(); TypeDeclaration type = (TypeDeclaration) unit.types().get(0); ImportDeclaration id = ast.newImportDeclaration(); id.setName(ast.newName("cn.ieclipse.aorm.Session")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.content.UriMatcher")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.database.sqlite.SQLiteDatabase")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.database.sqlite.SQLiteOpenHelper")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("java.net.Uri")); unit.imports().add(id); id = ast.newImportDeclaration(); id.setName(ast.newName("android.content.ContentValue")); unit.imports().add(id); VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("AUTH")); StringLiteral sl = ast.newStringLiteral(); sl.setLiteralValue(auth); vdf.setInitializer(sl); FieldDeclaration fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL))); fd.setType(ast.newSimpleType(ast.newSimpleName("String"))); int i = 0; type.bodyDeclarations().add(i++, fd); // URI = Uri.parse("content://" + AUTH); vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("URI")); MethodInvocation mi = ast.newMethodInvocation(); mi.setExpression(ast.newSimpleName("Uri")); mi.setName(ast.newSimpleName("parse")); InfixExpression fix = ast.newInfixExpression(); fix.setOperator(InfixExpression.Operator.PLUS); sl = ast.newStringLiteral(); sl.setLiteralValue("content://"); fix.setLeftOperand(sl); fix.setRightOperand(ast.newSimpleName("AUTH")); mi.arguments().add(fix); vdf.setInitializer(mi); fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL))); fd.setType(ast.newSimpleType(ast.newSimpleName("Uri"))); type.bodyDeclarations().add(i++, fd); // private mOpenHelper; vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("mOpenHelper")); fd = ast.newFieldDeclaration(vdf); fd.modifiers().add(ast.newModifier(Modifier.ModifierKeyword.PRIVATE_KEYWORD)); fd.setType(ast.newSimpleType(ast.newName("SQLiteOpenHelper"))); type.bodyDeclarations().add(i++, fd); // private static session; vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("session")); fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers((Modifier.PRIVATE | Modifier.STATIC))); fd.setType(ast.newSimpleType(ast.newName("Session"))); type.bodyDeclarations().add(i++, fd); // public static Session getSession(){ // return session; // } MethodDeclaration md = ast.newMethodDeclaration(); md.modifiers().addAll(ast.newModifiers((Modifier.PUBLIC | Modifier.STATIC))); md.setReturnType2(ast.newSimpleType(ast.newName("Session"))); md.setName(ast.newSimpleName("getSession")); Block methodBlock = ast.newBlock(); ReturnStatement returnStmt = ast.newReturnStatement(); returnStmt.setExpression(ast.newSimpleName("session")); methodBlock.statements().add(returnStmt); md.setBody(methodBlock); type.bodyDeclarations().add(i, md); // modify onCreate rewriteOnCreate(unit, dbName, tableCreators); }
From source file:com.alex.example.fixlicense.actions.SampleAction.java
License:Open Source License
private FieldDeclaration createLiceseInLineField(AST ast) { VariableDeclarationFragment vdf = ast.newVariableDeclarationFragment(); vdf.setName(ast.newSimpleName("COPYRIGHT")); StringLiteral sl = ast.newStringLiteral(); sl.setLiteralValue(license_inline);//from www. j a v a 2s. c om vdf.setInitializer(sl); FieldDeclaration fd = ast.newFieldDeclaration(vdf); fd.modifiers().addAll(ast.newModifiers(Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL)); fd.setType(ast.newSimpleType(ast.newSimpleName("String"))); return fd; }
From source file:com.google.devtools.j2cpp.translate.ClassConverter.java
License:Open Source License
protected FieldDeclaration createField(String name, ITypeBinding varType, ITypeBinding declaringClass, AST ast) {//w ww .j av a2s . c o m VariableDeclarationFragment fragment = ast.newVariableDeclarationFragment(); SimpleName fieldName = ast.newSimpleName(name); GeneratedVariableBinding fieldBinding = new GeneratedVariableBinding(fieldName.getIdentifier(), Modifier.PRIVATE | Modifier.FINAL, varType, true, false, declaringClass, null); Types.addBinding(fieldName, fieldBinding); fragment.setName(fieldName); Types.addBinding(fragment, fieldBinding); FieldDeclaration field = ast.newFieldDeclaration(fragment); field.setType(Types.makeType(varType)); @SuppressWarnings("unchecked") List<IExtendedModifier> mods = field.modifiers(); // safe by definition mods.add(ast.newModifier(ModifierKeyword.PRIVATE_KEYWORD)); mods.add(ast.newModifier(ModifierKeyword.FINAL_KEYWORD)); return field; }
From source file:com.google.devtools.j2cpp.translate.ClassConverter.java
License:Open Source License
@SuppressWarnings("unchecked") protected List<SingleVariableDeclaration> createConstructorArguments(List<IVariableBinding> innerFields, IMethodBinding constructor, AST ast, String prefix) { int nameOffset = constructor.getParameterTypes().length; List<SingleVariableDeclaration> args = Lists.newArrayList(); for (int i = 0; i < innerFields.size(); i++) { IVariableBinding field = innerFields.get(i); String argName = prefix + (i + nameOffset); SimpleName name = ast.newSimpleName(argName); GeneratedVariableBinding binding = new GeneratedVariableBinding(argName, Modifier.FINAL, field.getType(), false, true, constructor.getDeclaringClass(), constructor); Types.addBinding(name, binding); SingleVariableDeclaration newArg = ast.newSingleVariableDeclaration(); newArg.setName(name);/* w w w. j av a 2s . c om*/ newArg.setType(Types.makeType(field.getType())); newArg.modifiers().add(ast.newModifier(ModifierKeyword.FINAL_KEYWORD)); Types.addBinding(newArg, binding); args.add(newArg); } return args; }
From source file:com.google.devtools.j2cpp.translate.InnerClassExtractor.java
License:Open Source License
private void addOuterFields(AbstractTypeDeclaration node) { @SuppressWarnings("unchecked") List<BodyDeclaration> members = node.bodyDeclarations(); // safe by definition AST ast = node.getAST();/*ww w . j a v a 2 s .c om*/ ITypeBinding clazz = Types.getTypeBinding(node); ITypeBinding outerClazz = clazz.getDeclaringClass(); assert outerClazz != null; List<IVariableBinding> innerFields = Lists.newArrayList(); // Ensure that the new outer field does not conflict with a field in a superclass. ITypeBinding superClazz = clazz.getSuperclass(); ITypeBinding superDeclaringClazz = superClazz.getDeclaringClass(); int suffix = 0; while (superClazz.getDeclaringClass() != null) { if (!Modifier.isStatic(superClazz.getModifiers())) { suffix++; } superClazz = superClazz.getSuperclass(); } String outerFieldName = "this$" + suffix; FieldDeclaration outerField = createField(outerFieldName, outerClazz, clazz, ast); members.add(0, outerField); IVariableBinding outerVar = Types.getVariableBinding(outerField.fragments().get(0)); innerFields.add(outerVar); if (superDeclaringClazz != null && !Modifier.isStatic(clazz.getSuperclass().getModifiers()) && !outerClazz.isAssignmentCompatible(superDeclaringClazz.getTypeDeclaration())) { // The super class is an inner class, and it's declaring class and the // current node's declaring class don't match, so we need another outer // var. This var is only a parameter, not a field, an it's name doesn't // matter because addInnerParameters will assign a different name to it // anyway. IVariableBinding secondOuterVar = new GeneratedVariableBinding("", Modifier.FINAL, superDeclaringClazz, false, true, superClazz, null); innerFields.add(secondOuterVar); } // Insert new parameters for each constructor in class. boolean needsConstructor = true; for (BodyDeclaration member : members) { if (member instanceof MethodDeclaration && ((MethodDeclaration) member).isConstructor()) { needsConstructor = false; MethodDeclaration constructor = (MethodDeclaration) member; IMethodBinding oldBinding = Types.getMethodBinding(constructor); GeneratedMethodBinding newBinding = new GeneratedMethodBinding(oldBinding); Types.addBinding(constructor, newBinding); addInnerParameters(constructor, newBinding, innerFields, ast, false); assert constructor.parameters().size() == newBinding.getParameterTypes().length; } } if (needsConstructor) { MethodDeclaration constructor = ast.newMethodDeclaration(); constructor.setConstructor(true); ITypeBinding voidType = ast.resolveWellKnownType("void"); GeneratedMethodBinding binding = new GeneratedMethodBinding("init", 0, voidType, clazz, true, false, true); Types.addBinding(constructor, binding); Types.addBinding(constructor.getReturnType2(), voidType); SimpleName name = ast.newSimpleName("init"); Types.addBinding(name, binding); constructor.setName(name); constructor.setBody(ast.newBlock()); addInnerParameters(constructor, binding, innerFields, ast, false); members.add(constructor); assert constructor.parameters().size() == binding.getParameterTypes().length; } }
From source file:com.google.devtools.j2objc.translate.InnerClassExtractor.java
License:Open Source License
protected void addOuterParameters(AbstractTypeDeclaration typeNode, MethodDeclaration constructor) { ITypeBinding type = typeNode.getTypeBinding(); ITypeBinding outerType = type.getDeclaringClass(); IVariableBinding outerParamBinding = null; GeneratedMethodBinding constructorBinding = new GeneratedMethodBinding( constructor.getMethodBinding().getMethodDeclaration()); constructor.setMethodBinding(constructorBinding); // Adds the outer and captured parameters to the declaration. List<SingleVariableDeclaration> captureDecls = constructor.getParameters().subList(0, 0); List<ITypeBinding> captureTypes = constructorBinding.getParameters().subList(0, 0); if (OuterReferenceResolver.needsOuterParam(type)) { GeneratedVariableBinding paramBinding = new GeneratedVariableBinding("outer$", Modifier.FINAL, outerType, false, true, type, constructorBinding); captureDecls.add(new SingleVariableDeclaration(paramBinding)); captureTypes.add(outerType);//www .jav a2 s . co m outerParamBinding = paramBinding; } List<IVariableBinding> innerFields = OuterReferenceResolver.getInnerFields(type); List<IVariableBinding> captureParams = Lists.newArrayListWithCapacity(innerFields.size()); int captureCount = 0; for (IVariableBinding innerField : innerFields) { GeneratedVariableBinding paramBinding = new GeneratedVariableBinding("capture$" + captureCount++, Modifier.FINAL, innerField.getType(), false, true, type, constructorBinding); captureDecls.add(new SingleVariableDeclaration(paramBinding)); captureTypes.add(innerField.getType()); captureParams.add(paramBinding); } ConstructorInvocation thisCall = null; SuperConstructorInvocation superCall = null; List<Statement> statements = constructor.getBody().getStatements(); for (Statement stmt : statements) { if (stmt instanceof ConstructorInvocation) { thisCall = (ConstructorInvocation) stmt; break; } else if (stmt instanceof SuperConstructorInvocation) { superCall = (SuperConstructorInvocation) stmt; break; } } if (thisCall != null) { GeneratedMethodBinding newThisBinding = new GeneratedMethodBinding( thisCall.getMethodBinding().getMethodDeclaration()); thisCall.setMethodBinding(newThisBinding); List<Expression> args = thisCall.getArguments().subList(0, 0); List<ITypeBinding> params = newThisBinding.getParameters().subList(0, 0); if (outerParamBinding != null) { args.add(new SimpleName(outerParamBinding)); params.add(outerParamBinding.getType()); } for (IVariableBinding captureParam : captureParams) { args.add(new SimpleName(captureParam)); params.add(captureParam.getType()); } } else { ITypeBinding superType = type.getSuperclass().getTypeDeclaration(); if (superCall == null) { superCall = new SuperConstructorInvocation( TranslationUtil.findDefaultConstructorBinding(superType, typeEnv)); statements.add(0, superCall); } passOuterParamToSuper(typeNode, superCall, superType, outerParamBinding); IVariableBinding outerField = OuterReferenceResolver.getOuterField(type); int idx = 0; if (outerField != null) { assert outerParamBinding != null; statements.add(idx++, new ExpressionStatement( new Assignment(new SimpleName(outerField), new SimpleName(outerParamBinding)))); } for (int i = 0; i < innerFields.size(); i++) { statements.add(idx++, new ExpressionStatement( new Assignment(new SimpleName(innerFields.get(i)), new SimpleName(captureParams.get(i))))); } } assert constructor.getParameters().size() == constructor.getMethodBinding().getParameterTypes().length; }
From source file:com.google.devtools.j2objc.translate.OuterReferenceResolver.java
License:Apache License
private IVariableBinding getOrCreateOuterField(Scope scope) { if (scope.initializingContext && scope == peekScope()) { usesOuterParam.add(scope.type);/*from www. j a v a 2 s.c o m*/ return OUTER_PARAMETER; } ITypeBinding type = scope.type; IVariableBinding outerField = outerVars.get(type); if (outerField == null) { outerField = new GeneratedVariableBinding(getOuterFieldName(type), Modifier.PRIVATE | Modifier.FINAL, type.getDeclaringClass(), true, false, type, null); outerVars.put(type, outerField); } return outerField; }
From source file:com.google.devtools.j2objc.translate.OuterReferenceResolver.java
License:Apache License
private IVariableBinding getOrCreateInnerField(IVariableBinding var, ITypeBinding declaringType) { List<Capture> capturesForType = captures.get(declaringType); IVariableBinding innerField = null;/*from www. ja v a 2 s. c o m*/ for (Capture capture : capturesForType) { if (var.equals(capture.var)) { innerField = capture.field; break; } } if (innerField == null) { GeneratedVariableBinding newField = new GeneratedVariableBinding("val$" + var.getName(), Modifier.PRIVATE | Modifier.FINAL, var.getType(), true, false, declaringType, null); newField.addAnnotations(var); innerField = newField; captures.put(declaringType, new Capture(var, innerField)); } return innerField; }
From source file:com.ibm.wala.cast.java.translator.jdt.JDT2CAstUtils.java
License:Open Source License
public static Collection<CAstQualifier> mapModifiersToQualifiers(int modifiers, boolean isInterface, boolean isAnnotation) { Set<CAstQualifier> quals = new LinkedHashSet<CAstQualifier>(); if (isInterface) quals.add(CAstQualifier.INTERFACE); if (isAnnotation) quals.add(CAstQualifier.ANNOTATION); if ((modifiers & Modifier.ABSTRACT) != 0) quals.add(CAstQualifier.ABSTRACT); if ((modifiers & Modifier.FINAL) != 0) quals.add(CAstQualifier.FINAL);/*from ww w . j a va 2 s . c o m*/ if ((modifiers & Modifier.NATIVE) != 0) quals.add(CAstQualifier.NATIVE); // if (flags.isPackage()) quals.add(CAstQualifier.PACKAGE); if ((modifiers & Modifier.PRIVATE) != 0) quals.add(CAstQualifier.PRIVATE); if ((modifiers & Modifier.PROTECTED) != 0) quals.add(CAstQualifier.PROTECTED); if ((modifiers & Modifier.PUBLIC) != 0) quals.add(CAstQualifier.PUBLIC); if ((modifiers & Modifier.STATIC) != 0) quals.add(CAstQualifier.STATIC); if ((modifiers & Modifier.STRICTFP) != 0) quals.add(CAstQualifier.STRICTFP); if ((modifiers & Modifier.SYNCHRONIZED) != 0) quals.add(CAstQualifier.SYNCHRONIZED); if ((modifiers & Modifier.TRANSIENT) != 0) quals.add(CAstQualifier.TRANSIENT); if ((modifiers & Modifier.VOLATILE) != 0) quals.add(CAstQualifier.VOLATILE); return quals; }