@Override public LexNameSet caseAMkTypeExp(AMkTypeExp node, FreeVarInfo info) throws AnalysisException { LexNameSet names = new LexNameSet(node.getTypeName()); for (PExp arg: node.getArgs()) { names.addAll(arg.apply(this, info)); } return names; }
if(node.getTypeName() != null ) node.getTypeName().apply(this);
if(node.getTypeName() != null ) node.getTypeName().apply(this, question);
if(node.getTypeName() != null ) node.getTypeName().apply(this);
if(node.getTypeName() != null ) mergeReturns(retVal,node.getTypeName().apply(this, question));
if(node.getTypeName() != null ) mergeReturns(retVal,node.getTypeName().apply(this));
@Override public PType caseAMkTypeExp(AMkTypeExp node, TypeCheckInfo question) throws AnalysisException PDefinition typeDef = question.env.findType(node.getTypeName(), node.getLocation().getModule()); TypeCheckerErrors.report(3126, "Unknown type '" + node.getTypeName() + "' in constructor", node.getLocation(), node); node.setType(AstFactory.newAUnknownType(node.getLocation())); TypeCheckerErrors.report(3127, "Type '" + node.getTypeName() + "' is not a record type", node.getLocation(), node); node.setType(rec); TypeCheckerErrors.report(3127, "Type '" + node.getTypeName() + "' is not a record type", node.getLocation(), node); node.setType(rec); if (node.getTypeName().getExplicit())