diff --git a/hscript/Expr.hx b/hscript/Expr.hx index 69efe8d..02c84f0 100644 --- a/hscript/Expr.hx +++ b/hscript/Expr.hx @@ -122,6 +122,7 @@ enum Error { enum ModuleDecl { DPackage( path : Array ); DImport( path : Array, ?everything : Bool, ?name : String ); + DUsing( path: Array ); DClass( c : ClassDecl ); DTypedef( c : TypeDecl ); DEnum( e : EnumDecl ); diff --git a/hscript/Parser.hx b/hscript/Parser.hx index 08e1d2e..da7f9e5 100644 --- a/hscript/Parser.hx +++ b/hscript/Parser.hx @@ -1194,6 +1194,24 @@ class Parser { } ensure(TSemicolon); return DImport(path, star, name); + case "using": + var path = [getIdent()]; + while( true ) { + var t = token(); + if( t != TDot ) { + push(t); + break; + } + t = token(); + switch( t ) { + case TId(id): + path.push(id); + default: + unexpected(t); + } + } + ensure(TSemicolon); + return DUsing(path); case "class": var name = getIdent(); var params = parseParams();