public AClassTypeIR consClassType(String classTypeName) { AClassTypeIR classType = new AClassTypeIR(); classType.setName(classTypeName); return classType; }
/** * Creates a new complete constructor {@code AClassTypeIR} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param types_ the {@link NodeList} node for the {@code types} child of this {@link AClassTypeIR} node * @param name_ the {@link String} node for the {@code name} child of this {@link AClassTypeIR} node */ public AClassTypeIR(SourceNode sourceNode_, Object tag_, List<? extends ClonableString> metaData_, Boolean optional_, ANamedTypeDeclIR namedInvType_, List<? extends STypeIR> types_, String name_) { super(sourceNode_,tag_,metaData_,optional_,namedInvType_); this.setTypes(types_); this.setName(name_); }
/** * Creates a new tree field only constructor {@code AClassTypeIR TAG=class} node with the given nodes as children. * @deprecated This method should not be used, use AstFactory instead. * The basic child nodes are removed from their previous parents. * @param types_ the {@link NodeList} node for the {@code types} child of this {@link AClassTypeIR} node * @param name_ the {@link String} node for the {@code name} child of this {@link AClassTypeIR} node */ public AClassTypeIR(Boolean optional_, ANamedTypeDeclIR namedInvType_, List<? extends STypeIR> types_, String name_) { super(null,null,null,optional_,namedInvType_); this.setTypes(types_); this.setName(name_); }
@Override public void caseAClassTypeIR(AClassTypeIR node) throws AnalysisException { String name = node.getName(); if(mustRename(name)) { node.setName(consNewName(name)); } }
@Override public STypeIR caseAClassType(AClassType node, IRInfo question) throws AnalysisException { String typeName = node.getClassdef().getName().getName(); AClassTypeIR classType = new AClassTypeIR(); classType.setName(typeName); return classType; }
@Override public void caseAExplicitVarExpIR(AExplicitVarExpIR node) throws AnalysisException { String pack = javaGen.getJavaSettings().getJavaRootPackage(); if (JavaCodeGenUtil.isValidJavaPackage(pack)) { STypeIR type = node.getClassType(); if (type instanceof AClassTypeIR) { AClassTypeIR classType = (AClassTypeIR) type; classType.setName(pack + "." + classType.getName()); } else { log.error("Expected type of explicit variable to be a class type at this point. Got: " + type); } } }
private SVarExpIR consExplicitVar(String className, String name, boolean isLambda, STypeIR typeCg, boolean isLocalDef) { AExplicitVarExpIR varExp = new AExplicitVarExpIR(); AClassTypeIR classType = new AClassTypeIR(); classType.setName(className); varExp.setType(typeCg); varExp.setIsLocal(isLocalDef); varExp.setClassType(classType); varExp.setName(name); varExp.setIsLambda(isLambda); return varExp; }
@Override public SExpIR caseASelfObjectDesignatorIR(ASelfObjectDesignatorIR node) throws AnalysisException { ADefaultClassDeclIR enclosingClass = node.getAncestor(ADefaultClassDeclIR.class); String className = enclosingClass.getName(); SourceNode sourceNode = node.getSourceNode(); AClassTypeIR classType = new AClassTypeIR(); classType.setName(className); ASelfExpIR self = new ASelfExpIR(); self.setType(classType); self.setSourceNode(sourceNode); return self; }
innerclassType.setName(enclosingClass.getName() + "_sentinel"); history.setSentinelType(innerclassType); } else
private AFieldDeclIR consInstanceField(String name) { AClassTypeIR quoteClassType = new AClassTypeIR(); quoteClassType.setName(name); AFieldDeclIR field = new AFieldDeclIR(); field.setAccess(IJavaConstants.PRIVATE); field.setVolatile(false); field.setFinal(false); field.setStatic(true); field.setName(INSTANCE_FIELD); field.setType(quoteClassType); field.setInitial(info.getExpAssistant().consNullExp()); return field; }
private AMethodDeclIR consEqualsMethod(String name) { AIdentifierVarExpIR paramVar = transAssistant.getInfo().getExpAssistant().consIdVar(EQUALS_METHOD_PARAM, new AObjectTypeIR()); AClassTypeIR quoteClass = new AClassTypeIR(); quoteClass.setName(name); AIsOfClassExpIR instanceCheck = new AIsOfClassExpIR(); instanceCheck.setType(new ABoolBasicTypeIR()); instanceCheck.setExp(paramVar); instanceCheck.setCheckedType(quoteClass); AReturnStmIR checkReturned = new AReturnStmIR(); checkReturned.setExp(instanceCheck); AMethodDeclIR equalsMethod = consEqualMethodSignature(EQUALS_METHOD_PARAM); ABlockStmIR body = new ABlockStmIR(); body.getStatements().add(checkReturned); equalsMethod.setBody(body); return equalsMethod; }
public AMethodDeclIR consDefaultContructor(String name) { AMethodDeclIR constructor = new AMethodDeclIR(); AClassTypeIR classType = new AClassTypeIR(); classType.setName(name); AMethodTypeIR methodType = new AMethodTypeIR(); methodType.setResult(classType); constructor.setMethodType(methodType); constructor.setAccess(IRConstants.PUBLIC); constructor.setAbstract(false); constructor.setIsConstructor(true); constructor.setName(name); constructor.setImplicit(false); constructor.setBody(new ABlockStmIR()); return constructor; }
classType.setName(className);
classType.setName(defClass);
definingClass.setName(moduleName); definingClass.setSourceNode(node.getSourceNode());
public SVarExpIR idStateDesignatorToExp(AIdentifierStateDesignatorIR node) { if (node.getExplicit()) { AClassTypeIR classType = new AClassTypeIR(); classType.setName(node.getClassName()); AExplicitVarExpIR explicitVar = new AExplicitVarExpIR(); explicitVar.setClassType(classType); explicitVar.setIsLambda(false); explicitVar.setIsLocal(node.getIsLocal()); explicitVar.setName(node.getName()); explicitVar.setSourceNode(node.getSourceNode()); explicitVar.setTag(node.getTag()); explicitVar.setType(node.getType().clone()); return explicitVar; } else { AIdentifierVarExpIR idVar = consIdVar(node.getName(), node.getType().clone()); idVar.setTag(node.getTag()); idVar.setSourceNode(node.getSourceNode()); idVar.setIsLocal(node.getIsLocal()); return idVar; } }
private AMethodDeclIR consGetInstanceMethod(String name) quoteClassType.setName(name);
@Override public void caseAIdentifierVarExpIR(AIdentifierVarExpIR node) throws AnalysisException { INode var = AssistantBase.getVdmNode(node); if(var instanceof AVariableExp) { PDefinition def = ((AVariableExp) var).getVardef(); if(def instanceof ARenamedDefinition) { ARenamedDefinition renamedDef = (ARenamedDefinition) def; AClassTypeIR definingClass = new AClassTypeIR(); definingClass.setName(renamedDef.getDef().getName().getModule()); definingClass.setSourceNode(node.getSourceNode()); AExplicitVarExpIR expVar = new AExplicitVarExpIR(); expVar.setName(renamedDef.getDef().getName().getName()); expVar.setType(node.getType().clone()); expVar.setIsLambda(node.getIsLambda()); expVar.setIsLocal(node.getIsLocal()); expVar.setMetaData(node.getMetaData()); expVar.setTag(node.getTag()); expVar.setSourceNode(node.getSourceNode()); expVar.setClassType(definingClass); assist.replaceNodeWith(node, expVar); } } }
quoteClassType.setName(name);