# See the License for the specific language governing permissions and
# limitations under the License.
-# This package is used to load a metamodel
+# This module is used to load a metamodel
package mmloader
import metamodel
import location
class Message
-special Comparable
+ super Comparable
redef type OTHER: Message
readable var _location: nullable Location
end
redef fun to_s: String do
- if location == null then
+ var l = location
+ if l == null then
return text
else
- return "{location}: {text}"
+ return "{l}: {text}"
end
end
end
# Global context for tools
class ToolContext
-special MMContext
+ super MMContext
# Number of errors
readable var _error_count: Int = 0
protected fun parse_file(context: ToolContext, file: IFStream, filename: String, module_name: Symbol, dir: MMDirectory): MODULE is abstract
# Process a parsed module
- protected fun process_metamodel(context: ToolContext, module: MODULE) is abstract
+ protected fun process_metamodel(context: ToolContext, mod: MODULE) is abstract
end
redef class MMModule