|
|
@@ -1,4 +1,5 @@
|
|
|
import { nodeObject } from '../tsl/TSLBase.js';
|
|
|
+import { error } from '../../utils.js';
|
|
|
import PropertyNode from './PropertyNode.js';
|
|
|
|
|
|
/**
|
|
|
@@ -35,6 +36,36 @@ class ParameterNode extends PropertyNode {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * Gets the type of a member variable in the parameter node.
|
|
|
+ *
|
|
|
+ * @param {NodeBuilder} builder - The node builder.
|
|
|
+ * @param {string} name - The name of the member variable.
|
|
|
+ * @returns {string}
|
|
|
+ */
|
|
|
+ getMemberType( builder, name ) {
|
|
|
+
|
|
|
+ const type = this.getNodeType( builder );
|
|
|
+ const struct = builder.getStructTypeNode( type );
|
|
|
+
|
|
|
+ let memberType;
|
|
|
+
|
|
|
+ if ( struct !== null ) {
|
|
|
+
|
|
|
+ memberType = struct.getMemberType( builder, name );
|
|
|
+
|
|
|
+ } else {
|
|
|
+
|
|
|
+ error( `TSL: Member "${ name }" not found in struct "${ type }".` );
|
|
|
+
|
|
|
+ memberType = 'float';
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return memberType;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
getHash() {
|
|
|
|
|
|
return this.uuid;
|