diff --git a/runtime/src/main/java/dev/ionfusion/fusion/FusionSyntax.java b/runtime/src/main/java/dev/ionfusion/fusion/FusionSyntax.java index a15342c8..f2b5c290 100644 --- a/runtime/src/main/java/dev/ionfusion/fusion/FusionSyntax.java +++ b/runtime/src/main/java/dev/ionfusion/fusion/FusionSyntax.java @@ -145,8 +145,7 @@ static boolean unsafeFreeIdentifierEqual(Evaluator eval, /** * Provides the site where an identifier was bound. - * The result is only valid when the identifier is taked from fully-expanded - * code. + * The result is only valid when the identifier is from fully expanded code. *

* Based on Racket's {@code identifier-binding}. * @@ -157,7 +156,7 @@ static boolean unsafeFreeIdentifierEqual(Evaluator eval, static BindingSite unsafeIdentifierBinding(Evaluator eval, Object id) throws FusionException { - return ((SyntaxSymbol) id).uncachedResolve().getBindingSite(); + return ((SyntaxSymbol) id).resolve().getBindingSite(); } diff --git a/runtime/src/main/java/dev/ionfusion/fusion/SyntaxSymbol.java b/runtime/src/main/java/dev/ionfusion/fusion/SyntaxSymbol.java index 36eb1327..28f6d1c3 100644 --- a/runtime/src/main/java/dev/ionfusion/fusion/SyntaxSymbol.java +++ b/runtime/src/main/java/dev/ionfusion/fusion/SyntaxSymbol.java @@ -91,7 +91,7 @@ SyntaxSymbol copyReplacingBinding(Binding binding) { SyntaxSymbol copy = new SyntaxSymbol(getWraps(), getPosition(), getProperties(), getName()); - copy.myBoundId = uncachedResolveBoundIdentifier().copyReplacingBinding(binding); + copy.myBoundId = resolveBoundIdentifier().copyReplacingBinding(binding); return copy; } @@ -112,19 +112,6 @@ String stringValue() } - /** - * Resolves this identifier to a {@link BoundIdentifier}, but doesn't cache - * the result if it has not been previously resolved. - * - * @return not null. - */ - BoundIdentifier uncachedResolveBoundIdentifier() - { - if (myBoundId != null) return myBoundId; - - return myWraps.resolveBoundIdentifier(getName()); - } - /** * Resolves this identifier to a {@link BoundIdentifier}, permanently * caching the result. @@ -135,7 +122,7 @@ BoundIdentifier resolveBoundIdentifier() { if (myBoundId == null) { - myBoundId = uncachedResolveBoundIdentifier(); + myBoundId = myWraps.resolveBoundIdentifier(getName()); } return myBoundId; } @@ -154,18 +141,6 @@ Binding resolve() } - /** - * Resolves this identifier, but doesn't cache the result if it has not - * been previously resolved. - * - * @return not null, but maybe a {@link FreeBinding}. - */ - Binding uncachedResolve() - { - return uncachedResolveBoundIdentifier().getBinding(); - } - - /** * Resolves this identifier, but doesn't cache the result if it has not * been previously resolved. @@ -270,15 +245,15 @@ SyntaxValue doExpand(Expander expander, Environment env) boolean boundIdentifierEqual(SyntaxSymbol that) { - BoundIdentifier thisId = this.uncachedResolveBoundIdentifier(); - BoundIdentifier thatId = that.uncachedResolveBoundIdentifier(); + BoundIdentifier thisId = this.resolveBoundIdentifier(); + BoundIdentifier thatId = that.resolveBoundIdentifier(); return thisId.equals(thatId); } boolean freeIdentifierEqual(SyntaxSymbol that) { - Binding thisBinding = this.uncachedResolve(); - Binding thatBinding = that.uncachedResolve(); + Binding thisBinding = this.resolve(); + Binding thatBinding = that.resolve(); return thisBinding.sameTarget(thatBinding); }