public static ARCHETYPE BuildFromAdlFile(string adlFilePath, CloneConstraintVisitor visitor) { [email protected]_INTERFACE adlParser = [email protected]_INTERFACE.make(); adlParser.open_adl_file(Eiffel.String(adlFilePath)); // check file opened successfully by checking status if (!adlParser.archetype_source_loaded()) { throw new ApplicationException(adlFilePath + "\n" + adlParser.status().to_cil()); } return(BuildFromAdlParser(adlParser, visitor)); }
public static ARCHETYPE BuildFromAdlParser([email protected]_INTERFACE adlParser, CloneConstraintVisitor visitor) { if (adlParser == null) { throw new ArgumentNullException("adlParser must not be null"); } adlParser.parse_archetype(); if (!adlParser.parse_succeeded()) { throw new ApplicationException("ADL parsing failed\n" + adlParser.status().to_cil()); } if (!adlParser.archetype_available()) { throw new ApplicationException("ADL archetype unavailable after parsing\n" + adlParser.status().to_cil()); } return(Build(adlParser.adl_engine().archetype(), visitor)); }