// add it to the current scope????
this.addSymbol('', true);
-
+ //print ( "Unconsumed Doc: " + token.toString())
//throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource();
}
-
+ // print ( "NEW COMMENT: " + token.toString())
var newDoc = new DocComment(token.data);
// it's a scope changer..
if (token.type == 'NAME') {
//print("TOK(ident)"+ token.toString());
-
-
-
-
-
+
if (/\.extend$/.test(token.data) &&
this.ts.lookTok(1).data == '(' &&
this.ts.lookTok(2).type == 'NAME' &&
}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
if (((this.ts.lookTok(1).data == ':' )|| (this.ts.lookTok(1).data == '=')) &&
(this.ts.lookTok(2).name == "FUNCTION")
) {
+ // this.ts.nextTok();
+ // this.ts.nextTok();
atype = 'FUNCTION';
}
false,
atype);
+ this.currentDoc = false;
+
+
}
//print ("NOT NAME");
- if (token.type == "STRN") {
+ if (token.type == "STRN") { // THIS WILL NOT HAPPEN HERE?!!?
if (this.currentDoc) {
this.addSymbol(token.data.substring(1,token.data.length-1),false,'OBJECT');
// really we only have to deal with object constructs and function calls that change the scope...
- if (token.name == 'FUNCTION') {
+ if (token.name == 'FUNCTION') {
//print("GOT FUNCTION");
// see if we have an unconsumed doc...
(this.ts.lookTok(-3).type = 'FUNCTION')
) {
//scopeName = this.ts.look(-3).data;
- this.ts.balanceN(Script.TOKlparen);
+ this.ts.balance("(");
token = this.ts.nextTok(); // should be {
scopeName = fixAlias(scopeName);
var fnScope = new Scope(this.braceNesting, scope, token.n, '$private$');
continue;
}
- if (token.data == '{') {
+ if (token.data == '}') {
if (this.currentDoc) {
addSymbol: function(lastIdent, appendIt, atype )
{
//print("Walker.addSymbol : " + lastIdent);
+ //print("Walker.curdoc: " + JSON.stringify(this.currentDoc, null,4));
/*if (!this.currentDoc.tags.length) {
}
s.push(lastIdent);
+ //print("FULLSCOPE: " + JSON.stringify(s));
+
+
var s = s.join('|').split('|');
- //print("Walker:ADDSymbol: " + s.join('|') );
+ //print("FULLSCOPE: " + s);
+ // print("Walker:ADDSymbol: " + s.join('|') );
var _t = '';
_s = '';
if (s[i].substring(0,6) == '$this$') {
var ts = s[i].split('=');
_t = ts[1];
+ _s = ''; // ??? VERY QUESTIONABLE!!!
continue;
}
// when to use $this$ (probabl for events)
_s += _s.length ? '.' : '';
_s += s[i];
}
-
+ //print("FULLSCOPE: s , t : " + _s +', ' + _t);
/// calc scope!!
//print("ADDING SYMBOL: "+ s.join('|') +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource()));
throw {
name: "ArgumentError",
message: "Trying to append symbol '" + _s + "', but no doc available\n" +
- token.toString()
+ this.ts.lookTok(0).toString()
};
// name: "ArgumentError",
// message:"DUPLICATE Symbol " + _s + "\n" + token.toString()
//};
-
+ return;
}
// otherwise existing comment has tags - overwrite..