diff --git a/TreeConverter/SymbolTable/DSST/SymbolTable.cs b/TreeConverter/SymbolTable/DSST/SymbolTable.cs index 6c7520056..1e8b507a2 100644 --- a/TreeConverter/SymbolTable/DSST/SymbolTable.cs +++ b/TreeConverter/SymbolTable/DSST/SymbolTable.cs @@ -394,22 +394,22 @@ namespace SymbolTable _instance_type = instance_type; } - public override SymbolInfo Find(string name) + public override SymbolInfoList Find(string name) { return _instance_type.ConvertSymbolInfo(_orig_scope.Find(name)); } - public override SymbolInfo Find(string name, Scope CurrentScope) + public override SymbolInfoList Find(string name, Scope CurrentScope) { return _instance_type.ConvertSymbolInfo(_orig_scope.Find(name, CurrentScope)); } - public override SymbolInfo FindOnlyInScope(string name) + public override SymbolInfoList FindOnlyInScope(string name) { return _instance_type.ConvertSymbolInfo(_orig_scope.FindOnlyInScope(name)); } - public override SymbolInfo FindOnlyInScopeAndBlocks(string name) + public override SymbolInfoList FindOnlyInScopeAndBlocks(string name) { return _instance_type.ConvertSymbolInfo(_orig_scope.FindOnlyInScopeAndBlocks(name)); } diff --git a/TreeConverter/TreeConversion/syntax_tree_visitor.cs b/TreeConverter/TreeConversion/syntax_tree_visitor.cs index d7b011e64..09d6d6e77 100644 --- a/TreeConverter/TreeConversion/syntax_tree_visitor.cs +++ b/TreeConverter/TreeConversion/syntax_tree_visitor.cs @@ -8253,6 +8253,8 @@ namespace PascalABCCompiler.TreeConverter if (expr is typed_expression) expr = convert_typed_expression_to_function_call(expr as typed_expression); if (expr != null) { + if (expr.type is generic_instance_type_node) + AddError(get_location(s_expr), "UNEXPECTED_EXPRESSION_IN_WITH"); variable_reference vr = expr as variable_reference; if (expr.type == null) AddError(get_location(s_expr), "UNEXPECTED_EXPRESSION_IN_WITH"); diff --git a/TreeConverter/TreeRealization/generics.cs b/TreeConverter/TreeRealization/generics.cs index 455e93893..d024a0e20 100644 --- a/TreeConverter/TreeRealization/generics.cs +++ b/TreeConverter/TreeRealization/generics.cs @@ -1349,13 +1349,11 @@ namespace PascalABCCompiler.TreeRealization protected type_node _original_generic; - //public SymbolTable.GenericTypeInstanceScope _scope; - public override SymbolTable.Scope Scope { get { - return original_generic.Scope;//_scope; + return _original_generic.Scope; } }