Commit 9455a85d authored by Daniel Honsel's avatar Daniel Honsel
Browse files

use BaseTemplate as ReferencedValue

parent fbe4059f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1052,7 +1052,8 @@ ReferencedValue:
	ref=[RefValue|IDENTIFIER] fieldRefs+=ExtendedFieldReference*;

RefValue:
	SingleConstDef | ModuleParameter | SingleVarInstance | FieldReference | FormalTemplatePar | SingleTempVarInstance;
	SingleConstDef | ModuleParameter | SingleVarInstance | FieldReference | FormalTemplatePar | SingleTempVarInstance |
	BaseTemplate;

	// IDENTIFIER omitted
PredefinedValue:
+2 −0
Original line number Diff line number Diff line
@@ -262,6 +262,8 @@ class TTCN3ScopeProvider extends AbstractDeclarativeScopeProvider {
				if (variable != null && variable.type.ref != null) {
					variable.type.ref.scopeReferencedFields(list)
				}
			} else if (type instanceof BaseTemplate) {
				
			}
		} else {
			val parent = value.fieldRefs.get(idx - 1)
+11 −11
Original line number Diff line number Diff line
@@ -143,17 +143,17 @@ class TTCN3Validator extends AbstractTTCN3Validator {
		}
	}

	@Check
	def checkTypeNames(BaseTemplate template) {
		val module = template.findDesiredParent(typeof(TTCN3Module)) as TTCN3Module

		if (module.defs.checkNameClashModuleDefinitionsList(template, template.name)) {
			error('Name clash with another variable definition in this scope!',
				TTCN3Package.eINSTANCE.baseTemplate_Name);
			return;
		}
	}

	// not required since BaseTemplate is a RefValue
	//	@Check
	//	def checkTypeNames(BaseTemplate template) {
	//		val module = template.findDesiredParent(typeof(TTCN3Module)) as TTCN3Module
	//
	//		if (module.defs.checkNameClashModuleDefinitionsList(template, template.name)) {
	//			error('Name clash with another variable definition in this scope!',
	//				TTCN3Package.eINSTANCE.baseTemplate_Name);
	//			return;
	//		}
	//	}
	@Check
	def checkTypeNames(SignatureDef sig) {
		val module = sig.findDesiredParent(typeof(TTCN3Module)) as TTCN3Module