public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParamModifiers paramModifiers, Expression defaultValue)
 {
     this.typeReference = typeReference;
     this.parameterName = parameterName;
     this.paramModifiers = paramModifiers;
     this.attributes = attributes;
     this.defaultValue = defaultValue;
 }
Example #2
0
	void ParameterModifier(
#line  2708 "VBNET.ATG" 
ParamModifiers m) {
		if (la.kind == 56) {
			lexer.NextToken();

#line  2709 "VBNET.ATG" 
			m.Add(ParamModifier.ByVal); 
		} else if (la.kind == 54) {
			lexer.NextToken();

#line  2710 "VBNET.ATG" 
			m.Add(ParamModifier.ByRef); 
		} else if (la.kind == 138) {
			lexer.NextToken();

#line  2711 "VBNET.ATG" 
			m.Add(ParamModifier.Optional); 
		} else if (la.kind == 145) {
			lexer.NextToken();

#line  2712 "VBNET.ATG" 
			m.Add(ParamModifier.ParamArray); 
		} else SynErr(226);
	}
Example #3
0
	void FormalParameter(
#line  1971 "VBNET.ATG" 
out ParameterDeclarationExpression p) {

#line  1973 "VBNET.ATG" 
		TypeReference type = null;
		ParamModifiers mod = new ParamModifiers(this);
		Expression expr = null;
		p = null;
		ArrayList arrayModifiers = null;
		
		while (StartOf(26)) {
			ParameterModifier(
#line  1979 "VBNET.ATG" 
mod);
		}
		Identifier();

#line  1980 "VBNET.ATG" 
		string parameterName = t.val; 
		if (
#line  1981 "VBNET.ATG" 
IsRank()) {
			ArrayTypeModifiers(
#line  1981 "VBNET.ATG" 
out arrayModifiers);
		}
		if (la.kind == 49) {
			lexer.NextToken();
			TypeName(
#line  1982 "VBNET.ATG" 
out type);
		}

#line  1984 "VBNET.ATG" 
		if(type != null) {
		if (arrayModifiers != null) {
			if (type.RankSpecifier != null) {
				Error("array rank only allowed one time");
			} else {
				type.RankSpecifier = arrayModifiers;
			}
		}
		} else {
			type = new TypeReference("System.Object", arrayModifiers);
		}
		
		if (la.kind == 11) {
			lexer.NextToken();
			Expr(
#line  1996 "VBNET.ATG" 
out expr);
		}

#line  1998 "VBNET.ATG" 
		mod.Check();
		p = new ParameterDeclarationExpression(type, parameterName, mod, expr);
		
	}
 public ParameterDeclarationExpression(TypeReference typeReference, string parameterName, ParamModifiers paramModifiers)
 {
     this.typeReference  = typeReference;
     this.parameterName  = parameterName;
     this.paramModifiers = paramModifiers;
 }
 public void Add(ParamModifiers m)
 {
     Add(m.cur);
 }