@@ -12,9 +12,10 @@ alias string Layer; enum : Layer { - SystemLayer = "(system)", /// Predefined layer for internal data + LiftLayer = "(lift)", /// Predefined layer for storing lift functions + NoopLayer = "(noop)", /// Predefined layer for just allocating a slot for table ValueLayer = "@value", /// Predefined layer for normal run MacroLayer = "@macro", /// Predefined layer for macro run (@lay() changes layer) RawMacroLayer = "(rawmacro)", /// Predefined layer for macro run (@lay() becomes AST) } @@ -22,14 +23,15 @@ /// True if it is a user-defined layer bool isUserDefinedLayer( Layer lay ) { - return lay!=SystemLayer && lay!=ValueLayer && lay!=MacroLayer && lay!=RawMacroLayer; + return lay!=NoopLayer && lay!=LiftLayer && lay!=ValueLayer && lay!=MacroLayer && lay!=RawMacroLayer; } unittest { - assert( !isUserDefinedLayer(SystemLayer) ); + assert( !isUserDefinedLayer(NoopLayer) ); + assert( !isUserDefinedLayer(LiftLayer) ); assert( !isUserDefinedLayer(ValueLayer) ); assert( !isUserDefinedLayer(MacroLayer) ); assert( !isUserDefinedLayer(RawMacroLayer) ); assert( isUserDefinedLayer("@foo") ); @@ -43,9 +45,10 @@ } unittest { - assert( !isASTLayer(SystemLayer) ); + assert( !isASTLayer(NoopLayer) ); + assert( !isASTLayer(LiftLayer) ); assert( !isASTLayer(ValueLayer) ); assert( isASTLayer(MacroLayer) ); assert( isASTLayer(RawMacroLayer) ); } @@ -58,9 +61,10 @@ } unittest { - assert( !isNoLayerChangeLayer(SystemLayer) ); + assert( !isNoLayerChangeLayer(NoopLayer) ); + assert( !isNoLayerChangeLayer(LiftLayer) ); assert( !isNoLayerChangeLayer(ValueLayer) ); assert( !isNoLayerChangeLayer(MacroLayer) ); assert( isNoLayerChangeLayer(RawMacroLayer) ); } @@ -73,9 +77,10 @@ } unittest { - assert( !isMacroLayer(SystemLayer) ); + assert( !isMacroLayer(NoopLayer) ); + assert( !isMacroLayer(LiftLayer) ); assert( !isMacroLayer(ValueLayer) ); assert( isMacroLayer(MacroLayer) ); assert( isMacroLayer(RawMacroLayer) ); }