Beispiel #1
0
        public ProjectCompileResult Compile(ZProjectModel zCompileProjectModel)
        {
            this.projectModel = zCompileProjectModel;
            //result = new ProjectCompileResult();
            projectContext = new ContextProject(projectModel);
            //projectContext.ProjectModel = projectModel;
            LoadProjectRef();
            CompileUtil.GenerateBinary(projectContext);

            ParseFiles();

            CompileEnum();
            AnalyImportUse();
            AnalyDimAndClassName();
            EmitDimAndClassName();

            CompileFileDim();
            CompileClass();

            //result.CompiledTypes.AddRange(this.projectContext.GeneratedTypeManager.EmitedZDescTypeDictionary.Values);
            SetEntry();
            if (zCompileProjectModel.NeedSave)
            {
                SaveBinary();
            }

            return(projectContext.CompileResult);
        }
Beispiel #2
0
        public ProjectCompileResult Compile()
        {
            if (this.projectModel == null || ProjectContext.ProjectModel == null)
            {
                throw new CCException();
            }

            LoadProjectRef();
            CompileUtil.GenerateBinary(ProjectContext);
            CompileFiles();

            SetEntry();
            if (this.projectModel.NeedSave)
            {
                SaveBinary();
            }

            result.CompiledTypes.Clear();
            result.CompiledTypes.Add(this.ProjectContext.CompiledTypes);

            return(result);
        }