From 72777733cdc50146b9a979af0a2687d86515a849 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Wed, 30 Nov 2011 02:48:20 +0400 Subject: [PATCH] validate field names in JetScope (field name must start with dollar sign) --- .../jet/lang/resolve/scopes/WritableScopeImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java index 37de89a17ca..ed1febfd63a 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/scopes/WritableScopeImpl.java @@ -299,11 +299,19 @@ public class WritableScopeImpl extends WritableScopeWithImports { @Override public void addPropertyDescriptorByFieldName(@NotNull String fieldName, @NotNull PropertyDescriptor propertyDescriptor) { + if (!fieldName.startsWith("$")) { + throw new IllegalStateException(); + } + getPropertyDescriptorsByFieldNames().put(fieldName, propertyDescriptor); } @Override public PropertyDescriptor getPropertyByFieldReference(@NotNull String fieldName) { + if (!fieldName.startsWith("$")) { + throw new IllegalStateException(); + } + PropertyDescriptor descriptor = getPropertyDescriptorsByFieldNames().get(fieldName); if (descriptor != null) return descriptor; return super.getPropertyByFieldReference(fieldName);