|
33 | 33 |
|
34 | 34 | 'rule' GeneratePackages(List): |
35 | 35 | OutputLCBBegin() |
36 | | - OutputWrite("module com.livecode.wrapped.java \n\n") |
| 36 | + GetOutputLCBModuleName(-> ModuleName) |
| 37 | + OutputWriteS("module ", ModuleName, " \n\n") |
37 | 38 | OutputWrite("use com.livecode.java\n") |
38 | 39 | GeneratingPackageIndex <- 1 |
39 | 40 | GenerateForEachPackage(List) |
|
53 | 54 |
|
54 | 55 | 'action' GenerateSinglePackage(PACKAGE) |
55 | 56 |
|
56 | | - 'rule' GenerateSinglePackage(Package:package(_, _, WrappedId, Definitions)): |
57 | | - ModuleDependencyList <- nil |
58 | | - ResolveIdName(WrappedId -> Name) |
59 | | - OutputWriteI("/* module ", Name, " */\n\n") |
60 | | - OutputWrite("/* use com.livecode.java */\n") |
61 | | - CollectImports(Definitions) |
62 | | - ModuleDependencyList -> List |
63 | | - OutputImports(List) |
64 | | - OutputWrite("\n") |
| 57 | + 'rule' GenerateSinglePackage(Package:package(_, _, Definitions)): |
65 | 58 | GenerateForeignHandlers(Definitions) |
66 | 59 | OutputWrite("\n") |
67 | 60 | GenerateDefinitions(Definitions) |
68 | | - OutputWrite("/* end module */\n\n") |
69 | 61 |
|
70 | 62 | ---------- |
71 | 63 |
|
72 | | -'condition' IsNameInList(NAME, NAMELIST) |
73 | | - 'rule' IsNameInList(Id, namelist(Head, Tail)): |
74 | | - IsNameEqualToName(Id, Head) |
75 | | - 'rule' IsNameInList(Id, namelist(Head, Tail)): |
76 | | - IsNameInList(Id, Tail) |
77 | | - |
78 | | -'action' AddModuleToDependencyList(NAME) |
79 | | - |
80 | | - 'rule' AddModuleToDependencyList(Name): |
81 | | - ModuleDependencyList -> List |
82 | | - IsNameInList(Name, List) |
83 | | - |
84 | | - 'rule' AddModuleToDependencyList(Name): |
85 | | - ModuleDependencyList -> List |
86 | | - ModuleDependencyList <- namelist(Name, List) |
87 | | - |
88 | | -'action' CollectImports(DEFINITION) |
89 | | - |
90 | | - 'rule' CollectImports(nil): |
91 | | - -- done |
92 | | - |
93 | | - 'rule' CollectImports(sequence(Head, Tail)): |
94 | | - CollectImport(Head) |
95 | | - CollectImports(Tail) |
96 | | - |
97 | | -'action' CollectImport(DEFINITION) |
98 | | - |
99 | | - 'rule' CollectImport(use(_, Id)) |
100 | | - QueryId(Id -> Meaning) |
101 | | - QuerySymbolId(Id -> Info) |
102 | | - Info'Type -> Type |
103 | | -
|
104 | | - Info'Parent -> PackageId |
105 | | - |
106 | | - QueryPackageId(PackageId -> PackageInfo) |
107 | | - PackageInfo'Alias -> Alias |
108 | | - ResolveIdName(Alias -> Name) |
109 | | -
|
110 | | - AddModuleToDependencyList(Name) |
111 | | -
|
112 | | - -- Fetch the info about the symbol. |
113 | | - QuerySymbolId(Id -> SymbolInfo) |
114 | | - SymbolInfo'Kind -> SymbolKind |
115 | | - SymbolInfo'Type -> SymbolType |
116 | | -
|
117 | | - GeneratingPackageIndex -> Generator |
118 | | - SymbolInfo'Generator <- Generator |
119 | | - |
120 | | - 'rule' CollectImport(Id): |
121 | | - -- If we get here then either the id isn't imported, or we have previously |
122 | | - -- generated it. |
123 | | -
|
124 | | -'action' OutputImports(NAMELIST) |
125 | | -
|
126 | | - 'rule' OutputImports(nil): |
127 | | - -- done |
128 | | -
|
129 | | - 'rule' OutputImports(namelist(Head, Tail)): |
130 | | - OutputImport(Head) |
131 | | - OutputImports(Tail) |
132 | | -
|
133 | | -'action' OutputImport(NAME) |
134 | | -
|
135 | | - 'rule' OutputImport(Name): |
136 | | - OutputWriteI("/* use ", Name, " */\n") |
137 | | ----- |
138 | | -
|
139 | 64 | 'action' GenerateForeignHandlers(DEFINITION) |
140 | 65 |
|
141 | 66 | 'rule' GenerateForeignHandlers(sequence(Head, Tail)): |
|
0 commit comments