From 431dd3c3d22f71969c6a03178a874e476e514d6d Mon Sep 17 00:00:00 2001 From: Dmitry Olshansky Date: Tue, 5 Mar 2013 23:17:40 +0400 Subject: [PATCH] kill foreach opApply iteration (too slow) --- std/d/ast.d | 20 ++++++++++---------- std/d/lexer.d | 37 ++----------------------------------- 2 files changed, 12 insertions(+), 45 deletions(-) diff --git a/std/d/ast.d b/std/d/ast.d index 0d50dcc..bc416c6 100644 --- a/std/d/ast.d +++ b/std/d/ast.d @@ -163,19 +163,19 @@ class AssignExpression { assert ( operator == TokenType.assign - || operator == TokenType.plusEqual - || operator == TokenType.minusEqual - || operator == TokenType.mulEqual - || operator == TokenType.divEqual - || operator == TokenType.modEqual - || operator == TokenType.bitAndEqual - || operator == TokenType.bitOrEqual - || operator == TokenType.xorEqual - || operator == TokenType.catEqual + || operator == TokenType.plusEquals + || operator == TokenType.minusEquals + || operator == TokenType.mulEquals + || operator == TokenType.divEquals + || operator == TokenType.modEquals + || operator == TokenType.bitAndEquals + || operator == TokenType.bitOrEquals + || operator == TokenType.xorEquals + || operator == TokenType.catEquals || operator == TokenType.shiftLeftEqual || operator == TokenType.shiftRightEqual || operator == TokenType.unsignedShiftRightEqual - || operator == TokenType.powEqual + || operator == TokenType.powEquals ); } } diff --git a/std/d/lexer.d b/std/d/lexer.d index 3b4af68..e60d9e5 100644 --- a/std/d/lexer.d +++ b/std/d/lexer.d @@ -102,7 +102,7 @@ * * Copyright: Brian Schott 2013 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt Boost, License 1.0) - * Authors: Brian Schott, Dmitry Olshansky +* Authors: Brian Schott, Dmitry Olshansky * Source: $(PHOBOSSRC std/d/_lexer.d) */ @@ -357,40 +357,7 @@ struct TokenRange(LexSrc) popFront(); return r; } - - /** - * Foreach operation - */ - int opApply(int delegate(Token) dg) - { - int result = 0; - while (!empty) - { - result = dg(front); - if (result) - break; - popFront(); - } - return result; - } - - /** - * Foreach operation - */ - int opApply(int delegate(size_t, Token) dg) - { - int result = 0; - int i = 0; - while (!empty) - { - result = dg(i, front); - if (result) - break; - popFront(); - } - return result; - } - + /** * Removes the current token from the range */