@Override public Collection<? extends PDefinition> caseAOperationExport( AOperationExport exp, LinkedList<PDefinition> actualDefs) throws AnalysisException { List<PDefinition> list = new Vector<PDefinition>(); for (ILexNameToken name : ((AOperationExport) exp).getNameList()) { PDefinition def = af.createPDefinitionListAssistant().findName(actualDefs, name, NameScope.NAMES); if (def != null) { list.add(def); } } return list; }
@Override public Collection<? extends PDefinition> caseAOperationExport( AOperationExport exp) throws AnalysisException { List<PDefinition> list = new Vector<PDefinition>(); for (ILexNameToken name : exp.getNameList()) { list.add(AstFactory.newALocalDefinition(name.getLocation(), name.clone(), NameScope.GLOBAL, exp.getExportType())); // new ALocalDefinition(name.location, NameScope.GLOBAL,true,null, // new AAccessSpecifierAccessSpecifier(new APublicAccess(),new TStatic(),null), // ((AOperationExport)exp).getExportType(),false,name.clone())); } return list; }
List<ILexNameToken> copy = new ArrayList<ILexNameToken>(node.getNameList()); for( ILexNameToken e : copy)
List<ILexNameToken> copy = new ArrayList<ILexNameToken>(node.getNameList()); for( ILexNameToken e : copy)
List<ILexNameToken> copy = new ArrayList<ILexNameToken>(node.getNameList()); for( ILexNameToken e : copy)
@Override public SExportIR caseAOperationExport(AOperationExport node, IRInfo question) throws AnalysisException { AOperationExportIR opExportCg = new AOperationExportIR(); opExportCg.setNameList(consNames(node.getNameList())); opExportCg.setExportType(consExportType(node.getExportType(), question)); return addDecl(node, opExportCg, question); }
List<ILexNameToken> copy = new ArrayList<ILexNameToken>(node.getNameList()); for( ILexNameToken e : copy)
List<ILexNameToken> copy = new ArrayList<ILexNameToken>(node.getNameList()); for( ILexNameToken e : copy)
public PType caseAOperationExport(AOperationExport exp, TypeCheckInfo question) throws AnalysisException { ITypeCheckerAssistantFactory af = question.assistantFactory; ModuleEnvironment menv = (ModuleEnvironment)question.env; for (ILexNameToken name : exp.getNameList()) { PDefinition def = af.createPDefinitionListAssistant().findName(menv.getDefinitions(), name, NameScope.NAMES); if (def == null) { TypeCheckerErrors.report(3185, "Exported operation " + name + " not defined in module", name.getLocation(), exp); } else { PType act = def.getType(); PType type = question.assistantFactory.createPTypeAssistant().typeResolve(exp.getExportType(), null, THIS, question); exp.setExportType(type); if (act != null && !af.createPTypeAssistant().equals(act, type)) { TypeCheckerErrors.report(3186, "Exported operation type does not match actual type", name.getLocation(), exp); TypeCheckerErrors.detail2("Exported", type, "Actual", act); } } } return null; }