//
//  EXPStatementBlockElement.m
//  dde
//
//  Created by ashley on 24/05/2008.
//  Copyright 2008 __MyCompanyName__. All rights reserved.
//

#import "EXPStatementBlockElement.h"
#import "EXPModel.h"
#import "EXPError.h"
#import "EXPParser.h"

@implementation EXPStatementBlockElement

/* - (id) init
{
	if ((self=[super init])!=nil) {
		_hasStatements = NO;
	}
	return self;
} */

- (void) addStatement:(id)statement error:(id)error
{
	[super addStatement:statement error:error];
	[self setHasStatements:YES];
}
- (void) addVariable:(id)variable error:(id)error
{
	NSString *message = [[NSString alloc] initWithFormat:@"Cannot add %@ to Statement Block", [variable name]];
	[error addError:message atLine:-999999];
	[message release];
}

- (void) addParameter:(id)parameter error:(id)error
{
	[[self enclosingBlock] addParameter:parameter error:error];
} 

- (void) addAuxiliary:(id)auxiliary error:(id)error
{
	[[self enclosingBlock] addAuxiliary:auxiliary error:error];
} 

- (void) addTable:(id)table error:(id)error
{
	NSString *message = [[NSString alloc] initWithFormat:@"Cannot add %@ to Statement Block", [table name]];
	[error addError:message atLine:-999999];
	[message release];
}

- (void) addSwitch:(id)swtch error:(id)error
{
	NSString *message = [[NSString alloc] initWithFormat:@"Cannot add outputter to Statement Block", [swtch name]];
	[error addError:message atLine:-999999];
	[message release];
}

- (void) addOutputter:(id)outputter error:(id)error
{
	NSString *message = [[NSString alloc] initWithFormat:@"Cannot add outputter to Statement Block"];
	[error addError:message atLine:-999999];
	[message release];
}

- (void) addDimension:(id)dimension error:(id)error
{
	[[self enclosingBlock] addDimension:dimension error:error];
}

- (void) addInitialiser:(id)initialiser error:(id)error
{
	[[self statements] addObject:initialiser];
}

@end