1 16 package com.google.gwt.dev.jdt; 17 18 import com.google.gwt.core.ext.typeinfo.JClassType; 19 import com.google.gwt.core.ext.typeinfo.JConstructor; 20 import com.google.gwt.core.ext.typeinfo.JField; 21 import com.google.gwt.core.ext.typeinfo.JMethod; 22 import com.google.gwt.core.ext.typeinfo.JPackage; 23 import com.google.gwt.core.ext.typeinfo.JParameter; 24 import com.google.gwt.core.ext.typeinfo.JType; 25 26 import org.eclipse.jdt.internal.compiler.lookup.FieldBinding; 27 import org.eclipse.jdt.internal.compiler.lookup.MethodBinding; 28 import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; 29 30 import java.util.ArrayList ; 31 import java.util.List ; 32 33 36 class Shared { 37 static final int MOD_ABSTRACT = 0x00000001; 38 static final int MOD_FINAL = 0x00000002; 39 static final int MOD_NATIVE = 0x00000004; 40 static final int MOD_PRIVATE = 0x00000008; 41 static final int MOD_PROTECTED = 0x00000010; 42 static final int MOD_PUBLIC = 0x00000020; 43 static final int MOD_STATIC = 0x00000040; 44 static final int MOD_TRANSIENT = 0x00000080; 45 static final int MOD_VOLATILE = 0x00000100; 46 static final JClassType[] NO_JCLASSES = new JClassType[0]; 47 static final JConstructor[] NO_JCTORS = new JConstructor[0]; 48 static final JField[] NO_JFIELDS = new JField[0]; 49 static final JMethod[] NO_JMETHODS = new JMethod[0]; 50 static final JPackage[] NO_JPACKAGES = new JPackage[0]; 51 static final JParameter[] NO_JPARAMS = new JParameter[0]; 52 static final JType[] NO_JTYPES = new JType[0]; 53 static final String [][] NO_STRING_ARR_ARR = new String [0][]; 54 static final String [] NO_STRINGS = new String [0]; 55 56 public static int bindingToModifierBits(FieldBinding binding) { 57 int bits = 0; 58 bits |= (binding.isPublic() ? MOD_PUBLIC : 0); 59 bits |= (binding.isPrivate() ? MOD_PRIVATE : 0); 60 bits |= (binding.isProtected() ? MOD_PROTECTED : 0); 61 bits |= (binding.isStatic() ? MOD_STATIC : 0); 62 bits |= (binding.isTransient() ? MOD_TRANSIENT : 0); 63 bits |= (binding.isFinal() ? MOD_FINAL : 0); 64 bits |= (binding.isVolatile() ? MOD_VOLATILE : 0); 65 return bits; 66 } 67 68 public static int bindingToModifierBits(MethodBinding binding) { 69 int bits = 0; 70 bits |= (binding.isPublic() ? MOD_PUBLIC : 0); 71 bits |= (binding.isPrivate() ? MOD_PRIVATE : 0); 72 bits |= (binding.isProtected() ? MOD_PROTECTED : 0); 73 bits |= (binding.isStatic() ? MOD_STATIC : 0); 74 bits |= (binding.isFinal() ? MOD_FINAL : 0); 75 bits |= (binding.isNative() ? MOD_NATIVE : 0); 76 bits |= (binding.isAbstract() ? MOD_ABSTRACT : 0); 77 return bits; 78 } 79 80 public static int bindingToModifierBits(ReferenceBinding binding) { 81 int bits = 0; 82 bits |= (binding.isPublic() ? MOD_PUBLIC : 0); 83 bits |= (binding.isPrivate() ? MOD_PRIVATE : 0); 84 bits |= (binding.isProtected() ? MOD_PROTECTED : 0); 85 bits |= (binding.isStatic() ? MOD_STATIC : 0); 86 bits |= (binding.isFinal() ? MOD_FINAL : 0); 87 bits |= (binding.isAbstract() ? MOD_ABSTRACT : 0); 88 return bits; 89 } 90 91 static String [] modifierBitsToNames(int bits) { 92 List strings = new ArrayList (); 93 94 if (0 != (bits & MOD_PUBLIC)) { 97 strings.add("public"); 98 } 99 100 if (0 != (bits & MOD_PRIVATE)) { 101 strings.add("private"); 102 } 103 104 if (0 != (bits & MOD_PROTECTED)) { 105 strings.add("protected"); 106 } 107 108 if (0 != (bits & MOD_STATIC)) { 109 strings.add("static"); 110 } 111 112 if (0 != (bits & MOD_ABSTRACT)) { 113 strings.add("abstract"); 114 } 115 116 if (0 != (bits & MOD_FINAL)) { 117 strings.add("final"); 118 } 119 120 if (0 != (bits & MOD_NATIVE)) { 121 strings.add("native"); 122 } 123 124 if (0 != (bits & MOD_TRANSIENT)) { 125 strings.add("transient"); 126 } 127 128 if (0 != (bits & MOD_VOLATILE)) { 129 strings.add("volatile"); 130 } 131 132 return (String []) strings.toArray(NO_STRINGS); 133 } 134 135 } 136 | Popular Tags |