-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathICompiler.cs
More file actions
62 lines (51 loc) · 1.72 KB
/
Copy pathICompiler.cs
File metadata and controls
62 lines (51 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSharpCode.NRefactory.Semantics;
using ICSharpCode.NRefactory.CSharp;
using JSharp.Java.Ast;
using ICSharpCode.NRefactory.TypeSystem;
namespace JSharp.Compiler
{
/// <summary>
/// Compiler events by order:
/// ParseCs
/// ApplyExternalMetadata
/// ConvertCsToJs
/// MergeJsFiles
/// InjectJsCode
/// OptimizeJsFiles
/// SaveJsFiles
/// EmbedResources
/// SaveNewManifest
/// </summary>
public interface ICompiler
{
#region Events
event Action BeforeParseCs;
event Action BeforeApplyExternalMetadata;
event Action BeforeConvertCsToJs;
//event Action BeforeEmbedResources;
event Action BeforeSaveNewManifest;
event Action BeforeExit;
event Action AfterParseCs;
event Action AfterApplyExternalMetadata;
event Action AfterConvertCsToJs;
event Action AfterSaveJsFiles;
//event Action AfterEmbedResources;
event Action AfterSaveNewManifest;
event Action<IEntity> BeforeConvertCsToJsEntity;
//event Action<IEntity, JNode> AfterConvertCsToJsEntity;
event Action<AstNode> BeforeConvertCsToJsAstNode;
//event Action<AstNode, JNode> AfterConvertCsToJsAstNode;
event Action<ResolveResult> BeforeConvertCsToJsResolveResult;
//event Action<ResolveResult, JNode> AfterConvertCsToJsResolveResult;
#endregion
#region Properties
ICompilation CsCompilation { get; }
//List<SkJsFile> SkJsFiles { get; }
ICustomAttributeProvider CustomAttributeProvider { get; }
#endregion
}
}