Import aliases for Custom Classes
Import aliases support for Custom Classes. This allows you to import classes and other custom classes with an alias inside of a Custom Class. This includes some improvements on "parseModuleDecl()"
This commit is contained in:
@@ -152,22 +152,23 @@ class CustomClass implements IHScriptCustomAccessBehaviour{
|
||||
var i:Int = 0;
|
||||
for(_import in __class.imports) {
|
||||
var importedClass = _import.fullPath;
|
||||
var importAlias = _import.as;
|
||||
|
||||
if(Interp.customClassExist(importedClass) && this.interp.importFailedCallback != null) {
|
||||
this.interp.importFailedCallback(importedClass.split("."));
|
||||
this.interp.importFailedCallback(importedClass.split("."), importAlias);
|
||||
continue;
|
||||
}
|
||||
|
||||
#if hscriptPos
|
||||
var e:Expr = {
|
||||
e: ExprDef.EImport(importedClass),
|
||||
e: ExprDef.EImport(importedClass, importAlias),
|
||||
pmin: 0,
|
||||
pmax: 0,
|
||||
origin: this.className,
|
||||
line: i
|
||||
};
|
||||
#else
|
||||
var e = Expr.EImport(importedClass);
|
||||
var e = Expr.EImport(importedClass, importAlias);
|
||||
#end
|
||||
this.interp.expr(e);
|
||||
i++;
|
||||
|
||||
@@ -157,4 +157,5 @@ typedef CustomClassImport = {
|
||||
var ?name:String;
|
||||
var ?pkg:Array<String>;
|
||||
var ?fullPath:String; // pkg.pkg.pkg.name
|
||||
var ?as:Null<String>; // import pkg.Name as OtherName
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user