소스 검색

filter invisible elements from scope, used by c pro

andreas muelder 7 년 전
부모
커밋
3c8780740e
1개의 변경된 파일5개의 추가작업 그리고 1개의 파일을 삭제
  1. 5 1
      plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextGlobalScopeProvider.java

+ 5 - 1
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/scoping/STextGlobalScopeProvider.java

@@ -39,6 +39,7 @@ import org.eclipse.xtext.scoping.impl.SimpleScope;
 import org.eclipse.xtext.util.IAcceptor;
 import org.eclipse.xtext.util.IResourceScopeCache;
 import org.yakindu.base.types.TypesPackage;
+import org.yakindu.base.types.resource.TypedResourceDescriptionStrategy;
 import org.yakindu.base.types.typesystem.ITypeSystem;
 import org.yakindu.sct.domain.extension.DomainRegistry;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
@@ -100,7 +101,10 @@ public class STextGlobalScopeProvider extends ImportUriGlobalScopeProvider {
 			}
 		});
 		result = filterAnnotations(reference, result);
-		return result;
+		return new FilteringScope(result, input -> {
+			String isVisible = input.getUserData(TypedResourceDescriptionStrategy.IS_VISIBLE_TYPE);
+			return isVisible == null || Boolean.valueOf(isVisible);
+		});
 	}
 
 	protected IScope filterAnnotations(EReference reference, IScope result) {