public void Convert(Converters.ICodeConverter converter, IProcessInstance proc, FinalFile file) { if (proc.CurrentScope.Exists(proc.DefaultWriter)) { this.defaultWriter = proc.DefaultWriter; converter.Convert(this); } }
public void Convert(Converters.ICodeConverter converter, IProcessInstance proc, FinalFile file) { this.cachedProc = proc; if (converter.ImplementedFunctions.Exists(new Predicate <IFunction>(delegate(IFunction f) { return(f.StrictName == CallSkeleton.SpecialChars(this.name)); }))) { converter.Convert(this); } else { throw new Exception("Pour convertir le programme, les processus doivent être déclarés auparavant; le processus '" + this.name + "' n'a pas été déclaré auparavant"); } }
public void Convert(Converters.ICodeConverter converter, IProcessInstance proc, FinalFile file) { o2Mate.Expression expr = new o2Mate.Expression(); this.directories = new List <string>(); for (int index = 0; index < this.filePath.Count - 1; ++index) { string expression = this.filePath[index]; string path = Helper.ConvertNewExpression(this.cachedComp, proc, converter, expression, EnumDataType.E_STRING_OBJECT); this.directories.Add(path); } this.fileName = new List <string>(); { string expression = this.filePath[this.filePath.Count - 1]; string[] split = expression.Split('.'); foreach (string s in split) { string path = Helper.ConvertNewExpression(this.cachedComp, proc, converter, s, EnumDataType.E_STRING_OBJECT); this.fileName.Add(path); } } if (proc.CurrentScope.Exists(this.writerName)) { this.newWriter = proc.CurrentScope.GetVariable(this.writerName); if (this.newWriter.TypeExists(EnumDataType.E_WRITER)) { proc.CurrentScope.Update(this.writerName, "", this.newWriter.PrefixInfo(EnumDataType.E_WRITER).BelongsTo, false, EnumDataType.E_WRITER); this.cachedComp.UpdateParameters(converter, proc, this.writerName, true); } else { this.newWriter = proc.CurrentScope.Update(this.writerName, "", proc.Name, false, EnumDataType.E_WRITER); IStructure st = converter.CreateNewField(converter.RootStructureInstance, this.newWriter, false); converter.CurrentFunction.LocalVariables.Add(st); } } else { this.newWriter = proc.CurrentScope.Add(this.writerName, "", proc.Name, false, EnumDataType.E_WRITER); IStructure st = converter.CreateNewField(converter.RootStructureInstance, this.newWriter, false); converter.CurrentFunction.LocalVariables.Add(st); } converter.Convert(this); }
public void Convert(Converters.ICodeConverter converter, IProcessInstance proc, FinalFile file) { this.defaultWriter = proc.DefaultWriter; converter.Convert(this); }