@Override public IClass lookupClass(TypeName className) { IClass pc = parent.lookupClass(className); if (pc == null) { IClass c = syntheticClasses.get(className); return c; } else { return pc; } }
@Override public IClass lookupClass(TypeName className) { IClass pc = parent.lookupClass(className); if (pc == null) { IClass c = syntheticClasses.get(className); return c; } else { return pc; } }
@Override public IClass getSuperclass() { if (realType.isInterface()) { IClass result = loader.lookupClass(TypeReference.JavaLangObject.getName()); if (result != null) { return result; } else { throw new IllegalStateException("could not find java.lang.Object"); } } else return realType; }
@Override public IClass getSuperclass() { if (realType.isInterface()) { IClass result = loader.lookupClass(TypeReference.JavaLangObject.getName()); if (result != null) { return result; } else { throw new IllegalStateException("could not find java.lang.Object"); } } else return realType; }
@Override public IField getField(Atom name, TypeName type) { // assume that for AST classes, you can't have multiple fields with the same name return loader.lookupClass(superReference.getName()).getField(name); }
@Override public IField getField(Atom name, TypeName type) { // assume that for AST classes, you can't have multiple fields with the same name return loader.lookupClass(superReference.getName()).getField(name); }
@Override public IMethod getMethod(Selector selector) { if (selector.equals(AstMethodReference.fnSelector)) { return functionBody; } else { return loader.lookupClass(superReference.getName()).getMethod(selector); } }
@Override public IMethod getMethod(Selector selector) { if (selector.equals(AstMethodReference.fnSelector)) { return functionBody; } else { return loader.lookupClass(superReference.getName()).getMethod(selector); } }
@Override public Collection<IClass> getAllImplementedInterfaces() { HashSet<IClass> result = HashSetFactory.make(2); for (TypeReference ref : getClassLoader().getLanguage().getArrayInterfaces()) { IClass klass = loader.lookupClass(ref.getName()); if (klass != null) { result.add(klass); } } return result; }
@Override public Collection<IClass> getAllImplementedInterfaces() { HashSet<IClass> result = HashSetFactory.make(2); for (TypeReference ref : getClassLoader().getLanguage().getArrayInterfaces()) { IClass klass = loader.lookupClass(ref.getName()); if (klass != null) { result.add(klass); } } return result; }
private void computeSuperclass() { superclassComputed = true; if (superName == null) { if (!getReference().equals(loader.getLanguage().getRootType())) { superClass = loader.lookupClass(loader.getLanguage().getRootType().getName()); } return; } superClass = loader.lookupClass(TypeName.findOrCreate(superName)); }
/** * @return the IClass that represents the array element type, or null if the element type is a primitive */ public IClass getElementClass() { TypeReference elementType = getReference().getArrayElementType(); if (elementType.isPrimitiveType()) { return null; } return loader.lookupClass(elementType.getName()); }
/** * @return the IClass that represents the innermost array element type, or null if the element type is a primitive */ public IClass getInnermostElementClass() { TypeReference elementType = getReference().getInnermostElementType(); if (elementType.isPrimitiveType()) { return null; } return loader.lookupClass(elementType.getName()); }
/** * @return the IClass that represents the array element type, or null if the element type is a primitive */ public IClass getElementClass() { TypeReference elementType = getReference().getArrayElementType(); if (elementType.isPrimitiveType()) { return null; } return loader.lookupClass(elementType.getName()); }
private void computeSuperclass() { superclassComputed = true; if (superName == null) { if (!getReference().equals(loader.getLanguage().getRootType())) { superClass = loader.lookupClass(loader.getLanguage().getRootType().getName()); } return; } superClass = loader.lookupClass(TypeName.findOrCreate(superName)); }
/** * @return the IClass that represents the innermost array element type, or null if the element type is a primitive */ public IClass getInnermostElementClass() { TypeReference elementType = getReference().getInnermostElementType(); if (elementType.isPrimitiveType()) { return null; } return loader.lookupClass(elementType.getName()); }
private int registerMultiDimArraysForArrayOfObjectTypes(int dim, int index, ArrayClass aClass) { for (int i = 1; i < dim; i++) { TypeReference jlo = makeArray(TypeReference.JavaLangObject, i); IClass jloClass = null; jloClass = aClass.getClassLoader().lookupClass(jlo.getName()); MutableIntSet set = findOrCreateSparseSetForClass(jloClass); set.add(index); } return dim; }
private int registerMultiDimArraysForArrayOfObjectTypes(int dim, int index, ArrayClass aClass) { for (int i = 1; i < dim; i++) { TypeReference jlo = makeArray(TypeReference.JavaLangObject, i); IClass jloClass = null; jloClass = aClass.getClassLoader().lookupClass(jlo.getName()); MutableIntSet set = findOrCreateSparseSetForClass(jloClass); set.add(index); } return dim; }
@Override protected void declareFunction(CAstEntity N, WalkContext definingContext) { CAstType.Method methodType = (Method) N.getType(); CAstType owningType = methodType.getDeclaringType(); IClass owner = loader.lookupClass(makeType(owningType).getName()); assert owner != null || exclusions.contains(owningType.getName()) : makeType(owningType).getName().toString() + " not found in " + loader; if (owner != null && N.getQualifiers().contains(CAstQualifier.ABSTRACT)) { ((JavaSourceLoaderImpl) loader).defineAbstractFunction(N, owner); } }
@Override protected void declareFunction(CAstEntity N, WalkContext definingContext) { CAstType.Method methodType = (Method) N.getType(); CAstType owningType = methodType.getDeclaringType(); IClass owner = loader.lookupClass(makeType(owningType).getName()); assert owner != null || exclusions.contains(owningType.getName()) : makeType(owningType).getName().toString() + " not found in " + loader; if (owner != null && N.getQualifiers().contains(CAstQualifier.ABSTRACT)) { ((JavaSourceLoaderImpl) loader).defineAbstractFunction(N, owner); } }