< prev index next >

buildtools/nasgen/src/jdk/nashorn/internal/tools/nasgen/ScriptClassInfo.java

Print this page




 109     MemberInfo getConstructor() {
 110         for (final MemberInfo memInfo : members) {
 111             if (memInfo.getKind() == Kind.CONSTRUCTOR) {
 112                 return memInfo;
 113             }
 114         }
 115         return null;
 116     }
 117 
 118     List<MemberInfo> getSpecializedConstructors() {
 119         final List<MemberInfo> res = new LinkedList<>();
 120         for (final MemberInfo memInfo : members) {
 121             if (memInfo.isSpecializedConstructor()) {
 122                 assert memInfo.getKind() == Kind.SPECIALIZED_FUNCTION;
 123                 res.add(memInfo);
 124             }
 125         }
 126         return Collections.unmodifiableList(res);
 127     }
 128 
























 129     int getPrototypeMemberCount() {
 130         int count = 0;
 131         for (final MemberInfo memInfo : members) {
 132             if (memInfo.getWhere() == Where.PROTOTYPE || memInfo.isConstructor()) {








 133                 count++;
 134             }
 135         }
 136         return count;
 137     }
 138 
 139     int getConstructorMemberCount() {
 140         int count = 0;
 141         for (final MemberInfo memInfo : members) {










 142             if (memInfo.getWhere() == Where.CONSTRUCTOR) {
 143                 count++;
 144             }
 145         }
 146         return count;
 147     }
 148 
 149     int getInstancePropertyCount() {
 150         int count = 0;
 151         for (final MemberInfo memInfo : members) {








 152             if (memInfo.getWhere() == Where.INSTANCE) {
 153                 count++;
 154             }
 155         }
 156         return count;
 157     }
 158 
 159     MemberInfo find(final String findJavaName, final String findJavaDesc, final int findAccess) {
 160         for (final MemberInfo memInfo : members) {
 161             if (memInfo.getJavaName().equals(findJavaName) &&
 162                 memInfo.getJavaDesc().equals(findJavaDesc) &&
 163                 memInfo.getJavaAccess() == findAccess) {
 164                 return memInfo;
 165             }
 166         }
 167         return null;
 168     }
 169 
 170     List<MemberInfo> findSpecializations(final String methodName) {
 171         final List<MemberInfo> res = new LinkedList<>();




 109     MemberInfo getConstructor() {
 110         for (final MemberInfo memInfo : members) {
 111             if (memInfo.getKind() == Kind.CONSTRUCTOR) {
 112                 return memInfo;
 113             }
 114         }
 115         return null;
 116     }
 117 
 118     List<MemberInfo> getSpecializedConstructors() {
 119         final List<MemberInfo> res = new LinkedList<>();
 120         for (final MemberInfo memInfo : members) {
 121             if (memInfo.isSpecializedConstructor()) {
 122                 assert memInfo.getKind() == Kind.SPECIALIZED_FUNCTION;
 123                 res.add(memInfo);
 124             }
 125         }
 126         return Collections.unmodifiableList(res);
 127     }
 128 
 129     boolean isConstructorNeeded() {
 130         // Constructor class generation is needed if we one or
 131         // more constructor properties are defined or @Constructor
 132         // is defined in the class.
 133         for (final MemberInfo memInfo : members) {
 134             if (memInfo.getKind() == Kind.CONSTRUCTOR ||
 135                 memInfo.getWhere() == Where.CONSTRUCTOR) {
 136                 return true;
 137             }
 138         }
 139         return false;
 140     }
 141 
 142     boolean isPrototypeNeeded() {
 143         // Prototype class generation is needed if we have atleast one
 144         // prototype property or @Constructor defined in the class.
 145         for (final MemberInfo memInfo : members) {
 146             if (memInfo.getWhere() == Where.PROTOTYPE || memInfo.isConstructor()) {
 147                 return true;
 148             }
 149         }
 150         return false;
 151     }
 152 
 153     int getPrototypeMemberCount() {
 154         int count = 0;
 155         for (final MemberInfo memInfo : members) {
 156             switch (memInfo.getKind()) {
 157                 case SETTER:
 158                 case SPECIALIZED_FUNCTION:
 159                     // SETTER was counted when GETTER was encountered.
 160                     // SPECIALIZED_FUNCTION was counted as FUNCTION already.
 161                     continue;
 162             }
 163 
 164             if (memInfo.getWhere() == Where.PROTOTYPE) {
 165                 count++;
 166             }
 167         }
 168         return count;
 169     }
 170 
 171     int getConstructorMemberCount() {
 172         int count = 0;
 173         for (final MemberInfo memInfo : members) {
 174             switch (memInfo.getKind()) {
 175                 case CONSTRUCTOR:
 176                 case SETTER:
 177                 case SPECIALIZED_FUNCTION:
 178                     // SETTER was counted when GETTER was encountered.
 179                     // Constructor and constructor SpecializedFunctions
 180                     // are not added as members and so not counted.
 181                     continue;
 182             }
 183 
 184             if (memInfo.getWhere() == Where.CONSTRUCTOR) {
 185                 count++;
 186             }
 187         }
 188         return count;
 189     }
 190 
 191     int getInstancePropertyCount() {
 192         int count = 0;
 193         for (final MemberInfo memInfo : members) {
 194             switch (memInfo.getKind()) {
 195                 case SETTER:
 196                 case SPECIALIZED_FUNCTION:
 197                     // SETTER was counted when GETTER was encountered.
 198                     // SPECIALIZED_FUNCTION was counted as FUNCTION already.
 199                     continue;
 200             }
 201 
 202             if (memInfo.getWhere() == Where.INSTANCE) {
 203                 count++;
 204             }
 205         }
 206         return count;
 207     }
 208 
 209     MemberInfo find(final String findJavaName, final String findJavaDesc, final int findAccess) {
 210         for (final MemberInfo memInfo : members) {
 211             if (memInfo.getJavaName().equals(findJavaName) &&
 212                 memInfo.getJavaDesc().equals(findJavaDesc) &&
 213                 memInfo.getJavaAccess() == findAccess) {
 214                 return memInfo;
 215             }
 216         }
 217         return null;
 218     }
 219 
 220     List<MemberInfo> findSpecializations(final String methodName) {
 221         final List<MemberInfo> res = new LinkedList<>();


< prev index next >